Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
2-1151645400
Тоха
2006-06-30 09:30
2006.07.16
Как переименовать директорию?


2-1150819251
Windows
2006-06-20 20:00
2006.07.16
Таймер в консоли


3-1147781026
p_evghenii
2006-05-16 16:03
2006.07.16
Помогите составить запрос


6-1142003887
viman
2006-03-10 18:18
2006.07.16
Winsock 2, Win98(WinME) и UDP, как отправить свой заголовок?


6-1142241569
Alex_Delphi
2006-03-13 12:19
2006.07.16
Кто нибуть может подсказать как отсканировать порты в сети




   Наверх