在OS X Lion下工作時,我已經做了一些代碼注入的工作,最近逐個進程地處理系統調用。OS X系統調用是否可以覆蓋或插入系統範圍內?
我學到了很多,一路走來,現在它看起來會更有意義,爲研究目的,至少,以「簡單地」干預所有調用某些系統功能,如pwrite
,如果這樣的事情是可能的。
是否有可能被調用,而不是從每過程中,OS爲每調用某些系統調用(例如pwrite
)我的代碼?
如果是這樣,我可以知道什麼過程已經打了電話嗎?
編輯:爲了避免有人認爲我是因爲我的問題的性質惡意軟件作者,我會解釋爲什麼我現在在這裏,問我要問:
我試圖獲得一個大而複雜的閉源軟件,它應該像這樣工作。爲什麼不等待供應商解決它?兩年前,他們開始將手指指向另一方,該黨指出對方。情況是荒謬的,值得在沒有任何一方的幫助下克服,因爲這個軟件被電影和視頻製作人員使用,他們每小時收取數百美元的創造性和技術先進的努力,而且不應該浪費他們的時間摔跤他們的工具。
到目前爲止,我的努力的問題是我需要使用代碼注入和插入來找到問題的來源(這是我以上稱爲「研究」)。一旦發現問題的根源,解決方案可能還包括注入和插入,或者更換動態庫,或者一些模糊的低級系統調優,或者誰知道什麼?我正在分析的軟件非常龐大,它反過來利用了其他框架,庫和後臺任務,其中一些是OS X的一部分,其中一些是有問題的軟件包的一部分。代碼注入和逐個組件的插入已經變得有點瘋狂了,這就是爲什麼我想在的系統調用結束時監視上發生了什麼,所以我可以看到,例如,哪裏所有pwrite
呼叫都來自呼叫的細節。
我希望這個澄清有所幫助,而且有人可以指出我正確的方向。謝謝!
* [長篇論壇被刪除] * – 2012-07-31 22:52:14
作爲對您編輯的迴應 - 這是一個公共論壇,您正試圖將技術嫺熟和經驗豐富的開發人員提供給您關於您承認兩個供應商之間已經存在爭議的主題的建議。我不想去那裏,SO上的其他人也不應該去。 – 2012-07-31 22:53:25
@MartinJames:可惜的是,雖然Windows非常容易接受堆棧的過濾器驅動程序_(正如許多病毒掃描程序所使用的那樣),但OS X並不支持這個概念。 – bland328 2012-07-31 22:54:08