![](/img/smilies/icon_biggrin.gif)
Этот топик читают: Гость
Ответов: 108
Рейтинг: 14
|
|||
Появилась идея зделать проверку хешсуммы файла при запуске.Но проблема в том что когда записываешь значение в программу с которым она должня сверять только что вычесленную хешсумму - естественно хешсумма файла меняется
![]() |
|||
карма: 0 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
ЛЮБОЙ процесс можно завершить(кроме системного, а может и его процесс завершить можно). так что мониторинг не пройдет...
|
|||
карма: 10 |
|
Ответов: 108
Рейтинг: 14
|
|||
ну завершили процесс, программа посмотрела что процесса нет - запустила снова,даже если файл удалить,она его всёравно создаст и запустит
|
|||
карма: 0 |
|
Разработчик
Ответов: 26170
Рейтинг: 2127
|
|||
Assasin писал(а): кроме системного, а может и его процесс завершить можноНаш EnumProcess это умеет делать. Он может уничтожить любое приложение, даже системное |
|||
карма: 22 |
|
Ответов: 1161
Рейтинг: 160
|
|||
ebripsy писал(а): зделать проверку хешсуммы файла при запускепопробуй хеш приписать в конец, а при запуске приложения просто прочитать файл приложения уже без этого хеша |
|||
карма: 0 |
|
Ответов: 108
Рейтинг: 14
|
|||
так у меня exe программа.там сравнение если 1 (хешсумма,которая программа вычислила, онализировав сама себя) равно 2 (записаное в программу значение её же хеш суммы) - то всё ок. Но вот когда значение 2 записываешь в программу,при компиляции оно уже становится не действительным,т.к. реальная хешсумма меняется,соответственно программа сравнивать значения уже не будет.
|
|||
карма: 0 |
|
Ответов: 1161
Рейтинг: 160
|
|||
вычисляй хеш-сумму не все вместе, а только исполняемого кода без этого хеша
|
|||
карма: 0 |
|
Ответов: 108
Рейтинг: 14
|
|||
а не подскажите примерчик?
|
|||
карма: 0 |
|
Ответов: 1161
Рейтинг: 160
|
|||
вот что-то набросал, может поймешь
схемка получает хеш без последних 16 байт(в которых хранится записанный хеш) и читает сам хеш из этих последних байт code_13457.txt |
|||
карма: 0 |
| ||
файлы: 1 | code_13457.txt [1.8KB] [114] |
Ответов: 108
Рейтинг: 14
|
|||
спасибо,всё понятно. только я вот пока не придумал по какой схеме зделать,толи писать хэш в конец файла,который равен хешу всех предидущих данных и сравнивать при запуске эти значения, с другой стороны получается это очень легко вычеслить и подменить записаный хеш в программе.
|
|||
карма: 0 |
|
Ответов: 3851
Рейтинг: 159
|
|||
клади в конец файла не сам хэш, а его проксоренное (каждый байт) значение. Операция XOR хороша тем, что при аовторении, даёт исходное значение
|
|||
карма: 0 |
|
Ответов: 108
Рейтинг: 14
|
|||
почти разобрался.подскажите пример вычисления хешсуммы данных программы - 16 последних байт для записи туда этого значения
------------ Дoбавленo в 19.28: тоесть получается вот такая схема. вычесляется хеш программы - 16 последних байт,куда этот хеш записывается. при запуске постоянно идёт вычисления хеша и сравнение с тем значением что в последних 16 байтах.само значение при этом зашифрованно.вот тока в схеме не пойму как это зделать... ------------ Дoбавленo в 21.27: спасибо,всё зделал.схему выложу чуть позже |
|||
карма: 0 |
|
12