Delphi Äܲ»ÄÜ´ÓRing 3½øÈëRing 0
Delphi Äܲ»ÄÜ´ÓRing 3½øÈëRing 0?
Â¥Ö÷skyworld_xm£¨skyworld£©2004-11-19 09:58:55 ÔÚ Delphi / Windows SDK/API ÌáÎÊ
Delphi Äܲ»ÄÜ´ÓRing 3½øÈëRing 0?
ÓÐÀý×ÓÂð?
¶àл. ÎÊÌâµãÊý£º100¡¢»Ø¸´´ÎÊý£º20Top
1 Â¥jinjazz£¨½üÉí¼ô£©»Ø¸´ÓÚ 2004-11-19 10:13:27 µÃ·Ö 10
ÎÒ·¢ÏÖÁËһƪ·¢±íÔÚ1999.11.29 b13°æµÄ
¡¶Áîwin32Ó¦ÓóÌÐòÌøÈëϵͳ²ã¡·¶«ÄÏ´óѧ ¬Íþ luwei@126.com
ÊÇÓÃvc++Ƕ»ã±à×öµÄ£¬
ºÜ½Ó½üÁË£¬¿ÉÊÔÊÔ
BCB»òDELPHI½øÈëRing0
¶«ÄÏ´óѧ¬Íþ1999.12·¢±íÔÚ<<¼ÆËã»úÊÀ½ç>>±¨ÉϵÄһƪ
<<WIN32ÌøÈëϵͳ0²ã>>£¬Ô²ÉÓÃVC++±à³Ì,ÏָijÉC++Builder
¹©Öîλ²Î¿¼,DELPHIÀàËÆ£»
void Ring0Proc() // ÔÚRing0ÖÐÖ´ÐÐÄã×ÔÒѵĴúÂë
{
// .......
asm mov eax,CR0; // ÊÔÑéÒ»ÏÂRing3²»ÄÜÖ´ÐеÄÌØÈ¨Ö¸Áî
// .......
}
// =====================================================
void __declspec(naked) NewInt() //ÐÂÖжÏ
{
Ring0Proc();
asm iretd;
}
#define IntNo 9
DWORDLONG IDTR,SavedGate;
WORD OurGate[4]={0,0x0028,0xee00,0x0000};
void GotoRing0()
{
asm
{
&nb
Ïà¹ØÎĵµ£º
Ò»¡¢Òý×Ó£º
ÏÖÔÚµÄWindowsÓ¦ÓóÌÐò¼¸ºõ¶¼Ê¹ÓÃͼ±ê¡¢Í¼Æ¬¡¢¹â±ê¡¢ÉùÒôµÈ£¬ÎÒÃdzÆËüÃÇΪ×ÊÔ´£¨Resource£©¡£×î¼òµ¥µÄʹÓÃ×ÊÔ´µÄ°ì·¨ÊǰÑÕâЩ×ÊÔ´µÄÔ´Îļþ´òÈëÈí¼þ°ü£¬ÒÔ·½±ã³ÌÐòÐèÒªµÄʱºòµ÷Óá£×ÊÔ´ÊdzÌÐòµÄÒ»²¿·Ö£¬³ÌÐòÒªÕý³£ÔËÐоÍÀë²»ÁË×ÊÔ´Îļþ¡£µ«ÊÇËüÊDz»¿ÉÖ´ÐдúÂë¡£
&n ......
µÚÒ»ÖÖ·½·¨,ʹÓÃSelectDirectory º¯Êý ,ÔÚShellApiÖÐ
procedure TForm2.BtSelectPathClick(Sender: TObject);
var
strCaption,strDirectory:String;
wstrRoot:WideString;
begin
strCaption:='ÕâÊÇä¯ÀÀÎļþ¼ÐµÄ˵Ã÷ÎÄ×Ö£¬¿ÉÒÔ¸ù¾ÝÐèÒª½ ......
Windows API µÄÊý¾ÝÀàÐÍÓë Delphi Êý¾ÝÀàÐͶÔÕÕ±í
×÷Õߣºadmin À´Ô´£ºÎ´Öª ÈÕÆÚ£º2010-1-28 13:10:56 ÈËÆø£º43 ±êÇ©£ºAPI
µ¼¶Á£ºWindowsAPIµÄÊý¾ÝÀàÐÍÓëDelphiÊý¾ÝÀàÐͶÔÕÕ±í
Windows Êý¾ÝÀàÐÍ
Delphi Êý¾ÝÀàÐÍ
ÃèÊö
LPSTR
PAnsiChar
×Ö·û´®Ö¸Õë
LPCSTR
PAnsiChar
×Ö·û´®Ö¸Õë
DWORD
LongWo ......
//ÉùÃ÷:
GetClassName(
hWnd: HWND; {Ö¸¶¨´°¿Ú¾ä±ú}
lpClassName: PChar; {»º³åÇø}
nMaxCount: Integer {»º³åÇø´óС}
): Integer; {·µ»ØÀàÃû´óС; ʧ°Ü·µ»Ø 0}
//²âÊÔ1: н¨Ò»¸ö¹¤³Ì, Ö÷´°¿ÚµÄÀàÃûĬÈÏÊÇ TForm1, ÓóÌÐò»ñȡһÏ¿´¿´
var
ps: array[0..254] of Char;
begin
GetCl ......
//ÉùÃ÷:
GetWindowText(
hWnd: HWND; {´°¿Ú¾ä±ú}
lpString: PChar; {½ÓÊÕÎı¾µÄ»º³åÇøµÄÖ¸Õë}
nMaxCount: Integer {Ö¸¶¨»º³åÇø´óС, ÆäÖаüº¬NULL×Ö·û; Èç¹ûÎı¾³¬³ö£¬»á±»±»½Ø¶Ï}
): Integer; {·µ»Ø×Ö·û¸öÊý, ²»°üÀ¨ÖжϵĿÕ×Ö·û; Èç¹û±êÌâΪ¿Õ»ò¾ä±úÎÞЧ, Ôò·µ»ØÁã}
//¾ÙÀý:
var
arr: ......