interposing

    1熱度

    1回答

    爲了能夠使用inject_and_interpose代碼進行一些注入和插入,我需要在實際執行之前獲取新啓動的進程(典型的閉源用戶應用程序)的PID。要清楚,我需要做的比只是「注意到它快」 - 我不能輪詢,或接收到一些異步通知,這意味着該進程已經執行了幾毫秒的時間我採取行動。 我需要有機會在執行單個語句之前執行注入和插入操作。 我打算編寫一個後臺進程,當一個特定名稱的進程出現時,會同步通知後臺進程。

    2熱度

    1回答

    在OS X Lion下工作時,我已經做了一些代碼注入的工作,最近逐個進程地處理系統調用。 我學到了很多,一路走來,現在它看起來會更有意義,爲研究目的,至少,以「簡單地」干預所有調用某些系統功能,如pwrite,如果這樣的事情是可能的。 是否有可能被調用,而不是從每過程中,OS爲每調用某些系統調用(例如pwrite)我的代碼? 如果是這樣,我可以知道什麼過程已經打了電話嗎? 編輯:爲了避免有人認爲我

    2熱度

    1回答

    我正在編寫Java中介層以修改與網絡通信相關的系統調用。基本上,我想修改預期收件人的IP和端口。 的代碼工作正常在我的筆記本電腦,但大學的電腦上,它提供了堆棧溢出錯誤爲: *** stack smashing detected ***: java terminated ======= Backtrace: ========= /lib/i386-linux-gnu/libc.so.6(__fo

    1熱度

    1回答

    我想在類方法之間插入以動態擴展對象。 我已經知道java.lang.reflect.Proxy的東西,但它的方式太有限,不能做真正的插入。 從Using java.lang.reflect.Proxy to Interpose on Java Class Methods中,第一個限制是: (...)的方法必須通過代理類的實例調用。所以嵌套的方法調用,例如,不會被攔截。 而最糟糕的一個: (...)

    0熱度

    1回答

    我所著其加載到由環境變量DYLD_INSERT_LIBRARIES目標應用程序中的動態庫工作,當應用程序從終端執行由該命令dylib正常工作: $ export DYLD_INSERT_LIBRARIES=/path/to/mylib.dylib $ /path/to/application.app/Contents/MacOS/executable 但是當執行它通過公開命令: $ open

    8熱度

    3回答

    有沒有辦法在目標模塊中覆蓋靜態範圍爲 的函數? 如果我開始是這樣的,一個模塊 全球符號「富」是調用 局部符號「欄,」調用本地符號「巴茲」 [[email protected] ~]$ cat foo.c #include <stdio.h> static void baz(void) { printf("baz\n"); } static void bar(void) {

    0熱度

    1回答

    我: unit unt_QuantumGridInterceptor; {$OPTIMIZATION OFF} interface uses { DevExpress } cxGridRows, cxGridTableView, cxGridCustomTableView, cxCustomData, cxGraphics;