首页
社区
课程
招聘
[旧帖] [求助]关于去除winrar注册nag的一点疑惑 0.00雪花
发表于: 2007-8-4 20:04 4458

[旧帖] [求助]关于去除winrar注册nag的一点疑惑 0.00雪花

2007-8-4 20:04
4458
一直都觉得winrar使用40天以后,每次运行弹出请注册的NAG窗口很烦人,一直想给去掉,晚上正好看到了看雪老师写的《加密与解密》中相关去除NAG的资料。就想照葫芦画瓢也自己试试^o^

实验环境:win2k sp2
实验对象:winrar 3.20
工具:peid,Resscope,w32Dasm,peditor,Uedit32,ollydbg 1.10
过程:先用peid查看,发现未加壳,用Resscope打开winrar.exe,找到dialog-->REMINDER,发现是Nag窗口的内容,用W32dasm打开winrar.exe,查找REMINDER发现两个地址0043EC9B和00442ABA,用OD载入,先到达0043EC9B代码如下
0043EC81   /7F 04            jg short WinRAR1.0043EC87
0043EC83   |85C0             test eax,eax
0043EC85   |7D 24            jge short WinRAR1.0043ECAB
0043EC87   \C605 40554900 01 mov byte ptr ds:[495540],1
0043EC8E    6A 00            push 0
0043EC90    68 A02A4400      push WinRAR1.00442AA0
0043EC95    FF35 A8D54A00    push dword ptr ds:[4AD5A8]
0043EC9B    68 AD5A4900      push WinRAR1.00495AAD

可以看见0043EC9B是从0043EC81跳过来的。于是用PEditor中的FLC算出虚拟地址0043EC81的十六进制偏移为0003E281,然后用Uedit32把7F改为7E,保存后退出,再运行winrar发现已不再弹出nag窗口。(用w32Dasm也可以看出实际偏移地址,而且OD也可以直接改,为了熟悉下Uedit32,所以画蛇添足了)

一开始我是想把7F 04改为90 00的,程序可以运行,但是程序运行后即将弹出NAG窗口的时候(也就是程序运行后3~5秒时)连续出现三个错误,程序自动结束。

研究的过程中暂时发现两个个问题。

第一个问题:查找REMINDER发现两个地址0043EC9B和00442ABA,用OD载入后一个地址00442ABA,代码如下
00442A96    33C0                 xor eax,eax
00442A98    5F                   pop edi
00442A99    5E                   pop esi
00442A9A    5B                   pop ebx
00442A9B    5D                   pop ebp
00442A9C    C2 1000              retn 10
00442A9F    90                   nop
00442AA0    55                   push ebp
00442AA1    8BEC                 mov ebp,esp
00442AA3    81C4 00FCFFFF        add esp,-400
00442AA9    53                   push ebx
00442AAA    56                   push esi
00442AAB    57                   push edi
00442AAC    8B7D 08              mov edi,dword ptr ss:[ebp+8]
00442AAF    8B75 10              mov esi,dword ptr ss:[ebp+10]
00442AB2    8B5D 0C              mov ebx,dword ptr ss:[ebp+C]
00442AB5    8BCE                 mov ecx,esi
00442AB7    FF75 14              push dword ptr ss:[ebp+14]
00442ABA    68 AD5A4900          push WinRAR1.00495AAD
因为没有发现跳过这个地址的跳转,于是也就没做相关改动,只改了第一处的地址,从结果来看,好象也成功了。这就是我不明白的地方,相关的地址有两处,我只改了一处,为什么结果会成功?

第二个问题:为什么我把0043EC81处的跳转给nop掉之后程序出错?

因为本人刚接触这方面,所以非常多的方面都不懂,还停留在nop,jmp方面,还请大家帮帮忙指点一下,谢谢大家了。

感谢你能读完这篇烂文,菜鸟刚起步,大家帮帮忙:-)

大家都把自己的方法说了,我也会再研究一下.谢谢大家

但是我两个问题大家能帮忙看一下吗?谢谢

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
请大家指点一下,谢谢拉
2007-8-5 14:03
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我记得我是用eXeScope把那个窗口隐藏掉就完了。
2007-8-5 14:49
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
4
哈哈除去WinRAR的NAG窗口我也搞过,因为这个确实是太烦人了,我使用的工具是Ollydbg,开始我一直想在ShowWindow函数下断,然后搞掉,后来一想,主窗体出来的时候也会调用ShowWindow,后来我一想,这个Nag应该是程序启动后定时出现的,于是在SetTimer上下断,果然一运行就断下了,然后直接把这个SetTimerNOP掉,保存,测试,成功!
2007-8-5 16:01
0
雪    币: 200
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
5
哈哈除去WinRAR的NAG窗口我也搞过,因为这个确实是太烦人了,我使用的工具是Ollydbg,开始我一直想在ShowWindow函数下断,然后搞掉,后来一想,主窗体出来的时候也会调用ShowWindow,后来我一想,这个Nag应该是程序启动后定时出现的,于是在SetTimer上下断,果然一运行就断下了,然后直接把这个SetTimerNOP掉,保存,测试,成功!
2007-8-5 16:01
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
大家帮帮忙噻
2007-8-7 20:32
0
游客
登录 | 注册 方可回帖
返回
//