首页
社区
课程
招聘
[旧帖] [原创]一次简单的WINRAR的NAG去除 0.00雪花
发表于: 2007-12-17 19:26 5689

[旧帖] [原创]一次简单的WINRAR的NAG去除 0.00雪花

2007-12-17 19:26
5689
【破文标题】WINRAR的NAG去除
【破文作者】ysfeagle
【作者邮箱】************
【作者主页】************
【破解工具】PEID,OD
【破解平台】XP
【软件名称】WINRAR
【软件大小】***
【原版下载】***
【保护方式】
【软件简介】评估版
【破解声明】个人爱好,仅做技术交流,失误之处敬请诸位大侠赐教!
------------------------------------------------------------------------
【破解过程】大家好:
    我是ysfeagle,大家对WINRAR这个软件一定很是熟悉的,最近我在我的朋友那玩,由于要解压一些东西,所以就经常要用到WINRAR这个软件,可是我朋友装的是WINRAR(评估版本),没有注册的地方,当使用时间超过40天的话,就会跳出个对话框"请注意WINRAR不是一个免费软件,在40天的适用期结束后,你必须购买一个许可,或者将他从你的计算机中删除"
当我们关闭这个NAG框的话,软件照样能使用,可是每次打开都要跳出来,这让我真正的知道了什么叫NAG了,就一个字"烦"。。。。
    好了,今天我们就把这个去掉了,还是老规矩了,用PEID查壳,"Borland C++ 1999"看来是没有壳了,那我们就直接用OD载入,来到这里:
00401000 > /EB 10           jmp     short 00401012
00401002   |66:623A         bound   di, dword ptr [edx]
00401005   |43              inc     ebx
00401006   |2B2B            sub     ebp, dword ptr [ebx]
00401008   |48              dec     eax
00401009   |4F              dec     edi
0040100A   |4F              dec     edi
0040100B   |4B              dec     ebx
0040100C   |90              nop
0040100D  -|E9 C0214A00     jmp     008A31D2
00401012   \A1 B3214A00     mov     eax, dword ptr [4A21B3]
00401017    C1E0 02         shl     eax, 2
0040101A    A3 B7214A00     mov     dword ptr [4A21B7], eax
0040101F    52              push    edx
00401020    6A 00           push    0
00401022    E8 71070A00     call    <jmp.&KERNEL32.GetModuleHandleA>
别的先不管,它既然有提示,那我就先找字符串提示,结果让我大失所望,什么都没有找到,既然找不到提示那我们下API断点试下。呵呵,然后我就下了几个跟对话框有关的API断点,结果还是断不下来,很是郁闷的.......其实我们可以用别方法搞定的。
  当我们载入后,用F9让软件跑起来了,好了NAG框出现了,我们不点击"关闭"或者别的按钮,回到OD中,我们按F12,好了来到了这里:
7C92EB94 >  C3              retn
7C92EB95    8DA424 00000000 lea     esp, dword ptr [esp]
7C92EB9C    8D6424 00       lea     esp, dword ptr [esp]
7C92EBA0    90              nop
然后我们"ALT+K"来到了调用堆栈中,我们看到:
调用堆栈:     主线程
地址       堆栈       函数过程 / 参数                                                                 调用来自                      结构
0012C15C   77D19418   包含ntdll.KiFastSystemCallRet                                                     USER32.77D19416               0012C190
0012C160   77D2DBA8   USER32.WaitMessage                                                              USER32.77D2DBA3               0012C190
0012C194   77D2593F   USER32.77D2DA19                                                                 USER32.77D2593A               0012C190
0012C1BC   77D25981   USER32.77D25889                                                                 USER32.77D2597C               0012C1B8
0012C1DC   77D3B158   USER32.DialogBoxIndirectParamAorW                                               USER32.77D3B153               0012C1D8
0012C208   0043F957   <jmp.&USER32.DialogBoxParamA>                                                   WinRAR.0043F952               0012C204
0012C20C   00400000     hInst = 00400000
0012C210   004A6A2C     pTemplate = "REMINDER"
0012C214   00210232     hOwner = 00210232 ('J:\ - WinRAR (评估版本)',class='WinRarWindow')
0012C218   004835F4     DlgProc = WinRAR.004835F4
0012C21C   00000000     lParam = NULL
0012E5EC   77D18734   包含WinRAR.0043F957                                                               USER32.77D18731               0012E5E8
0012E618   77D18816   ? USER32.77D1870C                                                               USER32.77D18811               0012E614
0012E680   77D189CD   ? USER32.77D1875F                                                               USER32.77D189C8               0012E67C
0012E684   00000000     Arg1 = 00000000
0012E688   0043F178     Arg2 = 0043F178
0012E68C   00210232     Arg3 = 00210232
0012E690   00000113     Arg4 = 00000113
0012E694   0000000A     Arg5 = 0000000A
0012E698   00000000     Arg6 = 00000000
0012E69C   0078F2DC     Arg7 = 0078F2DC
0012E6A0   00000001     Arg8 = 00000001
0012E6E0   77D196C7   ? USER32.77D188F1                                                               USER32.77D196C2               0012E6DC
0012E6F0   004430CF   ? <jmp.&USER32.DispatchMessageA>                                                WinRAR.004430CA               0012E6EC
0012E6F4   0012E6F8     pMsg = WM_TIMER hw = 210232 ("J:\ - WinRAR (评估版本)") ID = A Callback = 0
0012E724   00442CDF   ? WinRAR.00442DF0                                                               WinRAR.00442CDA
然后我们在0012C208上双击就来到主线程中,到了这里:
0043F952    E8 79220600     call    <jmp.&USER32.DialogBoxParamA>
0043F957    803D 4C694A00 0>cmp     byte ptr [4A694C], 0
0043F95E    74 1C           je      short 0043F97C
0043F960    803D 10784C00 0>cmp     byte ptr [4C7810], 0
我们在0043F957 处F2下普通断点,然后F9运行到断点处,接着我们就一路F8直到RETN返回,我们会发现我们刚从一个CALL中出来,这个CALL就是调出那个NAG的CALL,呵呵,那我们就把这个CALL给NOP掉,下面还有一处的调用,我个人觉得是再次验证用的,呵呵那我们用同样的方法把它NOP掉,现在我们保存就可以了。
     我们打开软件来验证下,呵呵现在那个让人烦的NAG终于不见了~~ ^ _ ^
------------------------------------------------------------------------------------------
【破解总结】这次也没有什么技术含量,我想说的是,大家有时间多逛逛论坛,看看大牛们的文章,虽然我们现在有些可能不怎么理解,可是只要我们跟着学习,慢慢会理解的,技术也就会跟着提高的哦。呵呵~  ^ _^
------------------------------------------------------------------------------------------
【版权声明】本文为ysfeagle所做,仅做技术交流,若有任何纠纷与ysfeagle无关。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
楼主真高明!现在好多软件都很难下断点,真希望有更多的高手介绍下断点的诀窍!
2007-12-17 19:35
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
好方法,学习!
2007-12-17 19:42
0
雪    币: 590
活跃值: (177)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
4
对啊,有时用很多断点都无法断下来的哦~~~
2007-12-17 21:17
0
雪    币: 177
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
呵呵~~
难下断点还是我们对软件的理解不够~
呵呵
多逛逛论坛,看看大牛们的文章.慢慢提高自己~~呵呵
2007-12-19 19:04
0
游客
登录 | 注册 方可回帖
返回
//