易语言注入.dll模块有了,该怎么注入啊

RT

第1个回答  2010-05-11
.版本 2

.子程序 _按钮1_被单击
.局部变量 phandle, 整数型
.局部变量 dwsize, 整数型
.局部变量 dllname, 文本型
.局部变量 lpbuf, 整数型
.局部变量 ret, 整数型
.局部变量 h, 整数型
.局部变量 hthread, 整数型
.局部变量 sa, SECURITY_ATTRIBUTES
.局部变量 dwret, 整数型
.局部变量 remotbaseaddr, 整数型
.局部变量 localbaseaddr, 整数型
.局部变量 trueaddr, 整数型
.局部变量 hmodel
.局部变量 code, 字节集
.局部变量 path, 文本型

phandle = OpenProcess (2035711, 0, 到整数 (编辑框1.内容))
.如果真 (phandle = 0)
信息框 (“打开进程失败!”, 0, )
返回 ()
.如果真结束
dllname = “mydll.dll”
path = 取运行目录 () + “\” + dllname
dwsize = 取文本长度 (path) + 1
lpbuf = API_VirtualAllocEx (phandle, 0, dwsize, 4096, 64)
.如果真 (lpbuf = 0)
信息框 (“分配内存失败!”, 0, )
CloseHandle (phandle)
返回 ()
.如果真结束
ret = WriteProcessMemory (phandle, lpbuf, 到字节集 (path) + { 0 }, dwsize, 0)
.如果真 (ret = 0)
信息框 (“写内存失败!”, 0, )
VirtualFreeEx (phandle, lpbuf, dwsize, 16384)
返回 ()
.如果真结束
h = API_GetModuleHandle (“kernel32.dll”)
h = API_GetProcAddress (h, “LoadLibraryA”)
hthread = API_CreateRemoteThread (phandle, sa, 0, h, lpbuf, 0, 0)
WaitForSingleObject (hthread, -1)
GetExitCodeThread (hthread, dwret)
remotbaseaddr = dwret
VirtualFreeEx (phandle, lpbuf, dwsize, 16384)
CloseHandle (hthread)
' ///////////////////////////////////////////////////////////////////////////////////////
localbaseaddr = LoadLibraryEx (path, 0, 0)
h = API_GetProcAddress (localbaseaddr, “mydllcall”)
trueaddr = remotbaseaddr + h - localbaseaddr
FreeLibrary (localbaseaddr)
lpbuf = API_VirtualAllocEx (phandle, 0, 5, 4096, 64)
.如果真 (lpbuf = 0)
信息框 (“分配内存失败!”, 0, )
CloseHandle (phandle)
返回 ()
.如果真结束
code = { 233 } + 到字节集 (到整数 (trueaddr - lpbuf - 5))
ret = WriteProcessMemory (phandle, lpbuf, code, 5, 0)
.如果真 (ret = 0)
信息框 (“写内存失败!”, 0, )
VirtualFreeEx (phandle, lpbuf, 5, 16384)
返回 ()
.如果真结束
hthread = API_CreateRemoteThread (phandle, sa, 0, lpbuf, 0, 0, 0)
WaitForSingleObject (hthread, -1)
VirtualFreeEx (phandle, lpbuf, 5, 16384)
CloseHandle (hthread)
CloseHandle (phandle)
========
编辑框1.内容为进城PID本回答被提问者采纳
第2个回答  2010-05-11
1楼的朋友,你这样太繁琐了,还要自己写代码额,,

到网上下个注入器源码,就可以了,O(∩_∩)O~