0x00 WinRAR 简单介绍

WinRAR 是一款功能强大的压缩包管理器,它是档案工具 RAR 在 Windows 环境下的图形界面。该软件可用于备份数据,缩减电子邮件附件的大小,解压缩从 Internet 上下载的 RAR、ZIP 及其它类型文件,并且可以新建 RAR 及 ZIP 格式等的压缩类文件。官网地址:http://www.winrar.com.cn/

0x01 为何需要去除广告

我相信大多数人在使用 WinRAR 压缩软件时,会厌烦它弹出来的广告,虽然现在一些安全软件有截弹窗功能,比如火绒的拦截弹窗,但是作为一名即将成为逆向人员来说,去除广告也许是一个不错练手选择。在官网首页的幻灯片上也赤裸裸的显示出了广告字眼,如下:

听说英文版的也有广告,但是只出现一次,而中国代理后,却变成了每次运行时都会弹,时间久了就会让人感到反感:

本篇文章将会为大家去除软件中广告弹窗。

0x02 开始操刀

现在官网放出来的最新版本为 v5.7.0,下载 32 位版本到你的计算机安装好,这次是倒过来分析,因为我觉得倒过来分析更容易些,什么是倒过来分析呢?那就是当你双击运行后,等它弹出广告那个窗口后,我们点击关闭按钮,那么窗口就会销毁,在这一点可以抓住 DestroyWindow 这个 API 函数作为入口,其实这个灵感也是我突然想到,因为从正面创建窗口分析,相比销毁窗口分析更复杂些。

打开 OD,把软件拖进去,F9 运行起来,等广告窗口弹出后,按 Ctrl + G,输入 DestoryWindow 回车,F2 下断,再点击广告窗口的关闭按钮,发现在刚下的断点处断下来了,如下:

在这里,我们需要在堆栈窗口查看在哪调用了它,如下:

从上图可知是来自于 004A4E06,我们右键选择反汇编窗口跟随,如下:

因为我现在没有联网,所以打开时广告窗口显示导航已取消,找到这处后,先看下上下文,看有没有什么可疑的信息,在往上翻的时候,你会看到如下信息:

这个字符串是不是很熟悉,我们返回到软件的窗口,如下:

这样我们就对应上来了,说明分析这块区域是对的。往上继续翻,会发现另一条重要信息,如下:

在地址 004A4BC1 处调用了 CreateWindowExW 函数,那么可以猜测这个函数创建的窗口为广告窗口,继续往上翻,会发现有几处跳转,凡是跳转都不放过,如下:

从上图看出,第二个 JE 指令是不成立的,其它几个跳转指令并不影响下面的 CreateWindowExW 函数,跟踪下 JE 跳转指令后面的内容,会发现如果 JE 成立,那么它会跳过 CreateWindowExW 函数,所以这们需要让它跳,把 JE 改为 JMP,之前需要在前面处下断,改了之后,F9 运行,会发现程序跑起来了,并且也没弹出广告,功能也正常,那么最后只需要 Dump 出来就可以了。

0x03 总结

  • 找对分析方法可以提高工作效率
  • 在关键点地方附近的跳转指令需要特别留意

(本文完)

留言

⬆︎TOP