码迷,mamicode.com
首页 > 其他好文 > 详细

去除搜狗输入法弹窗骚扰的一个简易方法

时间:2018-12-05 00:04:32      阅读:548      评论:0      收藏:0      [点我收藏+]

标签:小程序   cap   isp   explorer   wow   增加   转发   oss   data-   

说明:此文原本发布于我的 CSDN 博客,但在 CSDN 处在“待审核”状态,用户无法浏览,因此转发到我的博客园博客。

    -- 2018-12-04

 

我使用的输入法,是搜狗输入法 9.0 正式版(9.0.0.2502)。但比较讨厌的是,搜狗输入法的 SGTool.exe 会弹窗。同时这个程序还是用来设置属性用的,所以干掉这个程序以后,我们就没法再设置属性了。

(1)拒绝所有用户组对 SGTool.exe 的所有安全控制权限

先把输入法属性设置好。然后找到 SGTool.exe ,用管理员账户,右键-属性-权限,把全部用户组下面的全部权限都勾上拒绝,确定即可。这样这个弹窗的程序就被禁用了,当然,设置输入法的模糊音等属性也不行了(除非你再把它的权限复原)。

(2)修改 SogouPY.ime 的对话框模板 ID

禁止 SGTool.exe 以后,其他进程偶尔会弹出下面的对话框,再把它干掉就更清爽了:

技术分享图片

 

用 ProcessExplorer 发现,搜狗输入法注入到其他进程里面有两个 ime 模块(实质等同于 DLL 文件),弹出这个对话框的是叫做 SogouPY.ime 这个文件。

用 VS2005 打开这个文件,可以看到这个对话框模板 ID 为 129 (0x81)。

用我自己写的 PE 文件资源查看小程序(这个小程序在我的 cnblogs 博客上有源码,我又加以改进,增加了资源 ID 在文件中的文件地址),可以看到对应的对话框 ID 在文件中的位置(简称为 FA):

技术分享图片

 

在 SogouPY.ime 中,是通过 DialogBoxParamW 这个 API 来弹出上面的对话框,因此,简易方法就是,我们把文件中的对话框模板 ID 修改掉,这个 API 就无法找到这个对话框模板,就不会有弹窗效果了。因此,把

  • C:\Windows\SysWOW64\SogouPY.ime

(注:在 x64 位系统上的这个位置,表明它是一个目标平台为 x86 的程序。)

复制到其他位置产生一个副本,使用 UltraEdit (或者任何能切换到 16 进制模式的编辑器),在 16 进制编辑模式下,按 Ctrl-G,在地址中输入上图中显示的对话框模板 ID 的文件地址 0x00552318,在这个位置看到对话框模板 ID (是一个 WORD 类型),为两个字节(81 00),(这个地方本质上是一个 size = 8 bytes 的 IMAGE_RESOURCE_DIRECTORY_ENTRY 节点)这两个字节就是该对话框模板的数字 ID,我们可以随意把它改为其他的数字,这里我把它修改为 21 00,然后保存。这样一个新的 SogouPY.ime 就生成好了。

技术分享图片

 

(3)用修改后的 SogouPY.ime 替换当前在使用的

然后进行替换,由于这个文件可能已经被多个进程映射(加载)到进程空间了,所以直接替换可能不一定能成功。因此如果有安装双系统,可以进入另一个系统,或者使用一个被制成 winpe 启动盘的 U 盘(例如老毛桃,大白菜等),进入到 winpe 系统,进行替换。然后再次回到 windows 系统,就不会再看到输入法任何弹窗了。

(4)小结以及副作用

输入法的设置属性功能也同时被 ban 了。如果需要设置属性,把原版 SGTool.exe 权限放开,设置完属性再次禁用其所有权限即可。

去除搜狗输入法弹窗骚扰的一个简易方法

标签:小程序   cap   isp   explorer   wow   增加   转发   oss   data-   

原文地址:https://www.cnblogs.com/hoodlum1980/p/10067757.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!