WinRAR分析

1样本概况

1.1 应用程序信息

应用程序名称:WinRAR 6.11.0

MD5值:F2BD2E3D8B7C7C8EEFA2B28E3280EDA3

SHA1值:DC2B378B27D1AFDE576F067B2B0DE27EC377A113

简单功能介绍:解压缩文件

1.2 分析环境及工具

系统环境:win7 32位

工具:Ollydbg、010Editor、Exeinfo、Spy++

1.3 分析目标

去掉弹窗广告

2.具体分析过程

2.1 分析过程

2.1.1 程序基本信息

使用Exeinfo查看程序的信息,发现其连接器是14.3,对应的应该是VS2022:

再看其导入表,判断其应该是一个SDK程序:

另外,为了后面分析方便,使用010Editor修改其基址为固定的

2.1.2 使用OD进行分析

    先运行程序,测试程序的运行步骤,发现其弹出主页面后,会马上弹出一个广告窗口:

    然后将程序拖入OD开始进行分析,因为会弹出窗口,所以Ctrl+G搜索创建窗口的函数:CreateWindowExA/W。然后都下断点,让程序跑起来:

    运行之后发现,在CreateWindowExW处一直在中断,然后我们看栈区域:

    发现其Class一直在变,我们猜测是在创建程序主页面的各个窗口,我们使用Spy++查看主程序的各个窗口类名,发现能够对的上,说明猜测正确。

因此,我们要想去掉弹窗广告,就需要找到弹出广告窗口的位置,可以使用Spy++,先查看其窗口类名:

发现其窗口类名是:RarReminder, 然后继续运行程序,同时观察栈区对应的窗口类名,就能找到关键位置:

当栈区的窗口类名也是RarReminder时,说明将要创建该窗口,我们看K窗口中的栈回溯:

找到创建弹窗的函数后,我们发现调用函数的上面有一个网站,猜测其可能是广告的网址,经过验证确定其实弹出广告的网址。又在下面发现push的窗口类名的参数是:RarReminder,单步调试之后,确定0x004C4E4E调用的函数就是弹出广告的函数。要想去掉广告 ,我们可以跳过该函数调用,跳到该函数的下一行:

修改完之后,右键保存修改,运行程序,发现果然没有了弹窗,目标达成。

在找弹出窗口的函数时,我们知道窗口类名是RarReminder后,也可以尝试用插件搜索字符串,这里发现也能够找到关键地方:

3.总结

在该程序分析过程中,主要是需要找到弹出广告的函数,找到之后跳过就行了。下完窗口窗口的断点后,需要对栈区进行仔细观察。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值