admin管理员组

文章数量:1630588

Windows Ring3层注入——输入法注入(六)

  • 输入法介绍
  • 输入法注入原理
    • 输入法注入的相关知识
  • 输入法注入步骤
  • 输入法注入的函数原型及代码示例
  • 输入法注入操作描述
    • 流程图
    • 删除自己安装的输入法:

输入法介绍

输入法是一类特殊的程序,主要功能在程序中是进行文字的输入,一般有外挂式(早期的“万能五笔”)和输入法接口式两种实现方式。
外挂式比较简单,它的形式通常是一个EXE文件,通过模拟一些Windows输入消息向当前处于活动状态的编辑窗口输入文字,一个显著的特点是输入法只要启动,就可以在所有进程中使用,缺点是实现不容易兼容性不好,通常一个Windows版本需要对应一个输入法版本。此外,此类输入法为了截获用户输入内容,通常会挂接键盘钩子,这容易造成系统不稳定或者效率不高

所以,大部分输入法还是采用IME输入法接口来实现的。

输入法注入原理

  • 输入法注入是指自制输入法加载到目标进程的时候,附带加载需要注入的DLL的一种注入方式。

输入法注入的相关知识

  • 输入法就是个DLL,只不过是一个特殊的DLL,必须具有标准输入法程序所规定的那些接口。
  • 输入法在系统目录中是以**.ime为扩展名的文件。当应用程序中激活某个输入法时,输入法管理器(imm32.dll)就会在该应用程序的进程中加载对应的.ime文件与加载普通的DLL文件没有本质区别**,所以就可以认为输入法就是注入应用程序的一个DLL文件。
  • 输入法注入以后可以切换到其他输入法,不影响已经注入的DLL

输入法注入步骤

输入法注入的实现,一般需要三个程序协同完成:

  • 自制的输入法模块,即以**“ime”**结尾的文件;
  • 是需要注入的DLL模块
  • 是控制IME文件安装的exe模块

输入法注入的函数原型及代码示例

  • ImeDllLoader.ime

本文标签: 输入法Windows