论坛: 系统集成 标题: 弹止神功――软件广告全面禁止 复制本贴地址    
作者: DaemonTools [a7611679_]    论坛用户   登录
网络中的广告铺天盖地,严重影响了我们网上冲浪的心情,也平白无故地占用着我们的内存。网页弹出广告,可以用弹出广告拦截器;可是网络共享软件中的弹出广告呢?我们难道无计可施了吗?其实,只要练好弹止神功,弹出广告就可以在一招一式间轻松化解。


芝麻开门
在Windows下,程序要显示窗口,必须调用相关的Win32 API(Application Programming Interface,也就是应用程序编程接口;Win32 API就是Windows提供的进行各种系统功能调用的接口,程序通过调用这些接口来完成某些特定的系统功能)函数。而在调用时,如果程序传入的参数不正确,则会导致调用失败。换言之,我们可以将程序代码中对广告窗口调用的部分进行一些修改,使窗口调用失败,来完成屏蔽广告的目的。工欲善其事,必先利其器,要去除软件广告窗口,需要准备一些免费工具。
ResHacker 3.40(541KB):下载地址为http://www.uuland.com/netdisk/userhome/download/reshack.zip
W32Dasm 8.93(1.40MB):下载地址为http://www.pediy.com/tools/Disassemblers/W32Dasm/W32dsm8.93.rar
RTA 2.00Beta1(399KB):下载地址为http://www.pediy.com/tools/Editors/RTA/rta.zip

屏蔽QQ弹出广告
第一招:安装现成的补丁或插件
安装现成的插件或补丁来屏蔽广告无疑是最简单的方法,但缺点是不同的版本需要的补丁版本可能也不同,不够灵活。
腾讯QQ/TM 2004 Beta珊瑚虫外挂
软件版本:2.3 软件大小:1239KB
软件版本:免费软件 适用平台:Windows 9x/NT/2000/XP
下载地址:http://sc-http.downloadsky.com/down/CoralQQ230731_skycn.rar
第一步:下载后解压缩至QQ安装目录,运行CQQcfg.exe进入外挂设置。
第二步:在“常规选项”页,找到“系统广播”,并去除其下“允许Flash/Html广播”的勾选。聊天中经常发生误点对方QQ秀而打开IE的情况,我们可以去除“允许打开QQ秀链接”的勾选来解决这个问题。点击“保存修改”,然后启动QQ即可生效。




