首页
社区
课程
招聘
[求助]向系统领空写值的问题
发表于: 2008-5-31 01:14 4796

[求助]向系统领空写值的问题

2008-5-31 01:14
4796
PROC lpOldAddr=GetProcAddress(GetModuleHandle("User32.dll"),"GetWindow");
DWORD jmpAddr=(DWORD)lpNewAddr;
BYTE nVaule[7];
nVaule[0]=0x68;
nVaule[1]=(DWORD)jmpAddr & 0xFF;
nVaule[2]=(DWORD)jmpAddr >>8 & 0xFF;
nVaule[3]=(DWORD)jmpAddr >>16 & 0xFF;
nVaule[4]=(DWORD)jmpAddr >>24 & 0xFF;
nVaule[5]=0xC3;
nVaule[6]=0x90;
/* HOOK API 这样写没问题,但我想用指针来完成*/
//::WriteProcessMemory(hGame,(void *)lpOldAddr,nVaule,sizeof(nVaule),0);

/* 这样写就不可以? */
for (int i=0;i<7;i++)
    *(BYTE *)((BYTE *)lpOldAddr+i)=nVaule[i];

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 354
活跃值: (10)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
不可以。。。
你是在写别的进程,必须用WriteProcessMemory,且要去掉代码段写保护
2008-5-31 02:01
0
雪    币: 189
活跃值: (56)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
代码段一般都没有写属性的,写之前用virtualprotect(好象叫这个api吧,记不清了)修改一下内存属性就可以了
2008-5-31 02:52
0
雪    币: 108
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
呵呵,我没有说是在写别的进程,DLL注入进程后,应该算“自己”的进程吧?
2008-5-31 10:28
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
写别的进程不需要,写本进程需要
2008-5-31 10:56
0
雪    币: 239
活跃值: (190)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
可以这样写的,我就这样写过
2008-6-1 21:03
0
雪    币: 108
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
我用OD跟过,访问违规
2008-6-2 15:58
0
游客
登录 | 注册 方可回帖
返回
//