最近一直在嘗試一個問題:攔截應用程式向動態庫傳遞的引數,比如說,A程式呼叫A1動態庫中相關函式,如何才能獲得此程序中A向A1傳送的引數資訊呢,研究了好久,搞不出來,希望大師們幫忙指點,小弟在此拜謝了
uj5u.com熱心網友回復:
Dll替換啊比如 A1動態庫有函式func1(a:integer)
你新寫個dll, 在里面寫函式func1
procedure func1(a:integer)
begin
showmessage(inttostr(a));
CallLibAFunc1(a); //重新呼叫A1動態庫(LibAOther.dll)有函式func1
end
然后把新dll取名LibA.dll, 老Dll起名LibAOther.dll
uj5u.com熱心網友回復:
這個思路我想過,關鍵是動態庫中的函式原型是未知的,如何替換呢uj5u.com熱心網友回復:
原型未知,就先反匯編了看原型。截引數一個方法是替換dll,樓上已經說了,還有一個方法是hook,這2種方法都需要方法原型,當然不一定非得宣告的一模一樣,比如指標類的,你申明成Integer/Cardinal都是沒問題的。
uj5u.com熱心網友回復:
反匯編有工具嗎,可否賜教一下uj5u.com熱心網友回復:
動態Ollydbg靜態IDA
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/77532.html
上一篇:c++-檔案分離
