作者UNARYvvv (有趣生活)
看板C_and_CPP
標題Re: [問題] 如何透過dll控制其他程式
時間Thu May 14 12:46:18 2009
※ 引述《freehand1122 (jychen)》之銘言:
: 假設我撰寫兩個程式A,B跟一個dll檔
: B程式有一個function是做簡單的運算,最後回傳值印出
: 如果今天我想用A程式透過dll去呼叫B程式的function,請問該如何做
: 這些似乎跟hook 遠端程序控制有關
: 雖然觀念上大概懂,但實作還是遇到很多困難(程式底子不好..)
: 懇請板上高手能夠指點,或者可以提供範例參考
: 感謝
我也是覺得 "透過 DLL 呼叫 B 程式 的 function"
中間多一層似乎不必要
既然 A,B 都是由自己撰寫
或許這裡需要的只是透過一些 IPC 機制互傳訊息?
如果 A 要的只是 B 印出的內容,那用 pipe 也就 OK 了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.168.1.121
※ 編輯: UNARYvvv 來自: 218.168.1.121 (05/14 12:51)
推 freehand1122:當然只是在做練習..那如果B不是自己的程式該怎麼做? 05/14 14:07
→ freehand1122:是否只要知道B的函式的記憶體空間就有辦法呼叫? 05/14 14:07
→ UNARYvvv:是的 那就要知道 B 程式中實際函式的起始位址了 05/14 14:27
→ UNARYvvv:不過一般程式內部的 function 不會導出 (exported) 05/14 14:29
→ UNARYvvv:可能就要用些比較麻煩的手段來找 05/14 14:30
→ UNARYvvv:建議可以從 "API hooking" 開始找起 資料很多 05/14 14:31
→ UNARYvvv:先從定位&攔截公開的 API 下手看看 05/14 14:34