WinRAR分析

2023-05-16

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.总结

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WinRAR分析 的相关文章

  • docker非root用户权限运行

    运行dokcer命令时需要使用sudo权限 xff0c 如果想要不是用sudo运行docker命令 xff0c 可参考官网教程 xff1a https docs docker com engine install linux postins
  • JS手写——实现Promise的最大并发数控制

    一 不使用Promise race 维护一个并发池pool xff0c 先将其填满 xff0c 然后每当其中的promise完成后添加新的promise xff0c 直到并发队列清空 lt DOCTYPE html gt lt html l
  • 嵌入式学习

    1 C 语言 第二版谭浩强 2 数据结构 C 语言版 3 实用 C 43 43 程序设计 4 学习 51 单片机 xff0c 加深对中断的理解 5 学习 ARM 单片机 1 细读 ARM 微控制器基础与实战 周立功编写 2 细读相关芯片的原

随机推荐