首页
社区
课程
招聘
[求助]把一段asm code 写到另一个进程中
发表于: 2010-8-22 23:36 3966

[求助]把一段asm code 写到另一个进程中

2010-8-22 23:36
3966
一个函数
void _declspec(naked) AsmCode(void) {
  __asm {
    ....
  }
}


现在想把这段代码写到另一个XX进程中, 通过一个进程读写函数:
void WriteProcessBYTES(HANDLE hProcess, DWORD lpAddress, void* buf, int len) {
	DWORD oldprot,dummy = 0;
	VirtualProtectEx(hProcess, (void*) lpAddress, len, PAGE_READWRITE, &oldprot);
	WriteProcessMemory(hProcess, (void*) lpAddress, buf, len, 0);
	VirtualProtectEx(hProcess, (void*) lpAddress, len, oldprot, &dummy);
}

我是这样写的:
WriteProcessBYTES(hProcess, address, &AsmCode, 0x50);

但调试时候发现 AsmCode 的起始地址是 00401fe0,但是在WriteProcessMemory时候那个buf却是0x401019
在 0x401019 处发现:
@ILT+20(?AsmCode@@YAXXZ):
00401019   jmp         AsmCode (00401fe0)


请问在WriteProcessBYTES 的时候第三个参数应该怎么写?
谢谢~

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
函数跳转指令表,debug版才有的东西。
2010-8-22 23:46
0
雪    币: 196
活跃值: (96)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
多谢,我用的vc6, 不知道有没有可以设置的地方  在debug模式下禁用函数函数跳转表, 因为这个还在调试开发阶段,需要不停debug。。
2010-8-23 00:10
0
雪    币: 196
活跃值: (96)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
搞定。编译优化选 maximize speed
2010-8-23 01:34
0
游客
登录 | 注册 方可回帖
返回
//