PE = 读入文件 (要注入的文件路径)
DLL = 读入文件 (要注入的DLL路径)
映像基址 = 取映像基址 (PE)
映像大小 = 取映像大小 (PE)
加区段 (PE, “.test”, 取空白字节集 (取字节集长度 (#Load) + 取字节集长度 (DLL)), #区段属性_包含可执行代码, 区段)
写PE数据 (PE, 区段.实际地址, { 104 } + 到字节集 (到整数 (映像基址 + 区段.内存地址 + 15 + 取字节集长度 (#Load)))) ' push dll
写PE数据 (PE, 区段.实际地址 + 5, { 232 } + 到字节集 (到整数 (-(映像基址 + 映像大小 + 15) + 映像基址 + 区段.内存地址 + 20))) ' call load
写PE数据 (PE, 区段.实际地址 + 10, { 233 } + 到字节集 (到整数 (-(映像基址 + 映像大小 + 15) + 映像基址 + 取入口地址 (PE)))) ' jmp 入口
写PE数据 (PE, 区段.实际地址 + 15, #Load)
写PE数据 (PE, 区段.实际地址 + 15 + 取字节集长度 (#Load), DLL)
置入口地址 (PE, 区段.内存地址)
文件名 = 文本_取右边 (要注入的文件路径, “\”, , )
调试输出 (文件名)
.如果 (写到文件 (取运行目录 () + “\已注入DLL_” + 文件名, PE))
返回 (“注入成功”)
.否则
返回 (“注入失败”)
上一篇 管理员模式启动程序更加兼容