Android逆向调试|WinRAR个人版去广告窗口和购买弹窗

欢迎点击「算法与编程之美」↑关注我们!

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

欢迎加入团队圈子!与作者面对面!直接点击!

1.前言

WinRAR是目前为止压缩软件“一哥”,但是个人用户对这款软件是又爱又恨,原因想必不用说大家也知道。对于个人用户而言,虽说WinRAR是压缩“一哥”但是软件自身的广告窗口和购买弹窗着实让人讨厌。

2.必备软件

X64dbgWinRAR

3.原理介绍

广告窗口通过调用函数“cratewindow”,购买弹窗通过调用函数“Dialog”。

通过X64dbg自带的字符串查找字符“WinRAR”,再通过字符串转到反汇编窗口查看附近是否存在窗口函数和弹窗函数。

 

4.**步骤

第一步:

打开x64dbgWinRAR.exe程序拖拽进去,此时通过x64dbg窗口可知程序并没有停留在程序领空(WinRAR.exe)而是停留在系统领空(ntdll.dll)。

Android逆向调试|WinRAR个人版去广告窗口和购买弹窗

第二步:

使用工具栏的运行图标或按F9直接运行到程序领空,接着在反汇编窗口中右键选择查找搜索“WinRAR”。

Android逆向调试|WinRAR个人版去广告窗口和购买弹窗

Android逆向调试|WinRAR个人版去广告窗口和购买弹窗

Android逆向调试|WinRAR个人版去广告窗口和购买弹窗

第三步:

在搜索的结果中可以看到所有的结果全面都加有“L”,所以下一步搜索“L"WinRAR"”排除无关项。最终的搜索结果仍然存在多项,所以最后只能一个一个的去尝试(再通过字符串转到反汇编窗口查看附近是否存在窗口函数和弹窗函数。)

Android逆向调试|WinRAR个人版去广告窗口和购买弹窗

第四步:

查找完所有的字符串之后,锁定以下两处,但是无法确定哪一个地方是正确的,所以在以下两处设置断点(程序执行到此处断下)同时需要使用单步调试观察程序运行情况。

Android逆向调试|WinRAR个人版去广告窗口和购买弹窗

Android逆向调试|WinRAR个人版去广告窗口和购买弹窗

第五步:

经过调试分析之后,即可锁定广告窗口出现的call(高级编程语言的函数类型),接着直接使用二进制nop填充当前函数。完成广告窗口的**。

Android逆向调试|WinRAR个人版去广告窗口和购买弹窗

第六步:

使用同样的方法,只需找到对应的弹窗函数即可,由下图可知弹窗函数和窗口函数相隔并不远。于是便可以对照第五步的操作完成弹窗的**。

Android逆向调试|WinRAR个人版去广告窗口和购买弹窗

5.总结

申明:本教程仅供学习交流,如有侵权请联系我们,我们将及时删除。

如果你想要生活变得便捷,如果你喜欢有趣好玩实用的新技能,我会不定期更新你所需要的软件或技术。我是小编laoguan,关注“算法与编程之美”公众号,你每天都会“get”到新技能,我们下期再见。

END

编  辑   |   王楠岚

责  编   |   官学琦

 where2go 团队


   

微信号:算法与编程之美          

Android逆向调试|WinRAR个人版去广告窗口和购买弹窗

长按识别二维码关注我们!

温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!