首页
社区
课程
招聘
[分享]win7 64位系统下汇编
发表于: 2012-3-16 15:08 6546

[分享]win7 64位系统下汇编

2012-3-16 15:08
6546
64位的汇编程序,

driver.c:

VOID WPOFF()
{

#ifdef _WIN64

        g_uCr0 = __readcr0();
        __writecr0( g_uCr0 & 0x0fffffffffffeffff );
        _disable();

#else        

        ULONG uAttr;

        _asm
        {
                push eax;
                mov eax, cr0;
                mov uAttr, eax;
                and eax, 0FFFEFFFFh; // CR0 16 BIT = 0
                mov cr0, eax;
                pop eax;
                cli
        }

        g_uCr0 = uAttr; //保存原有的 CRO 屬性

#endif

}

VOID WPON()
{

#ifdef _WIN64

        _enable();
        __writecr0( g_uCr0 );

#else        

        _asm
        {
                sti
                push eax;
                mov eax, g_uCr0; //恢復原有 CR0 屬性
                mov cr0, eax;
                pop eax;
        }

#endif

}

.data

g_struOldValue                                                        db                16 dup( 0 )                                               

g_ulCheckFunAddr                                                dq                0

.code

JmpFun PROC

   pop rax

   ;保存所有寄存器
   pushfq   
   push rax
   push rbx  
   push rcx
   push rdx
   push rbp
   push rsi  
   push rdi
   push rsp
   push r8
   push r9   
   push r10
   push r11
   push r12
   push r13  
   push r14
   push r15
   
   mov r11, rsp
   mov r10, rsp
   add r11, 88h
   add r11, 0b28h

   sub rsp, 60h

   mov rax, qword ptr [r11+58h]
   mov qword ptr [r10-10h], rax                                        ; 参数11

   mov rax, qword ptr [r11+50h]
   mov qword ptr [r10-18h], rax                                        ; 参数10

   mov rax, qword ptr [r11+48h]
   mov qword ptr [r10-20h], rax                                        ; 参数9

   mov rax, qword ptr [r11+40h]
   mov qword ptr [r10-28h], rax                                        ; 参数8

   mov rax, qword ptr [r11+38h]
   mov qword ptr [r10-30h], rax                                        ; 参数7

   mov rax, qword ptr [r11+30h]
   mov qword ptr [r10-38h], rax                                        ; 参数6

   mov rax, qword ptr [r11+28h]
   mov qword ptr [r10-40h], rax                                        ; 参数5

   mov rax, g_ulCheckFunAddr
   call rax

   add rsp, 60h

   pop r15
   pop r14
   pop r13
   pop r12
   pop r11
   pop r10
   pop r9
   pop r8
   pop rsp
   pop rdi
   pop rsi
   pop rbp
   pop rdx
   pop rcx
   pop rbx
   pop rax
   popfq

   ;自己结束函数调用
        add rsp, 0af0h
        pop r15
        pop r14
        pop r13
        pop r12
        pop rdi
        pop rsi
        pop rbx

   ret

JmpFun ENDP

        end

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 585
活跃值: (583)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
2
64位汇编 ,参考:
http://bbs.pediy.com/showthread.php?t=43967
http://bbs.pediy.com/showthread.php?t=147278&highlight=
2012-3-16 15:10
0
雪    币: 992
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
大神啊,32位的我都还没弄明白呢
2012-3-16 15:35
0
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
好家伙,顶啦顶啦
2012-3-16 15:54
0
雪    币: 585
活跃值: (583)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
5
我也刚接触64位的汇编,感觉跟32位没多大的区别,学懂一样就好办了。
2012-3-16 15:56
0
雪    币: 506
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
支持一下,
还没想过64位呢。
2012-3-16 16:21
0
雪    币: 1233
活跃值: (907)
能力值: ( LV12,RANK:750 )
在线值:
发帖
回帖
粉丝
7
别玩hook了,PG保护会让你死得很惨的!!!唉~
2012-3-16 16:50
0
雪    币: 94
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
前排支持一下,看下x64的api hook
2012-3-16 16:58
0
雪    币: 585
活跃值: (583)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
9
PG保护?何解。。内存保护吗?
2012-3-16 17:13
0
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
PatchGuard 啊
2012-3-16 17:23
0
雪    币: 585
活跃值: (583)
能力值: ( LV13,RANK:290 )
在线值:
发帖
回帖
粉丝
11
恩,确实会蓝屏,,万恶的微软啊,,
2012-3-16 17:35
0
雪    币: 86
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
了解了解看看

学习了
2012-4-4 10:50
0
雪    币: 159
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
虾米东西?晕!
2012-6-27 17:20
0
雪    币: 27
活跃值: (127)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
14
guxinyi是好人
2012-6-27 17:24
0
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
15
pg貌似是内存页面保护吧。
2012-7-3 09:46
0
雪    币: 6144
活跃值: (999)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
64位的工具还不是很到位。
2012-7-11 18:09
0
游客
登录 | 注册 方可回帖
返回