Security
如何將 c、c++ 和 python 程式碼編譯為“已發布/最終”版本?
我想知道是否有辦法編譯 C、C++ 和 Python 程式碼以便不能在 Linux 上對其進行逆向工程?
我聽說在 Windows 上有一些方法可以做到這一點,但我正在使用 Linux。
我想安全地編譯我的程式碼,作為發布版本或最終版本。
更新
至少我想讓普通使用者很難拆機,
我正在為 C 和 C++ 使用 GCC,如果您向我介紹 Python 的最佳編譯器,我將不勝感激。
前言
你可能不想花時間阻止人們反彙編你的程式碼:而是專注於讓你的項目變得更好,這樣一旦你的競爭對手弄清楚了你是如何實現 X 功能的,你的軟體就已經有了 Y 功能……
道理很簡單:如果你有一個枯燥的項目,那麼沒有人會願意拆解它,而你一直在白費力氣地投入。otoh,如果你的產品很酷,一群黑客會花時間弄清楚你是怎麼做到的。您對此無能為力(主要參與者(如微軟,…)也會發生這種情況)。但這些黑客總是會落後一步:從彙程式序重新建構程序並非易事。所以要確保你繼續前進,他們會留在後面。
因此
確保您的程式碼不包含調試符號。這
gcc
基本上意味著你應該關閉-g
標誌。(很可能這正是 Visual Studio 的“發布”版本為 MSVC 所做的)。您可能還會考慮外部庫的靜態連結(以使通過動態連結器進行的程式碼注入最小化)
最後
不要相信任何供應商,提供發布版本會以任何方式保護您的二進製文件。