-
-
[旧帖]
[求助]vc6.0注入不能用ReadProcessMemory,内联汇编崩溃!
0.00雪花
-
发表于:
2011-2-5 16:49
1098
-
[旧帖] [求助]vc6.0注入不能用ReadProcessMemory,内联汇编崩溃!
0.00雪花
1.我注入一个游戏,回调函数是KeyboardProc,在dll里面显示调用,然后在dll里面定义的 KeyboardProc中使用
CWnd *pCWnd = CWnd::GetForegroundWindow();//函数返回前台窗口句柄指针(用户当前工作的窗口)。(第一步)
DWORD processid;//定义变量(窗口进程ID))。(第二步)
GetWindowThreadProcessId(pCWnd->m_hWnd,&processid);(第三步)
m_proHandle=OpenProcess(PROCESS_ALL_ACCESS,false,processid);//打开窗口进程ID,获取窗口进程句柄(第四步)
m_proHandle是全局的变量,在一个xx.h中定义,并且调用ReadProcessMemory读出数据返回变量(第五步)
现在的问题是,读出的变量是空值,第五步这步确定没有错,那么我觉得应该是。。。。我也不知道哪里错了,请比我懂的指正我!!谢谢
2.另外,我也想过用内联汇编,但是更悲剧的发现呼出外挂马上崩溃:
extern CString GetRoleName(){ //返回角色名 db [[[[CurRoleBase]+0c]+1b4]+4]+30
DWORD*data;
_asm{
//CurRoleBase
mov eax,0x775ad0
mov eax,[eax]
add eax,0x0C
mov eax,[eax]
add eax,0x1b4
mov eax,[eax]
add eax,0x04
mov eax,[eax]
add eax,30
mov data, eax
}
CString str;
str.Format(_T("%s"), *data);
return str;
} //地址是正确的,游戏是ascii码!!喂神马啊!!!
ps:我是个菜鸟中的菜鸟,可是我好学,想说我笨就说吧,我能挺住!
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法