屏蔽MSN Messenger的广告
如果你看不惯MSN Messenger下方的广告,则可以通过安装Messenger Plus! 3.01.94 多国语言版(下载地址:http://hb2.onlinedown.net/down/MsgPlus-301.exe)的方法来屏蔽。
第一步:下载安装Messenger Plus!后运行。
第二步:MSN Messenger会新增一个Plus!菜单,打开之后点击“个人偏好设置”进入设置框。
第三步:点击“联系人名单”,然后在“常规选项”中勾选“隐藏广告条”,按“确定”即可。

屏蔽RealOne Player广告
RealOne Player是一款优秀的流媒体播放软件,如果能屏蔽打开和关闭时的广告窗口,那就更加优秀了。
第一步:打开RealOne Player的安装目录,默认为C:\Program Files\Common Files\Real\Update_OB。
第二步:在该目录下找到Realsched.exe文件,将该文件删除或改名即可。

屏蔽浩方对战平台的广告
浩方对战平台是国内最好的联网对战平台之一,但美中不足的是:经常会弹出广告窗口,很影响使用。网上屏蔽浩方广告的补丁更新都不太及时,不能对应最新版本,所以我们来个手动屏蔽。
第一步:运行ResHacker,选择菜单“File→Open”(文件→打开),打开浩方安装目录中的GameRes.dll文件。然后在左侧的资源目录中展开“Dialog”分支(也就是对话框的存放位置),并在此分支下查找广告弹出框的相应对话框,找到后发现此对话框中含有“系统消息”字样,关闭ResHacker。(本文以浩方最新版本3.5.3为例,弹出消息框为分支中的163号对话框。)
第二步:运行W32Dasm,选择菜单“反汇编→打开文件”,打开浩方的主程序GameClient.exe,程序自动开始对浩方程序进行反汇编。等待反汇编完成后,W32Dasm界面中就出现了浩方GameClient.exe的汇编源代码。此时我们选择“查找→查找文本”,输入刚才找到的对话框特征字串“系统消息”,按“查找下一个”开始查找。
第三步:成功地在0040F1D4位置找到了字串,上方高亮显示的是此语句的大致含义,下面的“:0040F1D4 680CB64B00 push 004BB60C”即是对话框的调用代码,其中“:0040F1D4”是此代码在EXE文件中的位置,“680CB64B00”是代码的二进制表示(也就是此语句在文件中的真实存储形式),而“push 004BB60C”是这句二进制机器码的汇编代码(调用API函数必须将函数压入堆栈,“push”就是压,“004BB60C”就是要压入的内容)。所以,我们便得出了压入函数参数,即调用函数的语句的位置为GameClient.exe文件的0040F1D4处(见图2)。


第四步:运行RTA(解压后目录中的rta.exe),选择菜单“File→Open File”,打开GameClient.exe。RTA界面中显示出了程序的汇编代码,最左侧红色的部分即为代码在文件中的位置,蓝色的是代码的二进制表示,黄色的即为汇编代码。拖动右侧的滚动条,找到0040F1D4位置(即红色部份显示“0040F1D4”的那行,见图3)。


第五步:将这行中的蓝色部分(即“680CB64B00”)修改为“6800000000”,右边的汇编显示就变为了“PUSH 0”,也就是改成以0作为参数来调用函数的形式。这样的代码调用对话框就会导致调用失败,这时按工具栏中的“保存文件”按钮,并覆盖原GameClient.exe即可。

屏蔽WinRAR弹出提示框
WinRAR已经逐步取代Winzip成为网络时代压缩软件的老大,很多用户选择了未注册的共享版本,可是过了试用期后每次打开WinRAR时都会弹出注册提示框,非常不方便。我们也可以使用处理浩方弹出框的方法来解决这个问题,本文以WinRAR最新版本3.40Beta4为例。
第一步:首先要找到弹出框位置,使用ResHacker打开WinRAR目录中的WinRAR.exe,查找注册提示框,找到后发现此对话框名称为“REMINDER”,关闭ResHacker(见图4)。


第二步:使用W32Dasm打开WinRAR.exe,查找“REMINDER”字符串。这里需要注意的是:查找到的第一个结果是对话框的数据,而非对话框调用,再次按“查找下一个”找到的结果才是真正的调用位置。区分的方法很简单,调用对话框的代码处一般都有“PUSH”语句。这里找到的位置是00440E17,最后关闭W32dasm。
第三步:使用RTA打开WinRAR.exe,移动到00440E17位置,将“687D5E4900”改为“6800000000”,保存并覆盖原文件。
小提示
★大多数软件的对话框保存在本身的EXE可执行文件中,但也有一些会保存在其目录下的DLL文件中,一般保存资源的DLL文件名中都会带有“Res”。如QQ目录下的QQRes.dll和浩方目录下的GameRes.dll。
★机器代码“680CB64B00”中的“68”即为汇编代码“PUSH”,“68”后的即为需要PUSH的内容。
★W32Dasm下载解压后,目录中含有多个不同的修改增强版本,本文以“Gold.exe”(黄金修正版)为例。

屏蔽FlashGet广告
1.4版本:查找代码“8B817C020000”,将其修改为“B80100000090”。
1.5版本:查找代码“8B8180020000”,将其修改为“B80100000090”。
1.6版本:查找代码“8B8184020000”,将其修改为“B80100000090”。
特别提醒:本文只是讲解技术实现方法,请不要用于非法用途(包括侵犯版权)。





 





地主 发表时间: 05-03-12 19:31

论坛: 系统集成

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号