ce变速注入dll失败_【表哥有话说 第74期】Dll注入浅谈

一、DLL注入概述

1.简介

dll注入是一种将Windows动态链接库注入到目标进程中的技术,具体的说,就是将dll文件加载到一个进程的虚拟地址空间中。对某个进程进行dll注入,也就意味着dll模块与该进程共用一个进程空间,则这个dll文件就有了操纵这个进程空间的能力,以达到执行dll模块中的代码修改进程数据的能力。

2. 原理

DLL注入的工作原理是将自己的dll文件强制注入进其他进程,同时,被注入的DLL拥有目标进程的内存访问权限从而实现一些有用的功能。

例如:

  1. 改善功能与修复BUg

  2. 消息钩取

  3. API钩取

  4. 恶意代码

  5. ....

二、几种常见的DLL注入手段

各个方式都分为注入程序和DLL程序两部分,其中DLL基本都是一样的,我们的目标是把我们自己的DLL注入程序中,不同的方式使用不同的注入程序,从而实现DLL注入。

1.远程线程注入

所用主要API

  1. LoadLibrary():用来加载DLL文件,

  2. CreateRemoteThread() :在其他程序中启动远程线程,使程序自动启用LoadLibrary()函数,从而加载DLL文件

  3. WriteProcessMemory():在其他进程中写入数据

程序源码

BOOL InjectProgram(DWORD dwPID, LPCTSTR path){
    HANDLE hProcess = NULL, hThread = NULL;HMODULE hMod = NULL;LPVOID pRemoteBuf = NULL;DWORD dwBufSize = (DWORD)(_tcslen(path) + 1) * sizeof(TCHAR);LPTHREAD_START_ROUTINE pThreadProc;//用获取的PID找到注入进程的句柄hProcess = OpenProcess(PROCESS_ALL_ACCESS
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值