Не, ты не понял, почитай ссылку на usecase, что я выше давал, там как-раз твой случай разбирается.
На пальцах: обычно прогу подписывают контрольной суммой CRC, ну типа цифровая подпись, PGP там и прочие RSA.
Так вот эту длиннючую строку выкладывают на страничку с прогой, мол сверяйте, если хакер Вася попытается подменить что-то в файле, то вы увидите разницу в хэшах и не станете запускать этот троян.
Но!! Васи пошли настолько умные, что они когда впихивают в прогу троян, они ещё и ломают веб-страничку и там меняют оригинал подписи на уже свою, захаченную! Ты понял эту фишку? И тут твой мезозой уже не спасает!
Да нет, это ты не понял. Уже давным давно есть способ сверять контрольные суммы, только никто этого не делает за бесплатно, а за платно и с кучей доп софта оно и дальше Нине нахуй не нужно. Ей бы одноклассники посерчить.
Вот сколько тут людей сверяло контрольную сумму кор кошелька битка или электрума? Я думаю, что не больше 10 человек за всю ветку. Хакеру даже подменять ничего не нужно. Это первый момент.
Второй момент, речь идет о модификации файлов. Как модифицируют файлы кошелька, так могут модифицировать и файлы проверяющей программы. Я кидал выше кусок кода уже. И менять return можно сколько угодно кому угодно.
Каково решение? Конечно же блокчейн, где уже нельзя что-то подделать, что туда попало - всё, оно уже immutable, записываем подпись туда и всё в ажуре.
Снова есть несколько проблем.
1) Сеть должна быть сильно защищенной и мотивированной, чтобы не было желания ее подделать. Отдавать маленьким проектам хеш от ядерной кнопки никто не будет, тем более с посом, да и зачем, когда все тоже самое можно сделать в блокчейне битка, например?
2) Если Нина скачивает софт со стороннего сайта, как это делает 99% Нин и Максимов, которые далеки от "уверенного пользователя ПК" из их же резюме, то где гарантия, что им не подсунут и другой хеш? Вот ты гуглишь "хеш от ядерной кнопки", а я сливаю все каскадные таблицы с оригинального сайта и кидаю рекламу в директ своего сайта. В итоге наш уверенный пользователь кликает по первой же ссылке, видит хеш и успокаивается. А хеши это даже не телефоны, это хуева туча бессмысленных символов, которые тяжело различимы на глаз. При этом я могу заморочиться и сгенерировать какое-то количество первых симвлов, совпадающих с оригиналом. И даже если исключить злонамеренное введение в ступор Нин, то дальше есть другая проблема: софт всегда обновляется, хеши меняются, а не все обновляют информацию на своем сайте. В итоге Нина заходит в интернет, а там 100 вариантов хеша: половина от разных версий, часть скамовых, часть перепечатаны с ошибками.
Поэтому здесь есть очень большая проблема, которая заключается в том, что создать софт и подсчитать его контрольную сумму плевое дело. Как эту информацию донести до каждого - вот это нетривиальная задача: ты кладешь ссылку в блокчейн, но тебе нужна ссылка на место в блокчейне - как ее защитить? Другой ссылкой? Тогда придется защищать еще одну ссылку. И так по кругу. Точнее даже не так. Зачем вообще сумму чего либо подсчитывать, если ты можешь дать гарантированно ссылку на верный софт? А дальше у тебя появляется проблема проверяющего - каждого проверяющего должен кто-то контролировать. Это рекурсия.
Я про это давно уже писал.