我需要在某些Linux應用程序上使用某種授權,但我無法訪問其代碼庫。控制Linux應用程序啓動/許可
我在想什麼是有一個單獨的進程讀取許可證密鑰,並檢查該應用程序的可用性。然後我需要確保在每個受到尊重的應用程序的調用期間運行該進程。 Linux有一些功能可以幫助解決這個問題嗎?例如sudoers文件,其中我檢測到哪個用戶和哪個應用程序試圖啓動,並且如果滿足組合,則首先運行許可證進程檢查。
或者,我可以做這樣的事情不允許用戶自行啓動(命令行)應用程序,並迫使他們管到我的許可過程,所以:
在/ usr/bin中/ TM | license_process //然而'/ usr/bin/tm'會自行失敗
如果您沒有獲得版權持有者的明確同意,那麼這樣做很可能是「真實」應用程序的版權侵犯。 –
「使用ld重命名主函數...」 - 首先「ld」對已經鏈接的可執行文件不能做任何事情,其次,重命名「main」將完全沒有意義:它的地址已經被記錄爲調用目標'_start'將會調用。 –
當我寫了關於ld的內容時有些厭倦,我試圖做的是將應用程序與一段代碼以某種方式連接在一起進行檢查,我不得不同意你(@EmployedRussian)的說法,即大多數方法都是毫無意義的對付擅長編程的攻擊者。但它比任何類型的獨立過程都要好。 @EmployedRussian關於如何使用objcopy將真正的應用程序包含到包裝中,並在某種程度上更改指令指針(如果檢查不失敗),或者退出時,會發生什麼想法。 –