社区
进程/线程/DLL
帖子详情
远程内存申请的问题,懂外挂的来下
Email144
2012-01-26 10:23:52
我在远程进程申请了段内存,然后通过注入代码的方法给这段内存赋值游戏数据,然后将那段数据显示在本地进程中,请问怎么实现?
我试着实现过,但由于存放申请内存的指针是在本地进程中,所以会赋值失败,因为我要将数据在对话框显示,又没有注入DLL,有什么好的办法实现啊啊
...全文
202
6
打赏
收藏
远程内存申请的问题,懂外挂的来下
我在远程进程申请了段内存,然后通过注入代码的方法给这段内存赋值游戏数据,然后将那段数据显示在本地进程中,请问怎么实现? 我试着实现过,但由于存放申请内存的指针是在本地进程中,所以会赋值失败,因为我要将数据在对话框显示,又没有注入DLL,有什么好的办法实现啊啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Email144
2012-02-01
打赏
举报
回复
void GameInfo()
{
DWORD g_Hp,g_Mp;
_asm
{
mov eax,dword ptr ds:[0x6FAE54CC]
mov ebx,[eax+0x3f4]
mov eax,[ebx+0x248]
mov g_Hp,eax
mov eax,[ebx+0x250]
mov g_Mp,eax
}
}
void WriteRomateData(LPVOID code,LPVOID &mFuncAddr,int size)
{
DWORD NumberOfByte;
mFuncAddr = VirtualAllocEx(hProcess,NULL,size,MEM_COMMIT,PAGE_EXECUTE_READWRITE);
WriteProcessMemory(hProcess,pDate,code,size, &NumberOfByte);
}
void GameDlg::OnButton()
{
// TODO: Add your control notification handler code here
LPVOID mFuncAddr;
WriteRomateData(GameInfo,mFuncAddr 130);
DWORD NumberOfByte;
HANDLE hThread = NULL;
HWND hWnd = ::FindWindow(NULL,"Warcraft III");
if(hWnd == NULL)
{ return;
}
DWORD ProcessId = NULL;
GetWindowThreadProcessId(hWnd,&ProcessId)
handle hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,ProcessId);
hThread = CreateRemoteThread(hProcess,NULL,0,(LPTHREAD_START_ROUTINE)mFuncInfo,
NULL,0,&NumberOfByte);
DWORD Hp,Mp,byread;
ReadProcessMemory(hProcess,???,&Hp,4,&byread);
//???注意这里是要读远程的地址,数据已经通过远程注入代码得到,但是这个值是在远程中,
//现在是怎样能得到一个两者共同的指针,就能读取出来了
}
xiaohuh421
2012-01-31
打赏
举报
回复
到<广海>或者<看雪>论坛看看吧,那里专交流这些东西,也有很多资源的
OrangeIceWater
2012-01-31
打赏
举报
回复
你在目标进程里 读它的数据,数据是它的,内存地址也是它的,当然不可以直接拿过来就用,说不定在你的进程里相同的地址里保存却是某些不可读的数据
使用readprocessmemory 将目标进程的内存地址 映射到本地进程就可以读了;
Email144
2012-01-27
打赏
举报
回复
[Quote=引用 1 楼 csx007700 的回复:]
引用楼主 email144 的回复:
我试着实现过,但由于存放申请内存的指针是在本地进程中,所以会赋值失败
不太理解你的意思啊
远程进程的内存操作无非就是
VirtualAllocEx
WriteProcessMemory
ReadProcessMemory
难道你直接访问了VirtualAllocEx返回的地址吗?...... 用WriteProcessMem……
[/Quote]
是的,我在远程进程访问了这个地址
RLib
2012-01-27
打赏
举报
回复
修改注入的代码,把需要的数据写到中转文件,然后本地进程去读取。
csx007700
2012-01-26
打赏
举报
回复
[Quote=引用楼主 email144 的回复:]
我试着实现过,但由于存放申请内存的指针是在本地进程中,所以会赋值失败
[/Quote]
不太理解你的意思啊
远程进程的内存操作无非就是
VirtualAllocEx
WriteProcessMemory
ReadProcessMemory
难道你直接访问了VirtualAllocEx返回的地址吗?...... 用WriteProcessMemory和ReadProcessMemory
C#
外挂
入门 配套 实例+视频 教程
C#
外挂
入门 配套 实例+视频 教程 2010年06月25日 // 交流 QQ 406050799 (加我也没用我会的就这点) /* 做
外挂
我也是现学的。可以说写的这个教程是现学现卖,希望对用C#的
外挂
爱好者能有点帮助。 * 有错误希望大家指出来我怕耽人子弟 第一课:先说下本教程用C#做该挂的原理!(也算不上什么c#了 就几个 winApi) ...
利用
远程
线程注入DLL (DELPHI版)
原文:http://apps.hi.baidu.com/share/detail/15132422
研究
外挂
3个多月了~发现写一个完整的
外挂
,注入是少不了的,找了几篇不错的转来~和我一样的新手们可以看看,高手就当复习吧。呵呵。
SDK文档里是这样描述的:进程是一个正在运行的程序,它拥有自己的地址空间,拥有自己的代码,数据和其他系统资源.一个进程包含了一个或者多个运行在此进程内的线程. 从定义上看出进程一定要有线程,线程是进程
内存
中的独立实体. 线程插入技术就是把
visual_c++
外挂
教程(较详细)
课程分四个大章节 初级篇,中级篇,进阶篇,高级篇 初级篇内容:编写一个完整的,简单的
外挂
C++的数据类型:Byte,Word,DWORD,int,float API函数的调mouse_event,GetWindowRect,SetCursorPos,FindWindow,SendMessage)
从
内存
中加载Pe文件
从
内存
中加载Pe文件 作者:Sunline lisunlin0@yahoo.com.cn 日期:2007年7月关键字:代码重定位,代码注入,
远程
代码, 加载exe文件, 加载dll文件Remotthread, injectcode, relocation code, load dll from memory, load pe from memory loa
Pe研究之:从
内存
中加载Pe文件(代码重定位,进程隐藏,代码注入)
Pe研究之: 从
内存
中加载Pe文件 作者:Sunline lisunlin0@yahoo.com.cn 日期:2007年7月关键字:代码重定位,代码注入,
远程
代码, 加载exe文件, 加载dll文件Remotthread, injectcode, relocation code, load dll from memory, load pe
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章