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
Ïà¹ØÎĵµ£º
delphiºÜÔç¾ÍÒѾ¿ÉÒÔ½øÐÐÈý²ãµÄ¿ª·¢ÁË. µ«Ò»Ö±µ½ÏÖÔÚ, ÍøÉÏÕâ·½ÃæµÄ¶«Î÷Ì«ÉÙ ÁË. Ҫô̫ÀÏ, ÉõÖÁ²»ÍêÈ«ÕýÈ·. ÀýÈç:
ÈçºÎ½øÐжà±í¸üÐÂ(Ìá½»), ºÜ¶à»Ø¸´»¹ÊÇ˵ÓÃADOConnectionµÄÊÂÎñ, (Èç¹ûҪͬʱ¸üÐÂSQL SERVERºÍOracleÊý¾Ý¿âµÄ±íÔõô°ì).
µ±È»Ò²ÓÐ˵ÓÃSetComplete, SetAbortµÄ. µ«ËµµÄºÜ¼òµ¥, ÆäÖеÄ×¢ÒâÊÂÏîÓÖÊÇÊ ......
//ÉùÃ÷:
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: ......
DelphiÖн¨ÒéʹÓõÄÓï¾ä
Â¥Ö÷zswang£¨°éË®ÇåÇå)(ר¼ÒÃÅÕïÇå½à¹¤£©2002-05-15 13:37:54 ÔÚ Delphi / VCL×é¼þ¿ª·¢¼°Ó¦Óà ÌáÎÊ
No.1 ÅжÏÂß¼ÀàÐÍ
var B: Boolean;
begin
B := Boolean(2); //ÕâÑùÖ»ÊÇΪÁ˵÷ÊÔ//B ......