Сейчас на форуме: tyns777, zombi-vadim (+4 невидимых)

 eXeL@B —› Программирование —› пересчитать CheckSum в заголовке
Посл.ответ Сообщение

Ранг: 38.0 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 23 ноября 2007 01:33
· Личное сообщение · #1

ну вообще само значение поменять не проблема, меня больше интересует по какому алгоритму контрольная сумма считаеться, по форуму искал, но ссылки тока на ПеТулс и подобные!




Ранг: 111.1 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 23 ноября 2007 02:09
· Личное сообщение · #2

Попробуй протрейсить функу MapFileAndChecksumA из imagehlp.dll
или ChecksumMappedFileA оттуда же.

-----
The truth is out of there...




Ранг: 309.8 (мудрец), 21thx
Активность: 0.170
Статус: Участник

Создано: 23 ноября 2007 12:10
· Личное сообщение · #3

www.wasm.ru/article.php?article=green2red02

-----
Shalom ebanats!




Ранг: 38.0 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 23 ноября 2007 14:29
· Личное сообщение · #4

угу спасибо, вопрос решен!




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 24 ноября 2007 15:07 · Поправил: Jupiter
· Личное сообщение · #5


CalcFileSum Proc pFileBase:PDWORD,nFileSize:DWORD
push ebx
invoke ImagePeHeader,pFileBase
ifz @@Done
mov ebx,eax
mov edx,pFileBase
mov ecx,nFileSize
push ecx
shr ecx,1 ; Bytes to Words
xor eax,eax ; clear carry flag
cmp [ebx].IMAGE_NT_HEADERS.OptionalHeader.IMAGE_OPTIONAL_HEADER32.CheckSum,eax
je @F
mov [ebx].IMAGE_NT_HEADERS.OptionalHeader.IMAGE_OPTIONAL_HEADER32.CheckSum,eax
@@:
@@Next:
adc ax,[edx+(ecx*2)-2]
dec ecx
jnz @@Next
pop ecx
adc eax,ecx
@@Done:
pop ebx
ret
CalcFileSum EndP



P.S. при использовании TAB в коде слетает форматирование! поправьте пожалст. кто заведует развитием програмной частью форума

-----
EnJoy!




Ранг: 6.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 24 ноября 2007 15:50 · Поправил: Alexey Suda-Chen
· Личное сообщение · #6

-



Ранг: 6.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 24 ноября 2007 16:04 · Поправил: Alexey Suda-Chen
· Личное сообщение · #7

-


 eXeL@B —› Программирование —› пересчитать CheckSum в заголовке
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати