Главная страница
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.031 c
15-1150138873
JUS
2006-06-12 23:01
2006.07.16
Размещение игы в инете и её продажа


15-1150629645
Студент 06
2006-06-18 15:20
2006.07.16
Быть программистом...


11-1130397427
Dodfr
2005-10-27 11:17
2006.07.16
Bug in TStrList.IndexOfName


2-1151499993
medved_68
2006-06-28 17:06
2006.07.16
Посылка сообщения..... ПОДСКАЖИТЕ ПЛЗ!!!!!!


15-1150439189
Kerk
2006-06-16 10:26
2006.07.16
Придумайте мне русский синоним слова online