Ring3עDLL෽ܹɱϷNPԴ룩

    עDLLȫֹӻпõļҵĻҲпҪעһDLLϷȥɵʲô¡ ֪ҪעDLLԽԽˡ1뷨ңԭAPI HOOKز޸뷨غҪעһDLLнУǺ֣ڿǵʺűûQQġԭǱQQֹ̣עDLLʾûرʺű -_-|  ȷʵǺܽûһǰ취İ취2ĳϷңҪעһDLLϷȥֱӵϷĳһܡָϷNPOpenProcess򲻿Զ߳ҲУҲһһʧܡȻתRing0ȥʹ֮İ취ԸȲɾǾƾû -_-| 
    Ҳ̫ģܻа취ġҪһֳ־õġȶġױȫεDLLע뷽֣뷨һѡ뷨򵽵ʲôûԼḶ̌ϵͳûе¼ʱѱأڻӭҲԵ뷨Ϸд򿪣Ҳڿ̨д򿪣ǱµQQд򿪣ɱҲԴ򿪣ⲻҪҵô뷨ʲôأWindowsĹ涨뷨ʵһDLLһDLLб׼뷨涨Щӿڣ뷨뷨imm32.dllƵģ뷨user32.dllƵġ뷨ϵͳĿ¼IMEΪչļӦóмĳ뷨ʱ뷨ͻǸӦóĽмضӦIMEļע⣬IMEļͨDLLûбԣΪ뷨ʵע뵽ӦóеһDLLļң֡ע롱ǲᱻɱϷNPصģĿǰǣڣѾһעDLL෽Ǿ뷨һ׼뷨ļ뷨빤ΨһעDLLԳΪ뷨ȻһƳƷ뷨ȻҪһעĿDLLһ3ļʼ󣬿ƳȽ뷨װϵͳУȻ󴫵ݼ뷨аҪעDLLļƺ·Ȼ󣬿Ƴ򽫷뷨ΪϵͳĬ뷨µĳһ򿪣뷨ͻעǸ򡣵Ȼڷ뷨װ֮ǰ򿪵ĳ򲻻ᱻע룬ʱҪϵͳедPOSTһWM_INPUTLANGCHANGEREQUESTϢϢָк̨뷨ϵͳӵдڵĽ̾Ͷǵķ뷨עˡ뷨ע֮󣬾ͻݿƳ򴫵ݹĲĿDLLĿDLLҲŷ뷨һͬע뵽Ŀˡע뷨ǿƳWM_INPUTLANGCHANGEREQUESTϢдԶģĳԶʧܣҪǸֹл뷨עȥˡעԺͿڴл뷨ⲢӰѾעȥDLLҽһ׹һʾµַأ http://www.pen88.com/download/imehook.rar  ѹеĵ6͵8ļʾ˴˹ܲԴ롣ļimedllhost09.dllǷ뷨ʱᱻװϵͳУƳ˳ʱԶжظ뷨ûͲ̫ײ㻹±뷨ƸΪģйԸáļhxwdllwx.dllʾõĿDLL滻ԼDLLȻǸexeļǿƳˡ뷨imedllhost09.dllʱᱻƵϵͳĿ¼Ϊimedllhost09.ime2ڿơVBеΪ
Public Declare Function IMESetPubString Lib "imedllhost09.ime" (ByVal RunDLLStr As String, ByVal UnloadDll As Long, ByVal loadNextIme As Long, ByVal DllData1 As Long, ByVal DllData2 As Long, ByVal DllData3 As Long) As Long
Public Declare Function IMEClearPubString Lib "imedllhost09.ime" () As Long
IMESetPubString뷨ҪעDLLȲRunDLLStrҪעDLL·UnloadDll뷨˳ʱǷͬʱжĿDLL 0-ǣ1-loadNextImeл÷뷨ʱǷֱлһ뷨뷨ͺˣС޶Ӱû뷨˳ 0-1-ǡDllData1DllData2DllData3ǴݸĿDLLĻصƱΪRunDllHostCallBackĲĿDLLеһΪRunDllHostCallBack뷨עʱĿDLLĸûص䴫3ԭΪVC
DWORD RunDllHostCallBack(DWORD calldata1, DWORD calldata2,DWORD calldata3);
IMEClearPubString뷨ã뷨ֹͣµĳעĿDLLעDLLжء
ˣ뷨עDLLϾˣϸ÷ҿԿѹеĵ8ļУз뷨VCдģƳVBģ붼ע͵ġԷָ÷ܹĿǰɱҲעСȻȱ㻹еģĿ뷨Ǿû취ˣһϷְֹɣɱҲֹܽû뺺ְɣͨӦûõġ



