閒來無事,做乙個api攔截的簡單程式,目標是攔截exploer.exe的createprocess.當開啟桌面程式時,執行自定義的**。
首先需要確認的是,explorer.exe建立程序是用了什麼函式,建立程序自然想到用createprocess(createprocessa,createprocessw).
這裡我攔截的是createprocessw。
執行以下命令:
dumpbin /imports explorer.exe | findstr createprocess
會發現explorer.exe只引用了createprocessw,這就是要攔截的api,我的試驗機器是xp
大致過程如下,需開發乙個exe,乙個dll。
該exe查詢explorer.exe的pid,呼叫createremotethread,讓explorer.exe載入我們的dll,**在《windows核心程式設計》一書中可以找到。
該dll在被載入時執行api的位址替換,將createprocessw替換為我們自己的函式,函式原型和createprocessw一樣,裡面先執行我們自己的**,
再return createprocessw即可。
(需要關閉360,不然會失敗)
乙個struts spring的例子
第乙個struts spring的例子 呵呵剛學spring 寫還望各位大蝦指教!配置struts就不用說了吧,如果用myeclipse直接add一下就可以了.接下來就來配置讓它支援spring 可 一,新建專案後,開啟struts confing.xml在後面加人下面 簡單吧!二然後就開始寫我們的...
乙個sql的例子
select dbo.userinfo.username,dbo.userinfo.usertruename,dbo.userinfo.useremail,dbo.userinfo.usermobile,dbo.userinfo.usertelephone,dbo.userinfo.usercar,...
乙個API HOOK的例子
乙個api hook的例子 2010年07月20日 include include 執行緒操作api hinstance hinst 任務例項id hwnd mainfrmhwnd 主視窗控制代碼 hfont globalfont 字型 typedef struct remoteparam 視窗類名...