能力值:
( LV2,RANK:10 )
26 楼
有技术含量的东西应该支持一下
能力值:
( LV11,RANK:180 )
27 楼
难道这就是传说中的大牛???? 我对你的敬仰犹如滔滔江水........
能力值:
( LV4,RANK:50 )
28 楼
可惜没PS2键盘,一用就死机,郁闷了。
能力值:
( LV2,RANK:10 )
29 楼
估计要弄成可初步使用的工具,会花不少时间。
能力值:
( LV2,RANK:10 )
30 楼
膜拜,好东西,自己写内核调试器了。
能力值:
( LV2,RANK:10 )
31 楼
太强大了.都是 直接操作显存 啊
能力值:
( LV4,RANK:50 )
32 楼
Bitvisor
BluePill
dbvm
Linux的kvm
能力值:
( LV4,RANK:50 )
33 楼
第一个问题给个建议,
hyperdbg好像没有线程,只有Host和Guest状态。
它借用了DriverEntry的调用线程的CR3空间,所以,它跟被调试线程可能不在同一个CR3进程空间。
当VMEXIT产生退回到Host的时候,OS系统很有可能不认为HOST是有效内核线程。
而这个“线程”访问内存的时候,OS拿着由它产生的GP异常可能自己也不知道该干啥。
尤其是HOST开中断的话,知道我说什么吧。
另:
而且我记得HyperDBG是单CPU的VMX,多核下经常不好使。
显卡驱动是垃圾,我3台机器有2台经常蓝屏。
能力值:
( LV3,RANK:30 )
34 楼
谢楼上 2个问题已经都完美解决了…
返回vmm的时候 中断状态(IRQL) 属于产生虚拟机事件的那个线程,中断默认关闭,cr3是当初初始化vmcs使用的。重置cr3可以切入当前进程空间。vmm中注入#PF异常可以访问分页内存。
单步慢是没有锁键盘中断。蓝屏或死机是因为在多核平台需要发送IPI中断锁核心。
你是说用了vmxice蓝屏?估计是锁核心的问题,在单核下试试吧,哈哈
vmxice显示是应用层directdraw锁表面然后内核驱动直接操作显存,操作显存的时候只与硬件有关,与显卡驱动程序无关。
能力值:
( LV5,RANK:60 )
35 楼
终于发现了吗
hyperdbg\core\mmu.c
MmuReadVirtualRegion(cr3, va, buffer, size)
人家都写好了,所以我说你没抄全啊。
能力值:
( LV3,RANK:30 )
36 楼
我想要读的分页内存已经交换出去了,不在物理内存上,在磁盘上。用线性地址在PDE里根本就无法索引到物理内存。懂吗?
mmu.c 这模块是多余的,无法理解hyperdbg作者弄这么复杂干吗,而且不兼容pae,他只是搞了个映射,没有读磁盘,没有IDT,读分页内存成了笑话。 NTSTATUS MmuReadWriteVirtualRegion(ULONG cr3, ULONG va, PVOID buffer, ULONG size, BOOLEAN isWrite)
{
NTSTATUS r;
ULONG phy, i, n;
i = 0;
MmuPrint("[MMU] MmuReadWriteVirtualRegion() cr3: %.8x va: %.8x size: %.8x isWrite? %d\n",
CR3_TO_PDBASE(cr3), va, size, isWrite);
while (va+i < va+size) {
n = MIN(size-i, PAGE_SIZE-PAGE_OFFSET(va+i));
r = MmuGetPhysicalAddress(CR3_TO_PDBASE(cr3), va+i, &phy);
if (r != STATUS_SUCCESS)
return STATUS_UNSUCCESSFUL; NTSTATUS MmuGetPhysicalAddress(ULONG cr3, ULONG va, PULONG pphy)
{
NTSTATUS r;
PTE pte;
BOOLEAN isLarge;
r = MmuGetPageEntry(CR3_TO_PDBASE(cr3), va, &pte, &isLarge);
if (r != STATUS_SUCCESS) {
return STATUS_UNSUCCESSFUL;
}
能力值:
( LV5,RANK:60 )
37 楼
这只是我自己对hyperdbg的理解,期待楼主的成品早日完成。
能力值:
( LV2,RANK:10 )
38 楼
markaaa
能力值:
( LV12,RANK:470 )
39 楼
支持mengxp大牛的调试器
能力值:
( LV12,RANK:760 )
40 楼
改改就能不蓝不的XX的实用版调试器啊~
能力值:
( LV2,RANK:10 )
41 楼
mark&look
能力值:
( LV2,RANK:10 )
42 楼
我想请教你绘图是在VMM里边画的还是利用驱动画的呢?