WinRaR去广告弹窗

WinRAR5.8(64位)去nag弹窗

参考:https://bbs.pediy.com/thread-257107.htm

程序信息:

WinRAR v5.80 64位

工具:

  • x64dbg(ollydbg不能调试64位程序)

  • Exeinfo PE

开始破解:

1.先用Exeinfo PE查看下程序(打开工具,将程序拖拽进去即可查看),得到信息如下图,可知该程序没有加壳,而且是用C++写的

 

2.程序会出现两个弹窗,一个是提醒你该软件不是免费的,让你购买,另一个是广告弹窗,两个随机出现一个(不是百分百触发分析就很难受了),我们要把这个两个弹窗都去掉

 

3.第一个是模态对话框,我们在函数DialogBoxParamW处下断点,先使用x64dbg加载程序,然后按Ctrl+G,输入DialogBoxParamW点确定来到DialogBoxParamW函数处,按F2下断

 

 

4.然后按F9让程序运行起来,如果是弹出广告窗口就往下看第7步,如果是停在我们刚刚断点处,恭喜你和我一样,通过栈窗口的返回地址返回到调用DialogBoxParamW函数的地址处,向上分析,很容易就找到了关键跳转

 

 

5.我们直接将关键跳转条件改为无条件跳转,选中要修改的关键跳转处按空格键,然后将je改为jmp

 

6.右键->补丁(Ctrl+P),然后点修补文件(文件名要带exe后缀)

 

7.提示购买的窗口就去掉了,现在我们用修改过的或者修改之前的程序(去掉之前的断点)都行,用x64dbg重新加载程序,直接按F9,让程序运行起来,如果没有出现广告弹窗就按Ctrl+F2重新加载再运行,出现了广告弹窗后先不要关闭,在x64dbg中点击句柄来到句柄窗口,然后通过标题找到窗口类名,并给该窗口下个消息断点WM_DESTROY

 

 

 

8.现在关掉广告弹窗就会触发我们刚刚下的消息断点,来到用户领空

 

9.右键->搜索->当前模块->字符串,输入我们刚刚得到的窗口类名,可以搜索到两个,我们先看第一个

 

 

 

10.双击第一行的地址,转到反汇编窗口,可以看到下面立马就调用了CreateWindowExW函数,所以这里可能就是创建广告窗口的地方,我们将调用指令直接nop掉,然后打上补丁(见第6步)

 

 

 

11.所以只要将两处同时打上补丁就可以将两个窗口都去掉了

posted @ 2020-03-12 10:24  自己的小白  阅读(2285)  评论(0编辑  收藏  举报