Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как проверить 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
Может поможет.

З.Ы.Сам не качал, не читал.


Наверх

Титульная страница Поиск, карта сайта Написать письмо