能力值:
( LV2,RANK:10 )
|
-
-
2 楼
你这个写法 在其他机器上 有很多时候会失败
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
进来了就留个纪念吧!
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
貌似会有权限问题
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
就像二楼说的,我觉得这句:
int 写内存返回值 = WriteProcessMemory(打开文件句柄, (LPVOID)0x401272, &数据, 1, NULL);
(LPVOID)0x401272 要改成:
#define OFFSET 0x272
#define TEXT_SECTION 0x1000
HANDLE hbaseaddr = NULL;
HANDLE phSnapshot = NULL;
MODULEENTRY32 me32;//存放快照信息的结构体
phSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, 接受PID);//创建进程快照
if (phSnapshot == INVALID_HANDLE_VALUE)
{
return -1;
}
//使用之前先设置大小
me32.dwSize = sizeof(MODULEENTRY32);
if (!Module32First(phSnapshot, &me32))
{
return -2;
}
do
{
if (strcmp(me32.szModule, ""))
{
hbaseaddr = (HANDLE)me32.modBaseAddr;
}
} while (Module32Next(phSnapshot, &me32));
if (hbaseaddr == NULL)
return -3;
int 写内存返回值 = WriteProcessMemory(打开文件句柄, (LPVOID)(hbaseaddr + TEXT_SECTION + OFFSET ), &数据, 1, NULL);
至于那个TEXT_SECTION ,请用工具查询你这个程序的.text节的RVA, 我猜想是1000
|
能力值:
( LV8,RANK:146 )
|
-
-
7 楼
必须赞一个
|
能力值:
( LV3,RANK:20 )
|
-
-
8 楼
感谢完善
|
能力值:
( LV4,RANK:50 )
|
-
-
9 楼
羡慕会易语言的大神!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
win7 上也成功了,奇了怪了,什么情况,ASLR 没用?
|
能力值:
( LV3,RANK:20 )
|
-
-
11 楼
嗯。。你改一下程序名字再用OD载入看看。。。基址。就变了。。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
同问为什么aslr失效了? 有大神解答么
|
能力值:
( LV1,RANK:0 )
|
-
-
13 楼
学习一下
|
|
|