能力值:
( LV2,RANK:10 )
|
-
-
3 楼
如下 SetWindowsHookEx(WH_GETMESSAGE, KeyboardProc, 0,GetCurrentThreadId());
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
你自己调用dll的时候直接调用了他的函数吧,你注入的时候需要让目标程序也执行你的功能才行
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
首先打开进程,关于注入.我给你贴一分易语言的代码,我想你应该更容易理解,希望你能看的明白
完整注入代码如下:
*注意:要先打开进程获取句柄
.版本 2
.如果真 (pHandle = 0)
.如果真 (取反 (隐藏错误信息))
信息框 (提取错误信息 (#打开进程失败), #错误图标, 提取错误标题 (#打开进程失败))
.如果真结束
返回 (提取错误代码 (#打开进程失败))
.如果真结束
DLLName = DLL文件全名
Path = 选择 (取文本右边 (DLL装载路径, 1) = “\”, DLL装载路径, DLL装载路径 + “\”) + DLLName
dwSize = 取文本长度 (Path) + 1
lpbuf = VirtualAllocEx (pHandle, 0, dwSize, 4096, 64)
.如果真 (lpbuf = 0)
.如果真 (取反 (隐藏错误信息))
信息框 (提取错误信息 (#分配内存失败), #错误图标, 提取错误标题 (#分配内存失败))
.如果真结束
CloseHandle (pHandle)
返回 (提取错误代码 (#分配内存失败))
.如果真结束
Ret = WriteProcessMemory (pHandle, lpbuf, 到字节集 (Path) + { 0 }, dwSize, 0)
.如果真 (Ret = 0)
.如果真 (取反 (隐藏错误信息))
信息框 (提取错误信息 (#写内存失败), #错误图标, 提取错误标题 (#写内存失败))
.如果真结束
VirtualFreeEx (pHandle, lpbuf, dwSize, 16384)
返回 (提取错误代码 (#写内存失败))
.如果真结束
Handle = GetModuleHandle (“kernel32.dll”)
Handle = GetProcAddress (Handle, “LoadLibraryA”)
hThread = CreateRemoteThread (pHandle, SECURITY, 0, Handle, lpbuf, 0, 0)
WaitForSingleObject (hThread, -1)
GetExitCodeThread (hThread, dwRet)
RemotBaseadDr = dwRet
VirtualFreeEx (pHandle, lpbuf, dwSize, 16384)
CloseHandle (hThread)
.如果真 (DLL函数名 ≠ “”)
LocalbaseadDr = LoadLibraryEx (Path, 0, 0)
Handle = GetProcAddress (LocalbaseadDr, DLL函数名)
.如果真 (Handle = 0)
.如果真 (取反 (隐藏错误信息))
信息框 (提取错误信息 (#取函数地址失败), #错误图标, 提取错误标题 (#取函数地址失败))
.如果真结束
FreeLibrary (LocalbaseadDr)
CloseHandle (pHandle)
返回 (提取错误代码 (#取函数地址失败))
.如果真结束
TrueAddress = RemotBaseadDr + Handle - LocalbaseadDr
FreeLibrary (LocalbaseadDr)
lpbuf = VirtualAllocEx (pHandle, 0, 5, 4096, 64)
.如果真 (lpbuf = 0)
.如果真 (取反 (隐藏错误信息))
信息框 (提取错误信息 (#分配内存失败), #错误图标, 提取错误标题 (#分配内存失败))
.如果真结束
CloseHandle (pHandle)
返回 (提取错误代码 (#分配内存失败))
.如果真结束
Code = { 233 } + 到字节集 (到整数 (TrueAddress - lpbuf - 5))
Ret = WriteProcessMemory (pHandle, lpbuf, Code, 5, 0)
.如果真 (Ret = 0)
.如果真 (取反 (隐藏错误信息))
信息框 (提取错误信息 (#写内存失败), #错误图标, 提取错误标题 (#写内存失败))
.如果真结束
VirtualFreeEx (pHandle, lpbuf, 5, 16384)
返回 (提取错误代码 (#写内存失败))
.如果真结束
hThread = CreateRemoteThread (pHandle, SECURITY, 0, lpbuf, 0, 0, 0)
WaitForSingleObject (hThread, -1)
VirtualFreeEx (pHandle, lpbuf, 5, 16384)
CloseHandle (hThread)
.如果真结束
CloseHandle (pHandle)
|
能力值:
( LV3,RANK:20 )
|
-
-
14 楼
不知楼主的意思是注入到别的进程,hook里的功能不能用么?
http://bbs.bccn.net/thread-288326-1-1.html
学32汇编的时的注入练习
楼主参考下
|