-
-
[旧帖]
[求助]关于PE文件校验和的问题,具体看代码如下
0.00雪花
-
发表于:
2012-8-17 17:38
1438
-
[旧帖] [求助]关于PE文件校验和的问题,具体看代码如下
0.00雪花
.386
.model flat,stdcall
option casemap:none
includewindows.inc
includeuser32.inc
includelibuser32.lib
includekernel32.inc
includelib kernel32.lib
CHECKSUM1 EQU 915Ch ;改动被保护代码的话,需要修改
.const
szCaption db '检测结果',0
szFound db '检测到调试器',0
szNotFound db '没有调试器',0
.code
start: jmp CodeEnd
CodeStart: mov eax,ecx ;被保护的程序段
nop
push eax
push ecx
pop ecx
pop eax
CodeEnd:
mov esi,CodeStart
mov ecx,CodeEnd - CodeStart
xor eax,eax
checksum_loop:
movzx ebx,byte ptr [esi]
add eax,ebx
rol eax,1
inc esi
loop checksum_loop;这个循环像是计算校验和的,但是他是什么算法呀,我没看懂。。。。
cmp eax,CHECKSUM1
jne debugger_found
invoke MessageBox,NULL,addr szNotFound,addr szCaption,MB_OK
jmp exit
debugger_found: invoke MessageBox,NULL,addr szFound,addr szCaption,MB_OK
exit:invokeExitProcess,NULL
endstart
在这段代码中,校验和为什么是915c呢?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课