好友
阅读权限10
听众
最后登录1970-1-1
|
西氏
发表于 2009-9-16 22:25
本帖最后由 西氏 于 2009-9-16 23:03 编辑
【文章标题】: neu21去除nag调试经过
【文章作者】: 西氏
【软件名称】: nag
【下载地址】: http://www.52pojie.cn/thread-32306-1-1.html
【作者声明】: 没技术含量,高手飘过
--------------------------------------------------------------------------------
【详细过程】
因为要去自校验,偶搞不定。所以只能制作个补丁。。(没技术含量,高手飘过)
首先od载入
005EB570 > 60 pushad
005EB571 BE 00105500 mov esi,Nag.00551000 //esp定律
005EB576 8DBE 0000EBFF lea edi,dword ptr ds:[esi+FFEB0000]
005EB57C C787 A4401A00 C>mov dword ptr ds:[edi+1A40A4],6E831ECE
005EB586 57 push edi
005EB587 89E5 mov ebp,esp
005EB589 8D9C24 80C1FFFF lea ebx,dword ptr ss:[esp-3E80]
005EB590 31C0 xor eax,eax
005EB592 50 push eax
到这
005EC10A 39C4 CMP ESP,EAX
005EC10C ^ 75 FA JNZ SHORT 005EC108
005EC10E 83EC 80 SUB ESP,-80
005EC111 ^ E9 5A8BFBFF JMP 005A4C70 //跳回oep
005EC116 0000 ADD BYTE PTR DS:[EAX],AL
005EC118 30C1 XOR CL,AL
005EC11A 5E POP ESI
005EC11B 0044C1 5E ADD BYTE PTR DS:[ECX+EAX*8+5E],AL
005EC11F 00A450 5A000000 ADD BYTE PTR DS:[EAX+EDX*2+5A],AH
005EC126 0000 ADD BYTE PTR DS:[EAX],AL
到这
005A4C70 55 PUSH EBP //oep在这
005A4C71 8BEC MOV EBP,ESP
005A4C73 83C4 F0 ADD ESP,-10
005A4C76 B8 F0465A00 MOV EAX,005A46F0
005A4C7B E8 E828E6FF CALL 00407568 ; 长call
005A4C80 E8 CFA5ECFF CALL 0046F254
005A4C85 A1 641A5B00 MOV EAX,DWORD PTR DS:[5B1A64]
f8
005A4CB4 E8 2B9FFBFF CALL 0055EBE4
005A4CB9 EB 51 JMP SHORT 005A4D0C
005A4CBB A1 241C5B00 MOV EAX,DWORD PTR DS:[5B1C24]
005A4CC0 8B00 MOV EAX,DWORD PTR DS:[EAX]
005A4CC2 E8 1980ECFF CALL 0046CCE0 ; 长call
005A4CC7 8B0D 88195B00 MOV ECX,DWORD PTR DS:[5B1988] ; Nag.005B4424
005A4CCD A1 241C5B00 MOV EAX,DWORD PTR DS:[5B1C24]
005A4CD2 8B00 MOV EAX,DWORD PTR DS:[EAX]
005A4CD4 8B15 1C9F5400 MOV EDX,DWORD PTR DS:[549F1C] ; Nag.00549F68
005A4CDA E8 1980ECFF CALL 0046CCF8 ; 运行出窗口 ////所以这里f7个进入
005A4CDF A1 241C5B00 MOV EAX,DWORD PTR DS:[5B1C24]
005A4CE4 8B00 MOV EAX,DWORD PTR DS:[EAX]
005A4CE6 E8 8D80ECFF CALL 0046CD78 ; 运行程序
005A4CEB A1 641A5B00 MOV EAX,DWORD PTR DS:[5B1A64]
005A4CF0 8038 00 CMP BYTE PTR DS:[EAX],0
f7来到这里
0046CCF8 55 PUSH EBP
0046CCF9 8BEC MOV EBP,ESP
0046CCFB 51 PUSH ECX
0046CCFC 53 PUSH EBX
0046CCFD 56 PUSH ESI
0046CCFE 57 PUSH EDI
0046CCFF 894D FC MOV DWORD PTR SS:[EBP-4],ECX
0046CD02 8BDA MOV EBX,EDX
0046CD04 8BF0 MOV ESI,EAX
0046CD06 8BC3 MOV EAX,EBX
0046CD08 FF50 F4 CALL DWORD PTR DS:[EAX-C]
0046CD0B 8BD8 MOV EBX,EAX
0046CD0D 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0046CD10 8918 MOV DWORD PTR DS:[EAX],EBX
0046CD12 33C0 XOR EAX,EAX
0046CD14 55 PUSH EBP
0046CD15 68 36CD4600 PUSH 0046CD36
0046CD1A 64:FF30 PUSH DWORD PTR FS:[EAX]
0046CD1D 64:8920 MOV DWORD PTR FS:[EAX],ESP
0046CD20 8BCE MOV ECX,ESI
0046CD22 83CA FF OR EDX,FFFFFFFF
0046CD25 8BC3 MOV EAX,EBX
0046CD27 8B38 MOV EDI,DWORD PTR DS:[EAX]
0046CD29 FF57 2C CALL DWORD PTR DS:[EDI+2C] ; 出窗口///所以再次f7
来到这里
004652BC 55 PUSH EBP
004652BD 8BEC MOV EBP,ESP
004652BF 81C4 ECFEFFFF ADD ESP,-114
004652C5 53 PUSH EBX
004652C6 33DB XOR EBX,EBX
004652C8 899D ECFEFFFF MOV DWORD PTR SS:[EBP-114],EBX
f8继续
0055F142 80B8 21030000 0>CMP BYTE PTR DS:[EAX+321],0
0055F149 74 19 JE SHORT 0055F164
0055F14B A1 AC0F5B00 MOV EAX,DWORD PTR DS:[5B0FAC]
0055F150 E8 D7A4F0FF CALL 0046962C ; 出窗口//f7继续
0055F155 A1 AC0F5B00 MOV EAX,DWORD PTR DS:[5B0FAC]
0055F15A 8B10 MOV EDX,DWORD PTR DS:[EAX]
0055F15C FF92 88000000 CALL DWORD PTR DS:[EDX+88]
到这里
0046962C 53 PUSH EBX
0046962D 8BD8 MOV EBX,EAX
0046962F B2 01 MOV DL,1
00469631 8BC3 MOV EAX,EBX
00469633 E8 D8CAFFFF CALL 00466110 ; 出新框//f7继续
00469638 8BC3 MOV EAX,EBX
0046963A E8 F13AFEFF CALL 0044D130
0046963F 5B POP EBX
00469640 C3 RETN
00469641 8D40 00 LEA EAX,DWORD PTR DS:[EAX]
f7+f8到这
00466136 84DB TEST BL,BL
00466138 74 0C JE SHORT 00466146
0046613A 3A5E 57 CMP BL,BYTE PTR DS:[ESI+57]
0046613D 74 07 JE SHORT 00466146
0046613F 8BC6 MOV EAX,ESI
00466141 E8 02110000 CALL 00467248
00466146 8BD3 MOV EDX,EBX
00466148 8BC6 MOV EAX,ESI
0046614A E8 A16CFEFF CALL 0044CDF0 ; 出窗口 //f7
0046614F 5E POP ESI
00466150 5B POP EBX
00466151 C3 RETN
00466152 8BC0 MOV EAX,EAX
f7+f8到这
0044CE02 E8 0175FBFF CALL 00404308
0044CE07 885F 57 MOV BYTE PTR DS:[EDI+57],BL
0044CE0A 6A 00 PUSH 0
0044CE0C 33C9 XOR ECX,ECX
0044CE0E 8ACB MOV CL,BL
0044CE10 BA 0BB00000 MOV EDX,0B00B
0044CE15 8BC7 MOV EAX,EDI
0044CE17 E8 FC120000 CALL 0044E118 ; 出窗口//f7
0044CE1C 8BC7 MOV EAX,EDI
0044CE1E 66:BE D0FF MOV SI,0FFD0
0044CE22 E8 E174FBFF CALL 00404308
0044CE27 5F POP EDI
0044CE28 5E POP ESI
0044CE29 5B POP EBX
大家看到这里估计都烦了,所以我们从头来看一下。每个出窗口call的时候周围是不是可以跳过。。。
分析第一段是没有可以跳过的。所以在接下来再找。就会找到。。。
0055F142 80B8 21030000 0>CMP BYTE PTR DS:[EAX+321],0
0055F149 74 19 JE SHORT 0055F164 //把这个改成jne就行了。。
0055F14B A1 AC0F5B00 MOV EAX,DWORD PTR DS:[5B0FAC]
0055F150 E8 D7A4F0FF CALL 0046962C ; 出窗口//f7继续
0055F155 A1 AC0F5B00 MOV EAX,DWORD PTR DS:[5B0FAC]
0055F15A 8B10 MOV EDX,DWORD PTR DS:[EAX]
0055F15C FF92 88000000 CALL DWORD PTR DS:[EDX+88]
当然小黑冰的
00559095 /76 07 jbe short 0055909E
改JMP后 也可以。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于西氏, 转载请注明作者并保持文章的完整, 谢谢!
2009年09月16日 22:20:49 |
免费评分
-
查看全部评分
|