ssmlly 发表于 2015-9-27 19:46

WinRAR非商业个人版 去广告 (字符串搜索破解实战)

本帖最后由 ssmlly 于 2015-9-27 19:52 编辑

关于WinRAR的非商业个人版,每次打开都会有广告弹出。

论坛上已经有针对rarreg.key和利用GetMessage函数API切入来爆破的教程了,这个教程是从字符串搜索切入实现无广告弹窗的。
思路比较简单,大牛勿喷。。

0x01查壳
虽然知道没有壳,但是还是要做做样子嘛



0x02载入OD查找所有参考文本字符串
在字符串搜索结果窗口中,右键->搜索->http


使用Ctrl+L搜索下一个,直到把所有http字符串搜索出来。从图中可以看到,一共有五处引用了URL,这个URL一看就是广告的网址

那么为了清楚调用流程,直接在这五个地方下断点。然后F9让程序跑起来。

0x03分析流程
不久后程序被断下,此时我们可以看到,WinRAR的主程序窗口已经出来了,但是广告窗口还没出来。至少说明下的断点是有意义的


往下看一点,发现有CreateWindowExW函数的调用。
那就F8单步过这个函数,看看结果如何。
奇怪,又被断下来了,仔细看看发现是在步骤2中设置的一个断点之一,说明CreateWindowExW函数执行过程中又call进了另一个函数
没事,那就Ctrl+F9执行到返回,多执行几次,发现终于返回了CreateWindowExW函数。(也可以在CreateWindowExW函数后一句直接下断点(也就是0049A897处),然后F9就好)

此时,发现新的广告窗口出来了。

证明此处就是弹出广告的代码段。那么接下来就找个方法跳过这一段代码。

0x4跳过广告弹窗代码
一直往上翻,找到段首,下断点,Ctrl+F2再F9重新跑程序



程序在段首被断下,这里F8单步看看有没有好用的跳转。(用鼠标一个个戳跳转指令,找能跳过步骤3中代码段的跳转)
这里找到了以下几处:


然后在这些跳转处下断点,看看流程是怎么走的。Ctrl+F2再F9重新跑程序,在原来的段首被断下,然后再F9,发现在地址0049A602处被断下,从OD来看,跳转没有实现。
那怎么行,当然要强行实现了!双击ZF标志位,把ZF位的值改成1,然后F9,这次没有出现广告窗口。
此时程序又在段首被断下了,说明这一段函数是被重用的,为了看看这一段代码到底被调用了多少次,对广告窗口有没有其他影响,于是再F9,发现又被断在地址0049A602处,但是注意这一次跳转是已经实现了的(即不会出现广告弹窗),那索性把这一句汇编成jmp


然后Alt+B打开断点窗口,把所有断点禁用掉。
F9运行程序,发现没有广告,且WinRAR可用。
到这里说明成功了,右键->复制到可执行文件->所有修改->全部复制->保存文件 即可

运行刚刚保存的文件,没有广告,整个世界都清净了


LYQingYe 发表于 2015-9-27 20:17

小菜在此学习了

zc123 发表于 2015-9-27 20:57

学习了很详细的教程

wakichen 发表于 2015-9-27 21:17

嗯教程不错啊

有何不可 发表于 2015-9-28 09:31


感谢分享 {:5_116:}

dy无名鐤 发表于 2017-10-19 01:24

对于我这样的菜鸟来说很详细的教程

别管我了行 发表于 2022-3-26 05:05

zg2600 发表于 2022-6-12 23:58

[吾爱汇编论坛52HB.COM]-楼主,你是一个大好人!!nice,谢谢,给力非常感谢逆向思路

Wayne 发表于 2022-6-13 08:39

凌夏随缘 发表于 2022-6-15 10:48

谢谢分享
页: [1] 2
查看完整版本: WinRAR非商业个人版 去广告 (字符串搜索逆向实战)