Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.16;
Скачать: CL | DM;

Вниз

Как проверить CRC своего же екзешника?   Найти похожие ветки 

 
leonidus ©   (2006-04-04 23:12) [0]

Люди помогите пожалуйста. Необходимо из программы проверить CRC своегоже экзешника. В инете нашел массу примеров расчета CRC  поэтому с этим проблем нет, но как поместить рассчитанную сумму в тело экзешника что бы при этом эта самая сумма не изменилась? Мне это нужно для того, что бы проверять не взломали ли мою программу. Где-то прочел что можно записать сумму в РЕ область файла и при подсчете ее не считать, но как это сделать ума не приложу.  Заранее большое спасибо за ответы.


 
balepa ©   (2006-04-05 08:44) [1]

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
Может поможет.

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


 
balepa ©   (2006-04-05 08:47) [2]

Вот еще ссылка (англ.):
http://www.nikse.dk/petxt.html


 
Kerk ©   (2006-04-05 14:41) [3]


> как поместить рассчитанную сумму в тело экзешника что бы
> при этом эта самая сумма не изменилась?

Забивать на время расчета место, где хранишь сумму, нулями.

> Где-то прочел что можно записать сумму в РЕ область файла
> и при подсчете ее не считать, но как это сделать ума не
> приложу.

В PE заголовке есть поле checksum, которое никто не использует. Можешь туда записать. Вариантов куча на самом деле.


 
Игорь Шевченко ©   (2006-04-05 14:42) [4]


> которое никто не использует


Это тебе, мягко говоря, кажется. Его использует загрузчик


 
Kerk ©   (2006-04-05 18:16) [5]

Игорь Шевченко ©   (05.04.06 14:42) [4]
Это тебе, мягко говоря, кажется. Его использует загрузчик


Именно поэтому это поле равно нулю практически у всех ехе?


 
Игорь Шевченко ©   (2006-04-05 18:26) [6]

Kerk ©   (05.04.06 18:16) [5]


> Именно поэтому это поле равно нулю практически у всех ехе?


А ты про какой Checksum говоришь ? :) Их два...


 
n0name   (2006-04-05 18:39) [7]


> А ты про какой Checksum говоришь ? :) Их два...

И загрузчик их игнорит оба(Win).


 
Игорь Шевченко ©   (2006-04-05 23:39) [8]

n0name   (05.04.06 18:39) [7]


> И загрузчик их игнорит оба(Win).


Ну да. А вызов LdrVerifyImageMatchesChecksum придумали для того, чтобы процессор чем-нибудь занять - все равно ему нечего делать.


 
n0name   (2006-04-06 11:49) [9]


> Ну да. А вызов LdrVerifyImageMatchesChecksum придумали для
> того, чтобы процессор чем-нибудь занять - все равно ему
> нечего делать.

Гм. Поправь если я не прав.
AFAIK LdrVerifyImageMatchesChecksum используется ImgHelp.dll, но никак не загрузчиком.


 
Игорь Шевченко ©   (2006-04-06 11:56) [10]

n0name   (06.04.06 11:49) [9]

Это зависит от версии Windows. В Vista, например, используется загрузчиком



Страницы: 1 вся ветка

Текущий архив: 2006.07.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
15-1150377136
syte_ser78
2006-06-15 17:12
2006.07.16
вдогонку о вопросе "как прогнать все переменные"


1-1149593869
tasha
2006-06-06 15:37
2006.07.16
WebBrowser


15-1150370597
Delphi basic
2006-06-15 15:23
2006.07.16
Delphi или PHP?


15-1150465092
AlexanderMS
2006-06-16 17:38
2006.07.16
Можно ли оптимизировать данный код?


15-1150695068
ЮЮ
2006-06-19 09:31
2006.07.16
Куда мои 10$ делись?