A.dll調用B.dll中的函數,如何去HOOK B.dll中的函數呢? |
尚未結案
|
crying_foul
一般會員 發表:2 回覆:1 積分:0 註冊:2006-08-22 發送簡訊給我 |
|
RootKit
資深會員 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
|
crying_foul
一般會員 發表:2 回覆:1 積分:0 註冊:2006-08-22 發送簡訊給我 |
具體是這樣的
test.exe -----a.dll -----b.dll test中調用了a.dll中的ccc函數,而這個ccc函數是靜態調用B.dll中的mmm函數。 我現在注入test hook b.dll中的mmm函數。 a.dll 和b.dll是我自己寫的, 第一次沒有用到指針變量。 test運行正常。 第二次,我把a.dll中ccc及b.dll中mmm函數的參數改爲指針型。test出錯,提示 a.dll 非法訪問 xxxxx內存地址。因爲hook時間我修改了返回值。第一次返回值是複制方式傳給a.dll。第二次,參數改爲了指針,所以hook.dll要訪問a.dll傳給b.dll的內存地址,所以出錯了。我想著是這樣,不知道對不對? 在hook回調函數中怎樣修改指針參數地址的值呢? 如果是進程直接調用b.dll的話,我知道可以直接修改參數的所指地址的內存。因爲注入後hook.dll可直接訪問進程空間。但像我列子這樣,直接修改不行。 |
RootKit
資深會員 發表:16 回覆:358 積分:419 註冊:2008-01-02 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |