| 热门文章 |
 |
|
| 编辑推荐 |
 |
|
|
| 用Delphi在2000和XP/2003下从Ring3进入Ring0的无驱动解决方法by LYSoft LiuYang |
|
|
作者:ly_liuyang
来源:csdn 点击: 更新:2006-12-19
|
|
procedure MmGetPhysicalAddress; var hNTDll: THandle; begin _MmGetPhysicalAddress := 0; hNTDll := LoadLibrary('ntoskrnl.exe'); if hNTDll <> 0 then begin _MmGetPhysicalAddress := NTOSBaseAddr + Cardinal(GetProcAddress(hNTDll, 'MmGetPhysicalAddress')) - hNTDll; FreeLibrary(hNTDll); // ShowMessage(Format('Virtual address of MmGetPhysicalAddress in Kernel Mode : %s', [IntToHex(_MmGetPhysicalAddress, 8)])); end; if _MmGetPhysicalAddress > 0 then ExecRing0Proc(@Ring0Func, 32); end;
...... MemoryAddress.VirtualAddress := StrToInt64Def(Edit1.Text, $806AB000); MmGetPhysicalAddress; Memo1.Lines.Add(Format('(Ring 0 Mode) Virtual address : $%s = Physical address : $%s', [IntToHex(MemoryAddress.VirtualAddress, 8), IntToHex(MemoryAddress.PhysicalAddress.LowPart, 8)]));
powered by LYSoft LiuYang http://lysoft.7u7.net
|
|
|