因為某種特別需要 (噗)
需要拿程式內部的 data
我對 windows programming 其實不熟
對整個流程不甚了了
不過整理一下過程
- 在 Inject Dll 裡面 開一個 Share Memory 把 Data 放進去 像這樣
#pragma comment(linker,”/SECTION:.shared,RWS”)
HINSTANCE hDll; - 設定 Victim Window 的 Hook 到 DLL 的一個 Function,HookProc
g_hHook = SetWindowsHookEx( WH_CALLWNDPROC,(HOOKPROC)HookProc,
hDll, GetWindowThreadProcessId(hWnd,NULL) ); - 在 HookProc 裡面把 Library Load 進來
然後開始做壞事
比如說偷看系統 DLL 的 function 之類的 XD
流程大概是這樣
不過我只有把 Function Disable 掉之類的比較成功
其他要偷把系統 Function Call 的東西拿來偷看之類的都蠻失敗的
不知道是因為資料量太大還是怎樣 (用 OutputDebugString .. )
還沒看到好料的就 Crash 了 orz
比較好的方法應該是用 DDE 把 Data 弄出來吧
不過我 windows programming 不熟
以後再慢慢研究 XD
另 Auto Debug for Windows 也是好物
對要處理的 Dll 會有比較清楚的了解