![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как проверить CRC своего же екзешника?
leonidus © (2006-04-04 23:12:00)Люди помогите пожалуйста. Необходимо из программы проверить CRC своегоже экзешника. В инете нашел массу примеров расчета CRC поэтому с этим проблем нет, но как поместить рассчитанную сумму в тело экзешника что бы при этом эта самая сумма не изменилась? Мне это нужно для того, что бы проверять не взломали ли мою программу. Где-то прочел что можно записать сумму в РЕ область файла и при подсчете ее не считать, но как это сделать ума не приложу. Заранее большое спасибо за ответы.
Игорь Шевченко (2006-04-06 11:56:00) [1]n0name (06.04.06 11:49) [9]
Это зависит от версии Windows. В Vista, например, используется загрузчиком
n0name (2006-04-06 11:49:00) [2]
> Ну да. А вызов LdrVerifyImageMatchesChecksum придумали для
> того, чтобы процессор чем-нибудь занять - все равно ему
> нечего делать.
Гм. Поправь если я не прав.
AFAIK LdrVerifyImageMatchesChecksum используется ImgHelp.dll, но никак не загрузчиком.
Игорь Шевченко (2006-04-05 23:39:00) [3]n0name (05.04.06 18:39) [7]
> И загрузчик их игнорит оба(Win).
Ну да. А вызов LdrVerifyImageMatchesChecksum придумали для того, чтобы процессор чем-нибудь занять - все равно ему нечего делать.
n0name (2006-04-05 18:39:00) [4]
> А ты про какой Checksum говоришь ? :) Их два...
И загрузчик их игнорит оба(Win).
Игорь Шевченко (2006-04-05 18:26:00) [5]Kerk © (05.04.06 18:16) [5]
> Именно поэтому это поле равно нулю практически у всех ехе?
А ты про какой Checksum говоришь ? :) Их два...
Kerk (2006-04-05 18:16:00) [6]Игорь Шевченко © (05.04.06 14:42) [4]
Это тебе, мягко говоря, кажется. Его использует загрузчик
Именно поэтому это поле равно нулю практически у всех ехе?
Игорь Шевченко (2006-04-05 14:42:00) [7]
> которое никто не использует
Это тебе, мягко говоря, кажется. Его использует загрузчик
Kerk (2006-04-05 14:41:00) [8]
> как поместить рассчитанную сумму в тело экзешника что бы
> при этом эта самая сумма не изменилась?
Забивать на время расчета место, где хранишь сумму, нулями.
> Где-то прочел что можно записать сумму в РЕ область файла
> и при подсчете ее не считать, но как это сделать ума не
> приложу.
В PE заголовке есть поле checksum, которое никто не использует. Можешь туда записать. Вариантов куча на самом деле.
balepa (2006-04-05 08:47:00) [9]Вот еще ссылка (англ.):
http://www.nikse.dk/petxt.html
balepa (2006-04-05 08:44:00) [10]Microsoft Portable Executable and Common Object File Format Specification
http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/pecoff.doc
968 KB
Может поможет.
З.Ы.Сам не качал, не читал.