概述
1、注册表注入的特性是可以在程序启动的时候注入,注入到其他程序还没有初始化完的的时候执行自己的代码
2、通过注册表的方式来实现DLL注入,只需要针对特定的注册表项进行修改即可
3、如果被注入的进程是64位进程,则注入的DLL也需要是64位的,同理,注入32位的进程也需要是32位的DLL。
4、注入64位系统上的32位进程
1) 将被注入的DLL名称填入到AppInit_DLLs注册表项:
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindows NTCurrentVersionWindowsLoadAppInit_DLLs
2) 并将LoadAppInit_DLLs注册表项的值修改为1:
HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindows NTCurrentVersionWindowsLoadAppInit_DLLs
5、注入64位进程
“注入到64位进程”和“注入64位系统上的32位进程”的步骤类似,区别在于:
1). 注册表位置不一样,注入64位进程的注册表分别位于:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWindowsAppInit_DLLs
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWindowsLoadAppInit_DLLs
2). 被注入DLL需要是64位版本。
6、注入原理:
当系统的User32.dll被加载到一个新的进程时,会收到DLL_PROCESS_ATTACH通知,User32.dll在该通知处理过程中读取AppInit_DLLs注册表值,并调用LoadLibrary来加载该项中指定的每个dll。
7、优劣:
被注入的目标进程必须使用了User32.dll
基于GUI的程序都会使用这个DLL文件,而命令行程序一般不会加载User32.dll,所以无法通过这种方式被注入。
8、解决方案
在dll 里判断进程
最后
以上就是完美煎蛋为你收集整理的易语言hook注入java_易语言DLL制作调用及hook-注册表注入的全部内容,希望文章能够帮你解决易语言hook注入java_易语言DLL制作调用及hook-注册表注入所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复