西氏 发表于 2009-9-16 22:25

neu21去除nag调试经过

本帖最后由 西氏 于 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:
005EB57C    C787 A4401A00 C>mov dword ptr ds:,6E831ECE
005EB586    57            push edi
005EB587    89E5            mov ebp,esp
005EB589    8D9C24 80C1FFFF lea ebx,dword ptr ss:
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:,AL
005EC118    30C1            XOR CL,AL
005EC11A    5E            POP ESI
005EC11B    0044C1 5E       ADD BYTE PTR DS:,AL
005EC11F    00A450 5A000000 ADD BYTE PTR DS:,AH
005EC126    0000            ADD BYTE PTR DS:,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:

f8
005A4CB4    E8 2B9FFBFF   CALL 0055EBE4
005A4CB9    EB 51         JMP SHORT 005A4D0C
005A4CBB    A1 241C5B00   MOV EAX,DWORD PTR DS:
005A4CC0    8B00            MOV EAX,DWORD PTR DS:
005A4CC2    E8 1980ECFF   CALL 0046CCE0                            ; 长call
005A4CC7    8B0D 88195B00   MOV ECX,DWORD PTR DS:            ; Nag.005B4424
005A4CCD    A1 241C5B00   MOV EAX,DWORD PTR DS:
005A4CD2    8B00            MOV EAX,DWORD PTR DS:
005A4CD4    8B15 1C9F5400   MOV EDX,DWORD PTR DS:            ; Nag.00549F68
005A4CDA    E8 1980ECFF   CALL 0046CCF8                            ; 运行出窗口////所以这里f7个进入
005A4CDF    A1 241C5B00   MOV EAX,DWORD PTR DS:
005A4CE4    8B00            MOV EAX,DWORD PTR DS:
005A4CE6    E8 8D80ECFF   CALL 0046CD78                            ; 运行程序
005A4CEB    A1 641A5B00   MOV EAX,DWORD PTR DS:
005A4CF0    8038 00         CMP BYTE PTR DS:,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:,ECX
0046CD02    8BDA            MOV EBX,EDX
0046CD04    8BF0            MOV ESI,EAX
0046CD06    8BC3            MOV EAX,EBX
0046CD08    FF50 F4         CALL DWORD PTR DS:
0046CD0B    8BD8            MOV EBX,EAX
0046CD0D    8B45 FC         MOV EAX,DWORD PTR SS:
0046CD10    8918            MOV DWORD PTR DS:,EBX
0046CD12    33C0            XOR EAX,EAX
0046CD14    55            PUSH EBP
0046CD15    68 36CD4600   PUSH 0046CD36
0046CD1A    64:FF30         PUSH DWORD PTR FS:
0046CD1D    64:8920         MOV DWORD PTR FS:,ESP
0046CD20    8BCE            MOV ECX,ESI
0046CD22    83CA FF         OR EDX,FFFFFFFF
0046CD25    8BC3            MOV EAX,EBX
0046CD27    8B38            MOV EDI,DWORD PTR DS:
0046CD29    FF57 2C         CALL DWORD PTR DS:               ; 出窗口///所以再次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:,EBX

f8继续
0055F142    80B8 21030000 0>CMP BYTE PTR DS:,0
0055F149    74 19         JE SHORT 0055F164
0055F14B    A1 AC0F5B00   MOV EAX,DWORD PTR DS:
0055F150    E8 D7A4F0FF   CALL 0046962C                            ; 出窗口//f7继续
0055F155    A1 AC0F5B00   MOV EAX,DWORD PTR DS:
0055F15A    8B10            MOV EDX,DWORD PTR DS:
0055F15C    FF92 88000000   CALL DWORD PTR DS:
到这里
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:

f7+f8到这
00466136    84DB            TEST BL,BL
00466138    74 0C         JE SHORT 00466146
0046613A    3A5E 57         CMP BL,BYTE PTR DS:
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:,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:,0
0055F149    74 19         JE SHORT 0055F164                        //把这个改成jne就行了。。
0055F14B    A1 AC0F5B00   MOV EAX,DWORD PTR DS:
0055F150    E8 D7A4F0FF   CALL 0046962C                            ; 出窗口//f7继续
0055F155    A1 AC0F5B00   MOV EAX,DWORD PTR DS:
0055F15A    8B10            MOV EDX,DWORD PTR DS:
0055F15C    FF92 88000000   CALL DWORD PTR DS:


当然小黑冰的
00559095   /76 07         jbe   short 0055909E
改JMP后也可以。

--------------------------------------------------------------------------------
【版权声明】: 本文原创于西氏, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2009年09月16日 22:20:49

hp234591 发表于 2009-9-16 22:47

zapline 发表于 2009-9-16 22:58

不错

补充一下下载地址:http://www.52pojie.cn/redirect.php?tid=32306

西氏 发表于 2009-9-16 23:09

不错

补充一下下载地址:http://www.52pojie.cn/redirect.php?tid=32306
zapline 发表于 2009-9-16 22:58 http://www.52pojie.cn/images/common/back.gif
已添加,谢谢。

热火朝天 发表于 2009-9-17 18:01

:loveliness:进来学习一下

Hmily 发表于 2009-9-23 00:20

感谢分享分析经验!

西氏 发表于 2009-9-23 21:02

感谢分享分析经验!
Hmily 发表于 2009-9-23 00:20 http://www.52pojie.cn/images/common/back.gif
感觉分析的东西跟大家分享一下是个不错的事情,所以晒出来,谢谢大H的鼓励。
页: [1]
查看完整版本: neu21去除nag调试经过