0
- 1
- 2
- 3
https://github.com/moscow-technologies/blockchain-voting/tree/voting2020/elec2020/ballot
https://github.com/moscow-technologies/blockchain-voting/blob/voting2020/elec2020/ballot/public/js/forms/mgik/LeavingPageCheckerInit.js
https://github.com/moscow-technologies/blockchain-voting/blob/voting2020/elec2020/frontend-library-source/crypto-lib/src/util/numberFromLeBytes.js
Как и всё в этой стране, обнуление написано на PHP, jQuery и (да-да) местами Rust, а управляется supervisord, ибо для редактирования юнитов systemd нужно sudo, который не дали.
Какой блокчейн )))
Запостил: Fike,
30 Июня 2020
Fike 30.06.2020 18:53 # +1
cообщают «Открытые медиа» https://openmedia.io/news/n3/eksperty-u-organizatorov-elektronnogo-golosovaniya-est-texnicheskaya-vozmozhnost-podtasovyvat-rezultaty/
https://github.com/moscow-technologies/blockchain-voting/blob/voting2020/elec2020/ballot/resources/views/election/show.tpl#L14-L16
какой секьюрити )))
Fike 30.06.2020 18:56 # +1
POST https://elec.2020og.ru/#complete
Cookie: laravel_session=abcdef123
ответ: HTTP/2 302 Found
location: https://elec.moscow/election/check/ длинная-длинная-цепочка-из-букв-и-цифр=
(на самом деле тут скрыт ваш номер бюллетеня, допустим, 777-ggg-aaa. Как проверить: вставить эту длинную цепочку на сайт https://www.base64decode.org/, раскодировать, потом взять из результата url и еще раз раскодировать. Нас наперстками не проведешь!)
phpBidlokoder2 30.06.2020 18:55 # 0
nemyx 30.06.2020 19:02 # 0
Именно поэтому я за «PHP».
Fike 30.06.2020 19:05 # 0
НЕ
ВЫ
НО
СИ
МО
Fike 30.06.2020 19:06 # 0
Fike 30.06.2020 19:07 # 0
а нахуй был нужен блокчейн без этой функции?
nemyx 30.06.2020 19:20 # 0
Fike 30.06.2020 19:26 # 0
nemyx 30.06.2020 20:12 # 0
Fike 30.06.2020 19:31 # 0
Анонимность уровня /dit.mos.ru/
bormand 30.06.2020 19:59 # +1
bormand 30.06.2020 20:17 # +1
И это неустранимый недостаток веба.
nemyx 30.06.2020 21:06 # 0
Fike 30.06.2020 22:06 # 0
bormand 30.06.2020 22:09 # +1
bormand 30.06.2020 22:15 # 0
MAKAKA 30.06.2020 23:10 # 0
тогда ванишд
я просто жопой прочитал
bormand 30.06.2020 23:18 # +1
И тебе нужны либо автономная хтмлка либо опенсурсная прога чтобы избавиться от влияния сервака и иметь возможность поревьючить код.
bormand 30.06.2020 23:21 # 0
Дык не анонимное то вообще тупо. Подписываешь свой голос смарткартой да кидаешь в урну.
Fike 30.06.2020 22:16 # 0
Например, блондинистый распиздяй может прийти и сказать, что он первый распиздяй, который сегодня голосует и получить бюллетень.
Рыжий распиздяй попробует так сказать, но бюллетень уже не получит, как и блондинистый не-распиздяй. Тогда он перейдет к следующему атрибуту, но если кроме "рыжий" и "распиздяй" у него есть третий атрибут, его всё еще невозможно идентифицировать.
bormand 30.06.2020 22:21 # 0
Fike 30.06.2020 22:28 # 0
Да, это позволит abc проголосовать сразу за двоих, но не все сразу же, я просто демонстрирую возможность нечеткой идентификации
bormand 30.06.2020 22:37 # 0
Ты генеришь уникальный ключ. Сервак проверяет твою личность и вслепую, не видя этого ключа, подписывает его (по сути там 2 слоя RSA).
Теперь ты просто ждёшь несколько часов, подписываешь свой голос этим ключом и отправляешь его на сервак.
gost 30.06.2020 22:38 # 0
bormand 30.06.2020 22:39 # 0
gost 30.06.2020 22:42 # 0
bormand 30.06.2020 22:42 # +1
З.Ы. Но это, наверное, уже никак не решить.
bormand 30.06.2020 22:59 # +1
А потом сервак публикует лог всех, кто получал "бюллетени". И если ты не голосовал, но внезапно нашёл в этом списке себя, то сервак в жопе - у него нет пруфа с твоей подписью.
Сервак с урной тоже публикует лог. Поэтому ты можешь проверить, что голосов в сумме не больше, чем получавших бюллетени. И можешь найти в этом логе свой голос и проверить его.
Чем больше народу сделает такие проверки - тем больше вероятность, что никто никого не наебал. Как-то так.
guest8 30.06.2020 23:29 # −999
bormand 30.06.2020 23:37 # 0
Поскольку голосование анонимное, ты кроме своего голоса или отказа ничего проверить не можешь.
guest8 30.06.2020 23:38 # −999
bormand 30.06.2020 23:40 # +1
Если ты голосовал, то ты можешь проверить, что твой голос учтён правильно.
Если тебе похуй - то за тебя могут приписать что угодно. И без твоей помощи никто это не проверит т.к. голосование анонимное.
guest8 30.06.2020 23:28 # −999
bormand 30.06.2020 23:35 # 0
Смарт-картой наверное. Других способов я не вижу. Смски и пароли - хуйня без неотрекаемости.
> запомнить
Дык алгоритм слепой подписи. Он не знает, какой именно ключ он подписал формируя твой бюллетень.
guest8 30.06.2020 23:37 # −999
gost 30.06.2020 23:41 # +1
bormand 30.06.2020 23:43 # 0
А в общем случае слепой подписи ты серваку кидаешь тыщу документов. И он просит дать ключи от 999 из них чтобы убедиться, что в них не хуйня. А потом вслепую подписывает оставшийся. Очень тяжёлый алгоритм, на самом деле.
guest8 30.06.2020 23:48 # −999
bormand 30.06.2020 23:59 # 0
Ну само собой "документ" - это не вордовский файл. Осмысленный документ вслепую не подписать.
Это скорее про какие-нибудь ключи, сертификаты и прочую криптографическую хуйню.
bormand 01.07.2020 00:17 # 0
Я серваку даю 100 рублей и мешок таких чеков. Он 999 из них вскрывает и убеждается, что там действительно написано "100 рублей". А последний вслепую подписывает.
Теперь я могу этот чек засунуть в какой-нибудь блокчейн для защиты от повторов и анонимно получить товар или услугу.
MAKAKA 01.07.2020 00:27 # 0
bormand 01.07.2020 01:52 # 0
MAKAKA 01.07.2020 02:26 # 0
Он не может его расшифровать.
Но он может запомнить этот набор байт.
Или он потом не сможет по нему расшифровать мой бюллитень?
MAKAKA 01.07.2020 03:05 # 0
мокака поняла
нужно зашифровать сообщение, и послать его на подпись, а затем убрать шифр.
Не самый простой для понимания прот
nblXOMAKAKA 01.07.2020 19:56 # 0
MAKAKA 01.07.2020 20:59 # 0
nblXOMAKAKA 01.07.2020 21:17 # 0
Desktop 25.07.2020 16:31 # 0
- в сову играл штоле?
jojaxon 02.07.2020 16:41 # 0
gost 02.07.2020 16:44 # +1
jojaxon 02.07.2020 16:45 # 0
bormand 02.07.2020 16:47 # +1
MAKAKA 02.07.2020 17:04 # +1
--Мне знакомый сервер сломал
--Хакер?
--Да нет, мудак..
nemyx 02.07.2020 17:19 # 0
XYPO3BO3 10.07.2020 01:50 # 0
«На один из форумов уже выложили базу паспортов (серия/номер) граждан, зарегистрировавшихся для участия в электронном голосовании по поправкам в Конституцию! Конверт в Cronos в свободном доступе», — написали авторы канала. Судя по опубликованному ими скриншоту, в файле также указан регион выдачи паспорта и сведения о том, был ли действителен документ в день голосования.
XYPO3BO3 10.07.2020 01:55 # 0
https://meduza.io/feature/2020/07/09/vlasti-fakticheski-vylozhili-v-otkrytyy-dostup-personalnye-dannye-vseh-internet-izbirateley
XYPO3BO3 10.07.2020 02:09 # 0
https://web.archive.org/web/20200701074010/checkvoter.gosuslugi.ru/degvoter.zip
Обратите внимание на домен.
jojaxon 10.07.2020 03:12 # 0
XYPO3BO3 10.07.2020 03:35 # 0
jojaxon 11.07.2020 18:48 # 0
У мну за три минуты hashcat на видюхе перебрал всё (60 MH/s).
gost 11.07.2020 18:51 # 0
guest8 11.07.2020 18:55 # −999
TEH3OPHblu_nemyx 11.07.2020 19:00 # 0
Офтопик. Почему нелегальные базы данных чаще всего распространяются в формате файловой СУБД «Cronos Plus»?
gost 11.07.2020 19:02 # 0
Подтверждаю этот оффтопик. Тоже удивлён, зачем использовать проприетарное тормозящее дерьмо вместо нормального «SQLite» или вообще «CSV».
guest8 11.07.2020 19:04 # −999
jojaxon 11.07.2020 19:39 # 0
bormand 11.07.2020 19:52 # 0
guest8 11.07.2020 19:55 # −999
TEH3OPHblu_nemyx 11.07.2020 19:59 # 0
guest8 11.07.2020 20:02 # −999
jojaxon 11.07.2020 20:03 # 0
gostinho 11.07.2020 19:54 # 0
jojaxon 11.07.2020 20:04 # 0
gostinho 11.07.2020 20:06 # 0
TEH3OPHblu_nemyx 13.07.2020 14:10 # 0
https://xss.is/threads/39453/
obnulenie.rar, ха-ха-ха.
TEH3OPHblu_nemyx 13.07.2020 14:14 # 0
https://github.com/occrp/cronosparser
TEH3OPHblu_nemyx 13.07.2020 14:26 # 0
https://xss.is/threads/39445/#post-241723
5 метров в архиве, 20 после распаковки.
1 190 720 записей.
Для скачивания нужна регистрация на форуме. Регистрация у меня заняла меньше минуты.
TEH3OPHblu_nemyx 13.07.2020 14:51 # 0
gostinho 13.07.2020 15:08 # 0
vistefan 13.07.2020 15:08 # 0
vistefan 13.07.2020 15:09 # 0
Стоит единица - воспользовался возможностью проголосовать
gostinho 13.07.2020 15:15 # 0
Если за/против - был бы пиздец.
vistefan 13.07.2020 15:33 # 0
Это стихийное говно произошло из-за того, что сначала всем было похуй, а потом друг оказалось, что пресса проводит эксперименты и пытается голосовать на разных участках и комбинировать дистанционное с реальным. Чтобы избежать такой возможности спровоцировать себя в СМИ, сделали базу тех, кто зарегистрировался на Эл. Голосование, чтобы на реальных участках смотреть, не голосовал ли уже человек, и имеет ли право.
gostinho 13.07.2020 15:35 # 0
vistefan 13.07.2020 15:39 # 0
guest8 13.07.2020 15:58 # −999
bormand 10.07.2020 08:10 # +1
Эм, а это точно база зареганных, а не вообще всех жителей?)
jojaxon 11.07.2020 06:56 # 0
TEH3OPHblu_nemyx 11.07.2020 10:00 # 0
guest8 11.07.2020 18:57 # −999
gostinho 11.07.2020 18:59 # 0
guest8 11.07.2020 19:15 # −999
bormand 11.07.2020 19:17 # 0
Голый номер паспорта никому не интересен так то. Без привязки к какой-то ещё инфе.
guest8 11.07.2020 19:19 # −999
TEH3OPHblu_nemyx 11.07.2020 19:24 # 0
guest8 10.07.2020 03:53 # −999
XYPO3BO3 10.07.2020 04:14 # 0
Разбери устройство CRT, тогда поймёшь.
Какой компилятор интересует? «MSVC»? Тогда у штатного линкера (link.exe) есть ключик /ENTRY:pituh, который назначает точкой входа метку pituh; ключик /NODEFAULTLIB игнорирует список библиотек по умолчанию. У cl.exe ключик /link передаёт аргументы линкеру.
По дефолту у «MSVC» точка входа нацелена на символ _mainCRTStartup, лежащий в crt0.obj или в crtexe.obj, который упакован в стандартную библиотеку. Можешь посмотреть, что эта функция обычно делает.
guest8 10.07.2020 04:53 # −999
XYPO3BO3 10.07.2020 04:29 # 0
https://docs.microsoft.com/ru-ru/cpp/build/reference/entry-entry-point-symbol?view=vs-2019
https://stackoverflow.com/questions/22934206/what-is-the-difference-between-main-and-maincrtstartup
С божественной сишечкой в принципе можно работать, но без argc, argv — их придётся доставать через API (GetCommandLine), без SEH.
С крестами будет жопа. Тебе придётся писать свою CRT.
guest8 10.07.2020 04:52 # −999
guest8 10.07.2020 04:57 # −999
TEH3OPHblu_nemyx 10.07.2020 05:17 # 0
Реальный пример точки входа из CRT (после препроцессирования, чтобы влезло в 2 к символов):
Да, именно отсюда зовётся main: А что происходит перед его вызовом, ты видишь.
guest8 10.07.2020 05:23 # −999
TEH3OPHblu_nemyx 10.07.2020 05:39 # 0
Кстати, код __security_init_cookie я нашёл. Там снимаются все подряд параметры системы и ксорятся друг с другом, чтобы получилась труднопредсказуемая питушня:
guest8 10.07.2020 05:48 # −999
TEH3OPHblu_nemyx 10.07.2020 05:51 # 0
Я показал фрагменты из какой-то древней студии, последнюю не копал.
TEH3OPHblu_nemyx 10.07.2020 07:14 # 0
Где ещё такое чудо, где ещё такой прогресс?
guest8 10.07.2020 12:51 # −999
bormand 10.07.2020 12:55 # +1
Ты можешь на основе текстового файла сгенерить сишку, расставить в ней #line со ссылками на исходный текстовик, и прекрасно дебажить его и бряки ставить.
guest8 10.07.2020 12:58 # −999
bormand 10.07.2020 12:58 # +1
MAKAKA 10.07.2020 12:59 # 0
Если я пишу на чистом си, то я как-то ожидаю в стандартной библиотеке тоже видеть только си, не?
bormand 10.07.2020 13:00 # +1
ABI соблюдается, сишные хедера тебе выдали. Остальное - деталь реализации, на которую всем пофиг.
TEH3OPHblu_nemyx 10.07.2020 13:30 # +1
TEH3OPHblu_nemyx 10.07.2020 05:50 # +1
Теперь будет работать быстрее.
bormand 10.07.2020 13:07 # 0
gostinho 10.07.2020 13:09 # 0
scanf подождёт непустого ввода
лучше буквы ввести
UPD: на ванишед ответил
bormand 10.07.2020 13:10 # 0
TEH3OPHblu_nemyx 10.07.2020 05:28 # 0
Там ещё есть тонкости, связанные с многопоточной и однопоточной версией, с отладочной и релизной, с гуёвой и соснольной, с уникодной и восьмибитной. Но примерно цепочка вызовов такая.
Думай, много или мало времени это может отнять.
guest8 10.07.2020 05:35 # −999
gostinho 10.07.2020 09:40 # 0
vistefan 10.07.2020 12:00 # 0
pitux time?
3.14159265 11.07.2020 12:52 # 0
bormand 10.07.2020 07:51 # +1
Для практических задач это не имеет смысла, имхо. Будешь потом жить без деления и т.п.У MS нет четкого разделения между CRT и либой поддержки конпелятора как в том же гцц. Хотя на 64-битке с этим наверное полегче будет чем на 32-битке.
bormand 10.07.2020 08:01 # +1
Причём конпелятор их сам юзает иногда чтобы структуры чистить. Или если цикл подходящий по смыслу увидит. Поэтому он может их позвать даже если их в коде явно нигде нет.
TEH3OPHblu_nemyx 10.07.2020 12:10 # 0
TEH3OPHblu_nemyx 10.07.2020 12:15 # 0
bormand 10.07.2020 12:22 # +1
А список особо и не нужен. Популярные довольно быстро понадобятся, а остальные скорее всего никогда.
TEH3OPHblu_nemyx 10.07.2020 12:27 # 0
Это мы предупреждаем компилятор, что будем реализовывать memset, чтобы он в рекурсию не свалился?
TEH3OPHblu_nemyx 10.07.2020 12:35 # 0
https://docs.microsoft.com/en-us/cpp/preprocessor/function-c-cpp?view=vs-2019
А заодно вот это:
https://docs.microsoft.com/en-us/cpp/preprocessor/intrinsic?view=vs-2019
TEH3OPHblu_nemyx 10.07.2020 15:40 # 0
И в «Шланге» по идее можно провернуть такой же трюк. А вот у прочих компиляторов («Борманд Си», «Ватком Си», «Цифровой Марс») библиотека монолитная, так что для её кастомизации придётся попердолиться.
bormand 10.07.2020 16:25 # 0
В гцц кстати у меня получалось даже поддержку исключений прикрутить. Она там неплохо отвязана от рантайма и прочей сишности.
TEH3OPHblu_nemyx 10.07.2020 12:09 # 0
guest8 10.07.2020 12:49 # −999
TEH3OPHblu_nemyx 10.07.2020 13:14 # 0
NickPepper 25.07.2020 17:40 # 0