易语言hook注入java_易语言DLL制作调用及hook-注册表注入

1、注册表注入的特性是可以在程序启动的时候注入,注入到其他程序还没有初始化完的的时候执行自己的代码

2、通过注册表的方式来实现DLL注入,只需要针对特定的注册表项进行修改即可

3、如果被注入的进程是64位进程,则注入的DLL也需要是64位的,同理,注入32位的进程也需要是32位的DLL。

4、注入64位系统上的32位进程

1) 将被注入的DLL名称填入到AppInit_DLLs注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\LoadAppInit_DLLs

2) 并将LoadAppInit_DLLs注册表项的值修改为1:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows\LoadAppInit_DLLs

5、注入64位进程

“注入到64位进程”和“注入64位系统上的32位进程”的步骤类似,区别在于:

1). 注册表位置不一样,注入64位进程的注册表分别位于:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\LoadAppInit_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 里判断进程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值