首页 > 其他 > 详细

[Re] 安全知识点

时间:2019-03-19 00:15:06      阅读:174      评论:0      收藏:0      [点我收藏+]
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] 安全知识点

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!