任何语言编写的软件,其实在电脑中都会以汇编的形式运行,我们可以使用汇编汉化软件、甚至可以改变其逻辑内容
前些时间科学上网被查的很厉害,很多软件不可用了。而自己找到的一款很好用的软件,但是因为含有反对党和人民的广告,导致不敢借给别人用,怕被说是传播非法内容,这里我们就用反汇编来过滤掉非法内容,砍掉它无用的功能
要用到的工具:
要修改的软件、ExeinfoPe、UPX脱壳机、eXeScope、ollydbg
首先我们将要修改的文件拖拽至ExeinfoPe
很明显是UPX压缩壳,这个壳很弱,可以用esp定律脱壳,不过为了方便我们直接在网上下载一个upx脱壳机
直接把软件拖动进来,就脱壳完成了,我们再查下壳
好啦,是个C++的程序
为了避免别人搜索软件名字,而找到这款软件,看到了不好的东西,我们先把软件界面搞得面目全非,用到的软件是eXeScope
把软件拖动进来,找到对话框,点击可视化编辑
除了连接速度留着,其他功能一概删掉
好了现在运行效果是这样的,而且亲测依然可以科学上网。图标资源也是可以改的,我这边就懒得改了
现在重头戏到了,我们要开始去广告了
祭上我们的OD(ollydbg)
先以管理员身份运行OD,然后将要修改的软件拖动进来
刚进来肯定是一头雾水的,先去搜索ASCII看下有没有什么线索
因为会自动弹出广告,且是chrome浏览器,我们就搜一下“chrome”
果然找到了这种“AutoStartChrome”这种关键词,还不止一处。我们找到所有的,都打上断点
(双击跳转,然后F2打断点)
我们看到,窗口弹出后,断点会断在这里,似乎是先比较了什么,然后再做了个je(类似代码中的if)
而走到下面的call时,便弹出了广告。这时我们只要把这里尚未执行的je强制jmp就可以了
修改完之后,复制到可执行文件,然后直接保存就好了
运行下保存后的文件看看
出乎意料的是,虽然没有用chrome弹出广告了,却还是用IE弹广告了
我们看下为什么这边修改了,会导致IE弹出广告
0041BBC0是我们之前修改的,让它强制跳转到0041BBD7然后顺序执行
假设我们没改的话,是会先顺序执行,再跳转到0041BBEA
区别就是,顺序执行了前半段,就会自动chrome打开广告,顺序执行后半段,则会IE打开广告
这里我试了暴力一点了,谁都不顺序执行,直接一步到底,程序会报错
那我们看下,顺序执行和跳过,到底跳过了什么
两边都有一个push 0x1,而如果chrome的广告正常打开的话,这个AutoStartIE前面一句push 0x1就不会执行。
我猜测这里的1,就是下面的call内的判断条件,改掉试试
改完之后,复制到可执行文件,保存。果然可以科学上网了,且无广告
本文章仅讨论去广告相关技术
网友评论