没有不可能 发表于 2013-1-12 09:59:34

分享什么是输入法注入!

系统里一个特殊的存在,输入法。
它可以载入到任何进程,且无需权限。
它是一个DLL形态,必须具备规范的接口,才能供安装和调用。
而市面上的输入法注入,其实并不涉及输入法注入的核心技术。只是使用,而非开发。
输入法注入的过程是这样的。
1,制作一个规范接口的输入法文件DLL(一般后戳名为ime)
2,输入法DLL提供了安装参数,在安装时,将要注入的DLL路径传递给输入法DLL
3,当输入法被激活,(切换输入法或收到消息)输入法DLL被调用时,DLL会载入安装时得到的DLL路径,(因为输入法此时处于被注入的进程中,所以,输入法载入的DLL也拥有了被注入进程的权限(在DLL里取执行文件名=被注入进程))
4,系统卸载输入法,但是已经载入输入法的进程,不会卸载。
5,输入法文件无法删除,注入的DLL无法删除,因为它们已经被载入在被注入进程。
6,当你进行完一次输入法注入,尝试再次注入已经被注入的进程时,理论是可以的。只是通常情况下,原来的输入法DLL和注入的DLL文件都处于占用中,你进行新的注入时,写出文件一般是会失败的。

花开 发表于 2014-1-10 12:51:26

回复 1# 没有不可能

学习学习:D

hjj556k 发表于 2023-11-4 08:52:59


https://img.chkaja.com/f87fe413da1e2c29.png
https://img.chkaja.com/b50eef5d348cc21a.png
https://img.chkaja.com/2b328bbb14228cbe.png
https://img.chkaja.com/e9697ddd5979c07c.png
https://img.chkaja.com/f0afcb9e0343fca7.png
https://img.chkaja.com/21055160129e35fb.png
https://img.chkaja.com/147ff49a13d19363.jpg
页: [1]
查看完整版本: 分享什么是输入法注入!