首页
社区
课程
招聘
tElock 0.98 校验求助
发表于: 2004-10-4 13:52 4173

tElock 0.98 校验求助

2004-10-4 13:52
4173
tElock0.98利用了Drx进行解码,下面这段是唯一用到Drx的代码(因为在此前下硬件断点都会导致校验值检查失败,但在这之后就不会),但是我看不出它在那里计算了校验值,哪位兄弟分析过帮忙看一下 //bow

;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
0101007A    E8 00000000     CALL teNOTEPA.0101007F
0101007F    5D              POP EBP
01010080    8D45 46         LEA EAX,DWORD PTR SS:[EBP+46]
01010083    50              PUSH EAX				;SEH handler -> 10100C5
01010084    33C0            XOR EAX,EAX
01010086    64:FF30         PUSH DWORD PTR FS:[EAX]
01010089    64:8920         MOV DWORD PTR FS:[EAX],ESP
0101008C    CC              INT3				;INT 3 引发异常
0101008D    90              NOP
0101008E    8BC0            MOV EAX,EAX
01010090    F9              STC					; -> Dr3断点
01010091    90              NOP
01010092    8D045D 34120000 LEA EAX,DWORD PTR DS:[EBX*2+1234]
01010099    F8              CLC					; -> Dr2断点
0101009A    90              NOP
0101009B    C1EB 05         SHR EBX,5
0101009E    FC              CLD					; -> Dr1断点
0101009F    90              NOP
010100A0    C1C0 07         ROL EAX,7
010100A3    90              NOP					; -> Dr0断点
010100A4    90              NOP
010100A5    33DB            XOR EBX,EBX
010100A7    F7F3            DIV EBX				;除零异常
010100A9    64:67:8F06 0000 POP DWORD PTR FS:[0]
010100AF    83C4 04         ADD ESP,4				;恢复SEH链
010100B2    66:BE 4746      MOV SI,4647
010100B6    66:BF 4D4A      MOV DI,4A4D
010100BA    8A85 99000000   MOV AL,BYTE PTR SS:[EBP+99]
010100C0    E9 9C000000     JMP teNOTEPA.01010161

01010161    2C 04           SUB AL,4
01010163    8885 99000000   MOV BYTE PTR SS:[EBP+99],AL
01010169    8B95 AF1B0000   MOV EDX,DWORD PTR SS:[EBP+1BAF]	;取GetModuleHandleA的地址(OS装载的两个函数之一)
0101016F    81E2 0000FFFF   AND EDX,FFFF0000
01010175    8BC4            MOV EAX,ESP				;这里EAX的值被覆盖。。。
01010177    33E4            XOR ESP,ESP
01010179    8BE0            MOV ESP,EAX
0101017B    66:813A 4D5A    CMP WORD PTR DS:[EDX],5A4D		;开始扫描DOS MZ头部

;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
这里检查CRC

01011031    5F              POP EDI
01011032    F7D0            NOT EAX
01011034    3387 8ED34000   XOR EAX,DWORD PTR DS:[EDI+40D38E]
0101103A    35 6137E43C     XOR EAX,3CE43761
0101103F    3385 FED34000   XOR EAX,DWORD PTR SS:[EBP+40D3FE]
01011045    F7D0            NOT EAX
01011047    2B85 82D34000   SUB EAX,DWORD PTR SS:[EBP+40D382]
0101104D    61              POPAD
0101104E    0F85 27020000   JNZ teNOTEPA.0101127B		;这里跳了就说明CRC校验失败

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
heXer
2004-10-4 13:53
0
雪    币: 392
活跃值: (909)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
3
找到了,原来是Drx单步断点的次数,后面还有转移,真够隐蔽的说。。。
2004-10-4 14:36
0
雪    币: 266
活跃值: (269)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
4
nice:D
2004-10-4 14:45
0
游客
登录 | 注册 方可回帖
返回
//