该词典的2012版可以通过修改xml文件实现去广告,之前有人发过百度经验了。然而2016版中根本没有xml文件了,故需要新的方法。
先看一看去广告前后的效果对比:
金山词霸的广告主要是屏幕右下角的弹窗和主界面下方的广告。对于弹窗,可以借助第三方软件拦截,比如阿呆喵ADM、火绒安全或360杀毒,当弹窗出现时,不要关闭,打开阿呆喵,将十字光标拖到广告上就能拦截了。
但是主界面下方的广告则没有软件能拦截,zd423上有金山词霸2016的去广告版,这是通过修改金山词霸的主程序PowerWord.exe来实现的,但zd423上面的评论指出修改得不太完美,如:“不能自动取词,划译后窗口一直留在屏幕最前”,“ 划译的结果界面不能发音”,“ 缺少msvcp120.dll”,“ Windows8.1 X64 用不了!”……从其他网站上下载的去广告版说不定会带有病毒。而且一旦升级金山词霸,广告又会死灰复燃。一般而言,不升级也没什么关系,但有些人有强迫症,总要用最新版……如果不修改PowerWord.exe也能去广告,则既不用担心某些功能被别人修改得不能用了,又不用到网上到处找去广告版,还可以随心所欲地升级,一劳永逸。下面我将介绍通过修改本机的hosts文件来实现一劳永逸的方法。修改hosts文件用记事本即可,如果你想跟着本文学习技术,你还需要Fiddler,exeinfope和notepad++,这三个软件都免费而且很小巧,不用担心拖慢系统速度。
金山词霸的广告内容是经常更新的,所以我们的重点在于找出是从哪个网站上下载的广告,然后用127.0.0.1的方法阻止访问这些网站。
启动金山词霸和Fiddler,Fiddler默认会记录所有进程的网络活动,如输入法,杀毒软件,浏览器……之前McAfee曝光搜狗输入法窃取用户隐私,而且用明文传输,就是用Fiddler发现的。现在的软件中干这种偷偷摸摸的事情的太多太多了,我真心希望有更多的人掌握MiniSinffer,WSExplorer,WSockExpert_Cn,iptool,sniffer pro,Wireshark之类的抓包工具,将软件的卑鄙行为曝光曝光曝光。Fiddler也可以只对指定进程进行抓包,这样方便观察和分析。Fiddler工具栏从左到右,WinConfig,Replay,Go,Stream,Decode,Keep:All sessions,Any Process(就是这个Any Process,点击它后鼠标变成十字形,左键不要松开,然后光标拖到金山词霸的窗口上去,即可只对该进程抓包)
如果你发现Fiddler抓不到或者抓不全金山词霸的网络活动,可以进金山词霸中设置代理服务器,类型 HTTP代理,地址 127.0.0.1,端口 8888,用户名和密码不需要,再点一下“测试网络”,看结果是不是“网络正常”。
多等一会儿,就能看见金山词霸试图访问哪些Host:
dict-mobile.iciba.com
dict-pc.iciba.com
service.iciba.com
my.iciba.com
cdn.iciba.com
img.my.iciba.com
click.iciba.com
34.goto.www.iciba.com
counter.kds.iciba.com
news.iciba.com
(你可以试试在浏览器地址栏输入这些地址然后访问,其中一些可以访问,如my.iciba.com,一些是403 Forbidden,如cdn.iciba.com),这些基本已经够了。如果你想进一步探索,可以用exeinfope看看究竟还有哪些网址。PowerWord.exe默认位置一般是C:\Users\你的用户名\AppData\Local\Kingsoft\Power Word 2016\2016.1.3.3,如果你改了安装位置就到你改的地方去找。或者启动金山词霸,再启动任务管理器,在任务管理器中右键金山词霸,点“打开文件所在的位置”即可找到。把PowerWord.exe拖到exeinfope的主界面上,然后点右下角的Rip,选择Ripper(search www / http: /ftp – address inside)
补充一句,exeinfope显示PowerWord.exe是not packed(未加壳),PEID,Detect It Easy也显示未加壳,但是否真的未加壳,我也不能确定。
如果遇到以下问题请重新点Rip,或重启exeinfope,或关闭金山词霸主界面。
待会儿会提示:1000 www founded,continue?点“是”继续搜索。
结果是Detected:1271 sites,点左下角Clip,就是把这些网址复制到剪贴板,然后随便找个地方粘贴出来,不要被1271这个数字吓到了,仔细观察一下,其实有大量重复的,比如http://ns.adobe.com/xap/1.0/,这个地址就出现了819次,http://www.w3.org出现了302次,可以通过“全部替换”这一功能将这些重复的全部删去,注意在“替换为”后面什么也不填。在notepad++中,还可以通过“编辑>行操作>移除空行”将所有的空行全部删去。
然后在自己的电脑上进入如下路径C:\Windows\System32\drivers\etc,有一个名为hosts的、而且不带后缀的文件,这实际上是一个纯文本文件,可以用记事本,notepad++,winHex,UltraEdit等打开并修改。在已有内容的下面增加一些内容(就是把你之前捕捉到的网址先不管三七二十一全部放进来,注意不用加http或https,每行一个网址,并在行首加上127.0.0.1 ),保存所做的修改。如果你遇到系统提示权限不够,无法修改,请先将hosts文件移动到其它地方,比如桌面或者D盘,修改并完成保存后再移回drivers\etc下面。
接下来要做的就是找出金山词霸联网查词时访问的是哪个网址,然后将该网址
“放行”,即从hosts文件中删除该网址,或者在该行的127.0.0.1前面加上#,#表示注释,就像MATLAB中用%注释,C语言用//注释。
在金山词霸中查parasolid,因为离线词库没有包含该词,所以它会联网。每点击一次词霸上的放大镜图标,Fiddler中就会出现一条记录,目标是dict-pc.iciba.com,(光看这个网址本身,dict-pc,也基本能猜出就是它了),而且全是404.
然后,在hosts文件中删去127.0.0.1 dict-pc.iciba.com这一行,或者在该行的127.0.0.1前面加上#
再试一试金山词霸的翻译功能:
可以看出连接的是fyapi.iciba.com这个Host,前面我们并没有把这个加入到hosts文件中,如果加了就放行吧。如果你有金山词霸的账户,希望登录,那就把my.iciba.com也放行。
至此,大功告成!
修改本机hosts文件,既可以让原本能够访问的网站变得不可访问,又可让某些因DNS污染而不可访问的网站变得可以访问。一些收费软件为打击Dao版,会执行联网检查license或key之类的操作,阻止它联网也是一种crack的方法。Google,Wikipedia等国外网站,想要访问,不是在网址前加127.0.0.1了,而是要加一些可用的ip地址,这就需要你四处搜罗了,本文不能提供。
附带说说不要随意连公共WiFi,尤其是那些不要密码的(wifi万能钥匙试出来的过于简单的密码也可能是陷阱),连了也不要登陆网银、支付宝等和钱有关的(需要登陆的话还是老老实实开流量吧),下面让大家见识一下Fiddler是怎么抓取手机所有的网络活动数据的。用自己的笔记本发射wifi,手机连这个wifi,然后设置代理,代理服务器主机名为你的笔记本的ip地址,这可以在cmd命令提示符中用ipconfig /all来查看,服务器端口为8888,(详细步骤自行百度)然后刷一刷微信朋友圈:
朋友圈的图片未经加密,可以直接被别人看见。
如果你亲自把上述过程做一遍,好好感受一下,相信以后在连公共wifi时会谨慎许多。
20180909更新
win10用户不妨试试uwp版的微软必应词典(从应用商店中安装),纯净无广告。