码迷,mamicode.com
首页 > 其他好文 > 详细

[Re] 安全知识点

时间:2019-03-19 01:29:43      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:关闭   hook   memory   alt   结果   virtual   read   安全知识   方式   

DLL注入,即,把一个DLL文件放到目标进程中。
当一个进程的程序不是自己编写的,而我们又需要该程序加载指定的dll,以便进行某些操作,这是就需要dll注入。
当一个进程加载dll时,dll被映射到该进程的地址空间。dll注入的最大目的,进入目标进程的地址空间,这样就可以操作目标进程中的对象了。
注入方式:
1.远程线程注入步骤(假设事先写好DLL文件)
OpenProcess()   //获取已知进程的句柄;
VirtualAllocEx()   //在进程中申请空间;
WriteProcessMemory()   //向进程中写入东西;
GetProcAddress()   (LoadLibrary())//取得函数在DLL中的地址,动态加载DLL;前为UNICODE版本
CreateRemoteThread()   //在目标进程中创建远程线程;
CloseHandle()   //关闭句柄;
2.利用hook注入。
Hook技术是基于windows消息机制的。如果 给某个消息安装了Hook,当该消息发生时,会先调用Hook函数。
1.进程B中的一个线程准备向一个窗口post一条消息。
2.系统检查该线程是否已经安装了WH_GETMESSAGE Hook,检查结果为确实安装了这种Hook。
3.进程B准备调用Hook函数,即GetMsgProc函数。但是该函数在MyDll.dll中,而MyDll.dll并没有加载到进程B。
4. 进程B加载MyDll.dll。
5.调用GetMsgProc函数
技术图片

 

 

[Re] 安全知识点

标签:关闭   hook   memory   alt   结果   virtual   read   安全知识   方式   

原文地址:https://www.cnblogs.com/rookieDanny/p/10556129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!