ٽһעDLLķҲٱõһδRegisterUserApiHookؼʡRegisterUserApiHook鵽Windows 2003²ԳɹWindows XPȴʧܡҵʧЧԭRegisterUserApiHookϵͳעһȫֹӣҪڹָһDLLһصȻмuser32.dllĳͶʱָDLLעDLLҲǺܲġǲԷעƺϲᵽ뷨עİ취עһĳĳЩȫ򣬵ǶԱЧһƣϵͳֻͬʱһĹӡʵƽʱǱϵͳеThemesռˣThemesHOOK˻ƴڵAPIԲг򴰿ڱXPʽġҪӵĻȹرThemesXPҲˣϵͳͱWindows 2000ʽ -_-| 

RegisterUserApiHookVB£
Public Declare Function RegisterUserApiHookXP Lib "user32" Alias "RegisterUserApiHook" (ByVal hInstance As Long, ByVal fnUserApis As Long) As Long
Public Declare Function RegisterUserApiHook2003 Lib "user32" Alias "RegisterUserApiHook" (pRegInfo As HookAPIRegInfo2003) As Long

ԿXP2003Ĳǲһġڴ˺ʾ룬μѹеĵ5ļС

ٽһδInitializeLpkHooksҵϸ٣ֻһѡǸHooksңΪһעDLLĲODһԭֻǸֲHOOKѡȻû̫ãһдϰɣҲ˭õءInitializeLpkHooks˼HOOK LPKģWindowsиlpk.dllֶ֧԰ôܡԷֺöTextOut֮ǰƺҪlpk.dllغģֶ֧ԵĳҪжϵҪʾ԰ɡInitializeLpkHooksHOOK lpk.dll4ģ4LpkTabbedTextOutLpkPSMTextOutLpkDrawTextExLpkEditControlȴVBڴм´ɣ
Private Sub Form_Load()
DLLhwnd = LoadLibrary("lpk.dll")   'DLL
DLLFunDre = GetProcAddress(DLLhwnd, "LpkDrawTextEx")   'ȡصַ

LpkHooksInfo.lpHookProc_LpkTabbedTextOut = 0
LpkHooksInfo.lpHookProc_LpkPSMTextOut = 0
LpkHooksInfo.lpHookProc_LpkDrawTextEx = GetLocalProcAdress(AddressOf HookProc1)   'ҪHOOKLPK
LpkHooksInfo.lpHookProc_LpkEditControl = 0
InitializeLpkHooks LpkHooksInfo
End Sub

Private Sub Form_Unload(Cancel As Integer)
LpkHooksInfo.lpHookProc_LpkTabbedTextOut = 0
LpkHooksInfo.lpHookProc_LpkPSMTextOut = 0
LpkHooksInfo.lpHookProc_LpkDrawTextEx = DLLFunDre
LpkHooksInfo.lpHookProc_LpkEditControl = 0
InitializeLpkHooks LpkHooksInfo
FreeLibrary DLLhwnd
End Sub


Ȼ½һģ飬ģм´룺
Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Public Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Public Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
' ----------------δ--------------------------------------
Public Declare Sub InitializeLpkHooks Lib "user32" (lpProcType As Any)

Type LpkHooksSetting
    lpHookProc_LpkTabbedTextOut As Long
    lpHookProc_LpkPSMTextOut As Long
    lpHookProc_LpkDrawTextEx As Long
    lpHookProc_LpkEditControl As Long
End Type

' -------------------------------
Public DLLhwnd As Long, DLLFunDre As Long
Public LpkHooksInfo As LpkHooksSetting

Public Function GetLocalProcAdress(ByVal lpProc As Long) As Long
GetLocalProcAdress = lpProc
End Function

Function HookProc1(ByVal a1 As Long, ByVal a2 As Long, ByVal a3 As Long, ByVal a4 As Long, ByVal a5 As Long, ByVal a6 As Long, ByVal a7 As Long, ByVal a8 As Long, ByVal a9 As Long, ByVal a10 As Long) As Long
HookProc1 = 0
End Function

һ¿ǲǴбͰťϵֶûˣΪǰѺLpkDrawTextEx滻ԼĺHookProc1ˡ10мַָ룬ƺػҪʾ֣ȻĳһԵ֣Ҳ룬Ҳ;ɡ²⡣ϾǺInitializeLpkHooks÷ˡ

Ͼȫ 
ʾصַǣ http://www.pen88.com/download/imehook.rar

ҵQQ511795070ӭ










