首页
社区
课程
招聘
[旧帖] [求助]VirtualProtectEx 有什么方法使用汇编来实现? 0.00雪花
发表于: 2013-6-12 13:54 15759

[旧帖] [求助]VirtualProtectEx 有什么方法使用汇编来实现? 0.00雪花

2013-6-12 13:54
15759

人家HOOK VirtualProtectEx 就可以看到我要写入哪个地址了 可否像驱动那样使用汇编去更改

VOID WPOFF() //驱动去掉页面保护
{                  
        __asm
        {
                cli
                        push eax   
                        mov  eax, cr0
                        and  eax, 0FFFEFFFFh
                        mov  cr0, eax
                        pop  eax
        }   

}

[培训]科锐软件逆向54期预科班、正式班开始火爆招生报名啦!!!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 35
活跃值: (1084)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
为什么我在线几天了 这金币还是 36??
2013-6-12 13:57
0
雪    币: 659
活跃值: (543)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
3
同问过,没人回复- -
如果是hook,绕过吧
2013-6-13 13:07
0
雪    币: 29
活跃值: (157)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
R3下自己实现个,凑合着用

#define OUT
#define IN
BOOL __stdcall SDI_VirtualProtect(
					IN LPVOID lpAddress,       // region of committed pages
					IN SIZE_T dwSize,          // size of the region
					IN DWORD flNewProtect,     // desired access protection
					OUT PDWORD lpflOldProtect   // old protection
					)
{
	BOOL bResult;
	lpAddress = (LPVOID)((DWORD)lpAddress & 0xFFFFF000);

	__asm
	{
		jmp L_X0;
	}

C_SysEnter:
	__asm 
	{
		mov edx, esp;
		__asm _emit 0x0F;//sysenter
		__asm _emit 0x34;
		ret;
	}

C_NTVitrualProtect:
	__asm
	{
		mov eax, 0x89;
		call C_SysEnter;
		ret 0x14;
	}

L_X0:
	__asm
	{
		push lpflOldProtect;
		push flNewProtect;
		lea eax, dwSize;
		push eax;
		lea eax, lpAddress;
		push eax;
		push -1;
		call C_NTVitrualProtect;
		test eax, eax;
		jnz L_X1;
		inc eax;
		jmp L_X2;
L_X1:
		xor eax, eax;
L_X2:
		mov bResult, eax;
	}
                return bResult;
}
2013-6-14 14:52
0
雪    币: 35
活跃值: (1084)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
已经不想这问题了。。。。X T居然有内存镜像对比。。。改哪里都发现 没用了。
2013-6-17 00:26
0
游客
登录 | 注册 方可回帖
返回