自制成品的TSF输入法注入器.同时支持64位和32位.

前面有说过原理,现在自己做成了一个成品.

 

项目作用

利用TSF输入法,向目标程序进行注入DLL,支持注入32位和64位程序.

 

亮点

  • 自动识别32位程序,64位程序.
  • 自动识别DLL是32位还是64位.
  • 枚举系统进程和窗口
  • 自动注册输入法,自动反注册输入法.
  • DLL兼容之前的IME模式用的RunDllHostCallBack回调函数(直接用你之前的DLL)

 

缺点和已知问题

最小化的窗口/隐藏的窗口,获取窗口标题会出现获取不了.这个没关系.一样注入.

输入法必须手动切换.暂时没有好方法像IME输入法可以直接在目标程序激活输入法.

目标输入法是隐藏的,需要切换到目标程序1秒后才会显示.

 

原理

https://www.getce.cn/show/47.html

 

 

使用

使用非常简单.

 

运行注入器

 

如果不是管理员权限执行的,按钮会变成[UAC提权],必须管理员权限才能运行

 

 

 

选取目标程序

双击选择一进程.

 

 

选取Hack DLL

选择一个你需要注入的DLL.

方式有两个,拖动DLL到注入.或者双击编辑框选择一个DLL.注入器会自动识别程序是32位还是64位.

 

注意,目标程序如果是32位,那么注入也必须选择32位DLL,同理64位程序需要64位DLL注入.

 

 

选取一个导出函数

注入器会自动识别DLL的导出函数,注意,不要用中文或者@开头的导出函数.

 

注入

点下注入按钮即可.

注意,这个时候只是进入准备状态,不是真的注入了.

 

这个时候,注入器干了啥:

  • 将注入用的TSF输入法在系统中注册.
  • 将你的设置(目标程序,注入DLL路径,DLL函数,写到配置文件)
  • 隐藏输入法.(如果最前面的窗口不是目标程序则隐藏.)

 

 

激活注入

在目标程序,上切换输入法

win10/win8系统 默认快捷键是 win+空格

有个(韩国)朝鲜语的输入法.

 

切到这个输入法就自动注入你的DLL了.

 

自动反注册

注入后,注入器会自动反注册输入法,并返回注入结果.

注意,注入结果只是参考意义,只是表示调用你注入DLL

 

演示

 

 

CEAA脚本注入

CEAA脚本就是Cheat engine 的自动汇编脚本.

 

比如我打包测试程序, 里面有个简单的pk,正常情况下,友方是永远干不过敌方的.

通过注入包含CEAA脚本的DLL,改写函数.

使得友方一回合,即可秒杀敌方.

 

事件Hook

在目标窗口中新建一个按钮,并让按钮响应自定义的功能.

测试程序是没有这个按钮的,DLL动态创建一个!!

 

 

补充说明

编写的DLL尽量不要阻塞线程.

 

 

 

下载和DEMO

https://github.com/Y-A-K-E/TSF_injector

 

注入器和TSF输入法暂时不开源.

里面有测试程序,还有测试DLL的源码.