用户
搜索
  • TA的每日心情
    开心
    2018-4-29 15:23
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    i春秋-脚本小子

    Rank: 2

    3

    主题

    6

    帖子

    81

    魔法币
    收听
    0
    粉丝
    0
    注册时间
    2018-4-29
    发表于 2020-1-8 10:15:44 22037

    0x00 前言

    WinRAR作为一款老牌压缩软件,一直深受笔者喜爱。但是每次使用时的广告弹窗真的烦人。于是有了这次魔改。魔改版本——5.71.0(64位):

    0x01 去广告弹窗

    起初通过CreateWindowExW()函数设断,但调试一番之后发现中断次数过多,无法定位到具体调用位置。之后尝试利用WM_DESTROY消息设断,仍无果。于是突发奇想,利用类名字符串设断,具体过程见下。

    x64dbg打开WinRAR.exe,不作任何操作,F9运行程序,直至出现下图:

    x64dbg切换到句柄窗口,F5刷新,找到"导航已取消"(因为笔者在调试过程中处于断网状态,故未加载出页面)窗口类名如下:

    这时直接搜索类名字符串是搜索不出来的,因为不在WinRAR.exe程序领空内,故右击该行——>>消息断点,设WM_DESTROY消息断点:

    设完断点后关闭广告窗口,来到WinRAR.exe程序领空:

    搜索类名字符串:

    双击第一行的地址,转到反汇编窗口,可以看到调用CreateWindowExW()函数处:

    F2在此处设断,之后在断点窗口禁用消息断点:


    Ctrl+F2重新开始,F9运行程序,停在断点处:

    空格,修改该指令为nop

    F9继续运行下去,结果发现广告弹窗的确消失了,但出现一提示购买WinRAR许可的对话框。

    0x02 去提示购买对话框

    Ctrl+F2重新开始,Ctrl+G:

    DialogBoxParamW()函数处设断:

    F9运行程序,当程序停在上节所设断点处时,修改call调用为nop指令,继续向下执行,来到DialogBoxParamW()函数:

    查看栈窗口,可以得到返回地址,于此处Enter,来到主程序领空:

    修改call调用为nop指令,继续向下执行,成功去除提示购买对话框:


    Ctrl+P——>>修补文件,保存所有的修改即可:

    0x03 32位WinRAR

    笔者并没有逆32位WinRAR,看到网上这篇文章较详细,贴到此处。

    哦豁,去广告版本的Winrar
    My blog :http://www.e-wolf.top
    使用道具 举报 回复
    高手啊  厉害
    使用道具 举报 回复
    发新帖
    您需要登录后才可以回帖 登录 | 立即注册