是否有任何工具可以將去混淆代碼重命名爲.NET dll的可讀代碼?重命名去混淆代碼
混淆=轉換原變量名,命名空間非可讀變量名,還改變控制流,使其很難餅乾猜測的原代碼
解混淆混淆=逆過程。將不可讀的變量名稱,名稱空間轉換爲可讀的名稱空間,如A1,A2(可以將原始名稱轉換爲原始名稱),這使得跟蹤和理解原始源代碼變得很容易。
是否有任何工具可以將去混淆代碼重命名爲.NET dll的可讀代碼?重命名去混淆代碼
混淆=轉換原變量名,命名空間非可讀變量名,還改變控制流,使其很難餅乾猜測的原代碼
解混淆混淆=逆過程。將不可讀的變量名稱,名稱空間轉換爲可讀的名稱空間,如A1,A2(可以將原始名稱轉換爲原始名稱),這使得跟蹤和理解原始源代碼變得很容易。
你的意思是看符合的dll內的代碼嗎?如果是這樣,我使用redgate的.net Reflector。
是的,但我想要一個工具來重命名不可讀的變量名或...在可疑的模糊dll中。 – Ehsan 2010-08-28 09:29:07
您可以再次對其進行模糊處理,但禁用重載等選項。這樣,成員將被命名爲A,B,C ...,而不是所有被命名爲A(使用重載)或具有不可打印的名稱。
此外,IL級優化器通常可以撤消控制流混淆並刪除用於使反編譯器崩潰的死代碼。
一旦你有可編譯的代碼,使用Visual Studio的重命名重構來引入名稱。工具無法自動猜出合適的名稱。
否否否則爲什麼您的意見中存在混淆工具?你所謂的可讀的變形名稱不再存在於模糊處理的程序集中,因爲它們已被重命名爲不可讀的,而且沒有工具可以猜出原始名稱是什麼。
你可能會發現這個社區不願意去混淆。有少數使用案例可以將反混淆視爲符合道德標準。 – kbrimington 2010-08-28 05:35:01
你有這樣做的合法理由嗎? – Justin 2010-08-28 07:31:39
說穿了:你需要了解這個代碼的所有者不希望你反彙編它的前額大小是多少? – 2010-08-28 12:55:57