CreateRemoteThread远程线程注入dll到游戏-1

远程线程注入是指通过CreateRemoteThread在目标进程创建一个线程,然后加载注入我们的DLL,由于易语言只能编译32位DLL,所以我们只能注入到32进程,本课录制视频分为3个课时,第一课时主要完成线程注入的主程序。

远程线程注入

.版本 2
.支持库 spec
 
模块名称 = 编辑框1.内容
' 1、 获取应用进程句柄,0表示不继承句柄
进程句柄 = OpenProcess (2035711, 0, 到数值 (编辑框2.内容))
.如果真 (进程句柄 = 0)
    信息框 (“打开进程失败,可能权限不够”, 0, , )
 
    返回 ()
 
.如果真结束
' 2、在远程进程中(应用进程中)申请内存空间,用来存放模块路径
' 0表示自动分配保留内存页面地址
目标进程内存地址 = VirtualAllocEx (进程句柄, 0, 4096, 4096, 64)
.如果真 (目标进程内存地址 = 0)
    信息框 (“分配内存地址失败”, 0, , )
    返回 ()
 
.如果真结束
' 3、WriteProcessMemory写进内存
ret_l = WriteProcessMemory (进程句柄, 目标进程内存地址, 模块名称, 取字节集长度 (到字节集 (模块名称)), 取变量地址 (写入成功的地址))
.如果真 (ret_l = 假)
    信息框 (“数据写入内存失败!”, 0, , )
    返回 ()
 
.如果真结束
 
' 4、获取LoadlibrarA地址
LoadlibrarA地址 = GetProcAddress (GetModuleHandleA (“Kernel32.dll”), “LoadLibraryA”)
.如果真 (LoadlibrarA地址 = 0)
    信息框 (“LoadlibrarA地址失败”, 0, , )
    返回 ()
 
.如果真结束
' 5、核心远程线程注入
creatRet = CreateRemoteThread (进程句柄, 0, 0, LoadlibrarA地址, 目标进程内存地址, 0, 0)
.如果真 (creatRet = 0)
    信息框 (“远程线程注入失败”, 0, , )
    返回 ()
 
.如果真结束

教程下载:

链接:https://pan.baidu.com/s/158ikKVjIwaoF4438MG4fhA

提取码:加QQ群:521068947 群文件下载

511遇见全部视频教程百度网盘下载

资源教程交流①群:521068947

511遇见QQ: 272586593


发布日期:

所属分类: 编程 标签: