首页
社区
课程
招聘
[旧帖] [求助]关于PE文件校验和的问题,具体看代码如下 0.00雪花
发表于: 2012-8-17 17:38 1438

[旧帖] [求助]关于PE文件校验和的问题,具体看代码如下 0.00雪花

2012-8-17 17:38
1438
.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直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 622
活跃值: (294)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
2
算法只要能在一定范围内提供唯一性就行了,不一定非要用什么知命的算法。至于为什么是915C,那是因为它算出来的结果就是这个数字。
2012-8-17 17:53
0
游客
登录 | 注册 方可回帖
返回
//