使用OD去掉winrar广告【新手教程】【比较详细】
这个版本的winrar每次打开的时候都会有广告弹出。在论坛里潜水许久,跟着大神们也学到了一点皮毛,所以决定尝试自己动手去掉广告。winrar的版权归官方网站所有,请购买正版!
1.使用od打开 winrar.exe。
2.在汇编区(上图有标明)右键: Search for -> Name (label) in current module 来查看程序所使用到的API列表。
3.在弹出的窗口中输入“createw”关键字定位到“CreateWindowExW”API,
注意:在页面中直接输入关键字即可(无需额外操作),在窗口左上角会以大写的字母显示用户输入的的关键字。
4.查看程序中什么地方调用了“CreateWindowExW”API:右键选择 Find references to import(快捷键是直接回车)
在弹出的窗口中可以看到那些地方使用了“CreateWindowExW”API:
5.在这些用到了“CreateWindowExW”的地方设置断点:
窗口的空白区域右键选择Set breakpoint on every command
设置断点之后的样子
6.调试程序,让程序执行起来,然后我们一步一步的看,是哪个“CreateWindowExW”API被执行了之后广告页面会出现。
单步执行是 f7
跳到下一个断点是 f9(在这个范例中,建议使用 f9 调试)
7.经过一番调试,我们发现,当运行到“0049d32f”时,winrar的主窗口被创建了,接下来就快到绘制广告的调用了。
当执行了“004aaa11”处的指令时,出现了广告窗口,那么已经很明显了,这个位置的指令就与广告窗口有关。
8."抹去"相关代码:
选中汇编代码(注意范例中的范围!),右键 binary -> fill with NOPs 使用NOP指令覆盖掉原有的指令。
选中汇编代码
NOP覆盖
效果如图
9.保存修改后的程序
在修改的“NOP”指令上右键 copy to executeable-> Selection。
然后在弹出的“修改后预览窗口”上点击关闭,会弹出保存窗口。
选择文件名,点击保存(建议不要覆盖原来的winrar.exe,万一这次没改对,还能有再来的机会!)
修改后的程序运行效果如图,虽然没有了广告内容,但窗子还继续弹....
10.把这个修改后的 exe 再次打开,重复上述的查找“CreateWindowExW”、打断点调试的步骤,尝试找到打开广告的相关调用指令。
结果找到了“0049d32f”,重复上述的覆盖指令、保存的步骤。
这次倒是成功的去掉了广告窗口,但又来了个注册提示“窗口”(dialog)。
11.再次打开修改后的程序,通过“dia”的关键字找“DialogBoxParamW”API。
老规矩,找到使用了该API的指令,打上断点、开启调试,f9挨个的看看是哪个位置创建了这个dialog,
最终发现是“0049d389”这个位置。
覆盖之,再保存。
终于整个世界清净了
12.作为“处女座”,表示左上角的“评估版本”不能忍,使用pexplore,修改之。
打开我们修改好的这个exe, 打开资源界面,在其中找到string的分类。
在第55个文件中看到了“评估版本”的字符串,右键 EditResource
修改成任意字符串,点击保存。
最终效果如图
小白要学的路很长啊,我这几天得多看看帖 前排,楼主加油 前来支持楼主{:5_121:} 楼主讲的很好,谢啦{:5_116:} 去广告永远是那么吸引人 感谢楼主的分享!! 这个可以学习一下! 拿这个练练手!!!! 楼主是专业编程的吗?对于一个刚入计算机专业的大一新生,楼主对于软件的制作与逆向有什么建议吗?我看到一串串代码感到头晕啊😱