tony_liu518 发表于 2008-10-3 19:48:30

个人感觉改00401000    C3            retn最简单,详见附件

老海 发表于 2008-10-3 21:41:40

有几种方法破,没必要死守一种就可以随心所欲了。

thefire 发表于 2008-10-3 23:09:17

原帖由 goldharp 于 2008-10-3 17:44 发表 https://www.chinapyg.com/images/common/back.gif
/*40100C*/push 0 //这里把0改成1就ok了
这样也行,但能说下是什么意思吗?

yayazhi 发表于 2008-10-4 16:47:35

我也会了,呵呵:loveliness:

Nisy 发表于 2008-10-4 17:42:19

最好不要修改AIP哦 ~ 直接NOP掉API可能会出问题

简单的方法就是大家提示的retn掉NAG窗口的代码:

00401000    6A 00         PUSH 0                                 ; 将这行代码 retn掉就可以了
00401002    68 1E304000   PUSH CRACKME2.0040301E                   ; Nag
00401007    68 00304000   PUSH CRACKME2.00403000                   ; 这就是Nag窗口了\r\nCrack Me~!
0040100C    6A 00         PUSH 0
0040100E    E8 DB000000   CALL CRACKME2.004010EE                   ; JMP 到 USER32.MessageBoxA
00401013    C3            RETN


通过ASCII定位 也可以来去掉NAG:


0040103A   /EB 64         JMP SHORT CRACKME2.004010A0
0040103C   |817D 0C 1001000>CMP DWORD PTR SS:,110
00401043   |EB 32         JMP SHORT CRACKME2.00401077            ; 这里修改为JMP
00401045   |6A 67         PUSH 67
00401047   |FF35 24304000   PUSH DWORD PTR DS:               ; CRACKME2.00400000
0040104D   |E8 96000000   CALL CRACKME2.004010E8                   ; JMP 到 USER32.LoadIconA
00401052   |50            PUSH EAX
00401053   |6A 01         PUSH 1
00401055   |68 80000000   PUSH 80
0040105A   |FF75 08         PUSH DWORD PTR SS:                ; 启动时候下面这个CALL调用NAG
0040105D   |E8 92000000   CALL CRACKME2.004010F4                   ; JMP 到 USER32.SendMessageA
00401062   |E8 99FFFFFF   CALL CRACKME2.00401000
00401067   |B8 00000000   MOV EAX,0                              ; (Initial CPU selection)
0040106C   |59            POP ECX
0040106D   |5A            POP EDX
0040106E   |5E            POP ESI
0040106F   |5F            POP EDI
00401070   |5B            POP EBX
00401071   |C9            LEAVE
00401072   |C2 1000         RETN 10
00401075   |EB 29         JMP SHORT CRACKME2.004010A0
00401077   |817D 0C 1101000>CMP DWORD PTR SS:,111
0040107E   |75 20         JNZ SHORT CRACKME2.004010A0
00401080   |8B45 10         MOV EAX,DWORD PTR SS:
00401083   |25 FFFF0000   AND EAX,0FFFF
00401088   |83F8 66         CMP EAX,66
0040108B   |75 05         JNZ SHORT CRACKME2.00401092            ; 这里的跳转修改为 JMP
0040108D   |E8 6EFFFFFF   CALL CRACKME2.00401000                   ; 进入程序后 这里提示显示NAG
00401092   |B8 00000000   MOV EAX,0
00401097   |59            POP ECX
00401098   |5A            POP EDX
00401099   |5E            POP ESI
0040109A   |5F            POP EDI
0040109B   |5B            POP EBX
0040109C   |C9            LEAVE
0040109D   |C2 1000         RETN 10

dtkissme 发表于 2008-10-21 21:31:35

我也来学习一下。亲自搞一下看看。

1328558 发表于 2009-2-15 10:01:08

亲自搞一下看看

today1001 发表于 2009-2-17 21:05:59

我试了试最少有两种方法。一个分别改了他的调用,一种按楼上说的PUSH0 改成PUSH1也可以。

coolfire1983 发表于 2009-2-18 14:11:57

恩 学习了!

liuyun213 发表于 2009-2-26 21:29:27

00401000    6A 00         PUSH 0                                 ; 将这行代码 retn掉就可以了
00401002    68 1E304000   PUSH CRACKME2.0040301E                   ; Nag
00401007    68 00304000   PUSH CRACKME2.00403000                   ; 这就是Nag窗口了\r\nCrack Me~!
0040100C    6A 00         PUSH 0//改为 push 1
为什么100c改为push 1 也可以呢?
页: 1 [2] 3
查看完整版本: 去这个的nag