看了精华6那么多大侠的
SVKP 1.3x -> Pavol Cerven 脱壳文章
加了个记事本练手,把过程放上来,还有几个问题
忽略所有异常,OD载入
0040C000 > 60 PUSHAD //停在这里
0040C001 E8 00000000 CALL NotePad9.0040C006
0040C006 5D POP EBP
0040C007 81ED 06000000 SUB EBP,6
0040C00D EB 05 JMP SHORT NotePad9.0040C014
0040C00F B8 06364200 MOV EAX,423606
0040C014 64:A0 23000000 MOV AL,BYTE PTR FS:[23]
0040C01A EB 03 JMP SHORT NotePad9.0040C01F
0040C01C C784E8 84C0EB03>MOV DWORD PTR DS:[EAX+EBP*8+3EBC084],75E>
F9运行一次 停在 SVKP 1.3x典型异常处
0F55137F 6285 0E0B0000 BOUND EAX,QWORD PTR SS:[EBP+B0E] //停这里
0F551385 EB 02 JMP SHORT 0F551389
0F551387 0FE88B D1EB02CD PSUBSB MM1,QWORD PTR DS:[EBX+CD02EBD1]
0F55138E 208B C2EB02CD AND BYTE PTR DS:[EBX+CD02EBC2],CL
0F551394 208B 8A4F0800 AND BYTE PTR DS:[EBX+84F8A],CL
0F55139A 007C03 EB ADD BYTE PTR DS:[EBX+EAX-15],BH
0F55139E 0369 74 ADD EBP,DWORD PTR DS:[ECX+74]
0F5513A1 FB STI
0F5513A2 8B89 74010000 MOV ECX,DWORD PTR DS:[ECX+174]
0F5513A8 E8 01000000 CALL 0F5513AE
ALT+M
才 CODE"代码"下F2 SHIFT+F9 后
0F57B6B1 8A06 MOV AL,BYTE PTR DS:[ESI] //停在这里
0F57B6B3 46 INC ESI
0F57B6B4 47 INC EDI
0F57B6B5 8843 0F MOV BYTE PTR DS:[EBX+F],AL
0F57B6B8 8A46 FF MOV AL,BYTE PTR DS:[ESI-1]
0F57B6BB 55 PUSH EBP
0F57B6BC E8 00000000 CALL 0F57B6C1
0F57B6C1 5D POP EBP
0F57B6C2 81ED 0D470000 SUB EBP,470D
0F57B6C8 8A8D 50030000 MOV CL,BYTE PTR SS:[EBP+350]
0F57B6CE 5D POP EBP
0F57B6CF 32C1 XOR AL,CL
0F57B6D1 8847 FF MOV BYTE PTR DS:[EDI-1],AL
0F57B6D4 8BC5 MOV EAX,EBP
0F57B6D6 4D DEC EBP
0F57B6D7 85C0 TEST EAX,EAX
0F57B6D9 ^ 75 A4 JNZ SHORT 0F57B67F
0F57B6DB 33C0 XOR EAX,EAX
0F57B6DD 5D POP EBP
0F57B6DE 5F POP EDI
0F57B6DF 5E POP ESI
0F57B6E0 5B POP EBX
0F57B6E1 C2 1400 RETN 14
0F57B6E4 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
0F57B6E8 8B4C24 08 MOV ECX,DWORD PTR SS:[ESP+8]
0F57B6EC 8B5424 04 MOV EDX,DWORD PTR SS:[ESP+4]
0F57B6F0 50 PUSH EAX
0F57B6F1 51 PUSH ECX
0F57B6F2 52 PUSH EDX
0F57B6F3 E8 08000000 CALL 0F57B700
0F57B6F8 83C4 0C ADD ESP,0C
0F57B6FB 33C0 XOR EAX,EAX
0F57B6FD C2 0C00 RETN 0C //F4到这里
然后下硬件访问断点
hr 12ffa4 SHIFT+F9 运行
0F5B1D30 60 PUSHAD //第一次中断
0F5B1D31 E8 03000000 CALL 0F5B1D39
0F5B1D36 D2EB SHR BL,CL
0F5B1D38 0A58 EB OR BL,BYTE PTR DS:[EAX-15]
0F5B1D3B 0148 40 ADD DWORD PTR DS:[EAX+40],ECX
0F5B1D3E EB 01 JMP SHORT 0F5B1D41
0F5B1D40 35 FFE061E8 XOR EAX,E861E0FF
继续 SHIFT+F9 运行
0F5B1D44 E8 01000000 CALL 0F5B1D4A //第2次中断
0F5B1D49 E8 E8020000 CALL 0F5B2036
0F5B1D4E 00CD ADD CH,CL
0F5B1D50 2083 04240B83 AND BYTE PTR DS:[EBX+830B2404],AL
0F5B1D56 44 INC ESP
0F5B1D57 24 04 AND AL,4
0F5B1D59 13C3 ADC EAX,EBX
0F5B1D5B E9 E8020000 JMP 0F5B2048
0F5B1D60 00CD ADD CH,CL
0F5B1D62 2083 042408C3 AND BYTE PTR DS:[EBX+C3082404],AL
0F5B1D68 E8 E8320000 CALL 0F5B5055
0F5B1D6D 00C3 ADD BL,AL
0F5B1D6F EB 04 JMP SHORT 0F5B1D75
继续 SHIFT+F9 运行
0F5B1DEC E8 00000000 CALL 0F5B1DF1 //第3次
0F5B1DF1 5D POP EBP
0F5B1DF2 E8 02000000 CALL 0F5B1DF9
0F5B1DF7 CD 20 INT 20
0F5B1DF9 830424 08 ADD DWORD PTR SS:[ESP],8
0F5B1DFD C3 RETN
0F5B1DFE E8 83ED05EB CALL FA610B86
0F5B1E03 020F ADD CL,BYTE PTR DS:[EDI]
0F5B1E05 C7 ??? ; 未知命令
0F5B1E06 EB 02 JMP SHORT 0F5B1E0A
0F5B1E08 CD 20 INT 20
0F5B1E0A 0F31 RDTSC
0F5B1E0C E8 02000000 CALL 0F5B1E13
0F5B1E11 CD 20 INT 20
然后删除硬件访问断点`下模拟跟踪命令
tc ebp==12ffc0
004010C0 25 322E3264 AND EAX,64322E32
004010C5 0000 ADD BYTE PTR DS:[EAX],AL
004010C7 000D 0A000055 ADD BYTE PTR DS:[5500000A],CL
004010CD 8BEC MOV EBP,ESP
004010CF 83EC 44 SUB ESP,44 //停在这里
004010D2 56 PUSH ESI
004010D3 FF15 E4634000 CALL DWORD PTR DS:[4063E4]
004010D9 8BF0 MOV ESI,EAX
004010DB 8A00 MOV AL,BYTE PTR DS:[EAX]
004010DD 3C 22 CMP AL,22
004010DF 75 1B JNZ SHORT NotePad9.004010FC
004010E1 56 PUSH ESI
004010E2 FF15 F4644000 CALL DWORD PTR DS:[4064F4]
004010E8 8BF0 MOV ESI,EAX
打开LordPE
选择这个进程 纠正后 保存
:)
然后打开ImportREC 设置为“使用特权调试模式”(要不看不见进程 汗)
选择这个进程 OEP输入 10cc 点 “自动获取”提示“发现数据”点确定
点“获取输入表” 全部无效!用“追踪级别1”可以捕获大部分指针!
但是有3个指针无法修复。OK 开始问问题了
问题1 很多教程 都是用
SvkpIAT.dll的插件识别出GetVersionExA和GetModuleHandleA,然后最后一个就是ExitProcess了,我却一个都识别不出来?为什么?
问题2
最新魔兽皇冠外挂SVKP 1.3x - Pavol Cerven脱壳
原文链接:http://bbs.pediy.com/showthread.php?threadid=16462
中
ctrl+f搜索特征码
cmp dword ptr ds:[ebx],251097CC
和
SVKP 1.3x -> Pavol Cerven脱壳
原文链接:http://bbs.pediy.com/showthread.php?threadid=13950
ctrl+f搜索特征码
cmp dword ptr ds:[ebx],2D66B1C5
他们是通过搜索特征码的方式 跳过IAT处理的
后面的那些数字 是如何得来?因为不知道怎么得到 所以我一直被捆扰
就这2个问题
插件无法追踪 和 搜索特征玛后面数值如何得到
希望高人回答下 Thanks
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!