一、流程
1、第一步,获取要注入进程快照;
2、第二步,在快照中比对进程名,得到进程PID;
3、第三步,用pid去打开进程获取到句柄;
4、第四步,在要注入的进程内申请一块内存;
5、第五步,把要注入的dll路径写入进程内存中;
6、第六步,得到“LoadLibraryA”函数的句柄
7、第七步,通过远程线程运行注入的dll,注入成功
二、代码
#-*- coding: utf-8 -*-
from ctypes import *
import psutil
import win32api
def injectDll(string=None):
PAGE_READWRITE = 0x04
PROCESS_ALL_ACCESS = (0x000F0000|0x00100000|0xFFF)
VIRTUAL_MEM = (0x1000 | 0x2000)
dll_path = 'd://softdp//pyworkspace//wechat_demo//WechatDB.dll'.encode('ascii','ignore')
dll_len = len(dll_path)
print(dll_len)
kernel32 = windll.kernel32
#第一步获取整个系统的进程快照
pids = psutil.pids()
#第二步在快照中去比对进程名
for pi