查看原文
其他

使用x64dbg+VS2015 Spy++去除广告弹框

2017-07-29 lipss 看雪学院

学 习 目 标

WinRAR5.40(64位)的弹框广告去除。由于我的系统为x64版本,所以安装了WinRAR(x64)版本。

OD无法调试64位的程序,可以让我熟悉x64dbg进行调试的界面。

其次是这玩意儿真是太蛋疼了,无休止弹广告。



破 解 思 路

1)偷梁换柱

修改汇编函数段首为返回值(本次逆向破解采用的方法)

2)NOP掉整个函数内容


涉 及 知 识

  • x64dbg工具快捷键与OD无异

  • F9:运行

  • bp CreateWindowExW:在x64dbg底部输入这行命令,对使用CreateWindowExW函数的位置断点。

  • CreateWindowExW:该函数创建一个层叠式窗口、弹出式窗口或子窗口。

参数:


实现流程


【软件名称】:WinRar

【软件版本】:5.4

【外壳保护】:无

【操作系统】:Windows 10

既然是弹出窗口,首先要知道弹窗窗口的窗口类名,我使用的是VS2015里自带的工具Spy++ x64。

图1 调出Spy++ x64


图2 使用Spy++64查看WinRAR弹出的窗口类名为RarReminder

通过上诉步骤得到WinRAR的类名为RarReminder后,使用x64dbg工具载入WinRAR.exe。在命令的地方使用断点命令【bp CreateWindowExW】,在CreateWindowEx函数断下断点。F9运行到各个断点时观察广告窗口弹出的状态变化。

图3 使用断点命令【bp CreateWindowExW】

F9运行到出现RarReminder字样的地方,x64dbg这款工具还具备查看断点触发的次数的功能,通过【断点】选项卡看到断点共触发了30次才到这里。

图4 断点触发的次数

在堆栈窗口在call指令的地方按回车键返回到用户层函数。


图5 堆栈窗口信息

返回到00007FF6780AD4E8这个地址处,向上看会看到“http://ad.winrar.com.cn/show_40.html?L=7&bl=7&v=540&a=64&src=wrr”这个很明显的广告地址。

汇编函数的代码如下:

可以看到:

函数头部地址为:00007FF6780AD078 | mov qword ptr ss:[rsp+8],rbx

函数尾部地址为:ret

修改之后,函数头部地址为:00007FF6780AD078 | ret


图6 修改函数头部反汇编指令

修改之后,鼠标右键选择补丁-修补文件。


图7 选择补丁


图8 修补文件

小功告成!再次打开rar弹窗广告已经消失了。可是评估版本字样还在,追求完美可以选择使用资源管理工具去除字样。

图9 去除弹窗

我使用了Restorator这款资源修改软件,不过使用这款软件的少侠们可就小心了。因为这款资源软件会自动修改.exe扩展名的关联,请切记在虚拟机下运行。


图10 导出资源文件.rc

导出资源文件.rc后,用notepad++打开.rc后缀的文件。修改【评估版本】为你想要修改的文字。然后再导入到资源中。操作比较简单,就不赘述了!

图11 大功告成!




本文由看雪论坛 lipss 原创,转载请注明来自看雪社区



热门阅读


点击阅读原文/read,还有更多干货等着你~


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存