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±£´æ¶ÁÈ¡utf-8µÄÎı¾Îļþ
¸ø¿Í»§×öÁËÒ»¸öÅúÁ¿Ê¶±ðͼÏñ²¢ºÏ³ÉË«²ãpdfµÄ³ÌÐò£¬×îºó¿Í»§ÐèÒªÉú³ÉµÄͬʱ¸½´øÒ»·Ý¼Çʱ¾Îļþ£¬¾ÍÊÇOCR¹ýºóµÄÎı¾£¬²¢Ö¸¶¨utf-8¸ñʽµÄ¡£ÔÚ´¦Àíutf-8ʱ³öÏÖÁ˵ãСÎÊÌ⣬ÏÖÔÚ×ܽáÈçÏÂ
Ê×ÏÈ ÀûÓÃdelphi×Ô´øµÄUTF8Encodeº¯Êý£¬½«ÆÕͨ×Ö·ûת»»Îªutf-8±àÂë
´´½¨Ò»¸öÁ÷£¬MemoryStream»òFileStr ......
delphi±àÂë¹æ·¶Îĵµ
Ŀ¼
1¡¢Ç°ÑÔ 3
2¡¢Ô´³ÌÐòÊéд¹æ·¶ 3
2.1ͨÓÃÔ´´úÂë¸ñʽ¹æ·¶ 3
2.1.1Ëõ½ø 3
2.1.2±ß¾à 3
2.1.3 Begin…EndÓï¾ä 3
2.1.4×¢ÊÍ 4
2.2 OBJECT PASCALÓï¾ä¸ñʽÊéд¹æ·¶ÓëÓ÷¨ 4
2.2.1À¨ºÅ 4
2.2.2±£Áô×ֺ͹ؼü×Ö 4
2.2.3¹ý³ÌºÍº¯Êý 5
2.2.4±äÁ¿ 5
2.2.5ÀàÐÍ 6
2.2.6Óï¾ä 6
2.2.7½á¹¹» ......
//ÉùÃ÷:
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 ......