2017-04-12 148 views
1

我使用.Net reflector反編譯某個庫。但是有一些韓文字母代替功能。 我可以將主題替換爲英文嗎? 這些是這樣的:從評論帶有.Net反射器的反編譯代碼有一些Unicode字符

if (catalogs == null) 
       { 
        catalogs = new List<ComposablePartCatalog>(); 
        catalogs.Add(蠒Ṃ슠厥荖乨Ὗὠ.쏼㗩≕調藀崥ᄀ(眞౅赲舚モ瑮.෬隁鼥ⵡﻹ㖒烚░(甊퇌ꢊꖽ፠䰷橝.뺛㸦ݑ胘믑�蹺綁(typeof(Bootstrapper).TypeHandle)))); 
        catalog = ꡗゴᎇ�碶㥝.⎑⧌略깫㈠떑惟컾(catalogs); 
       } 
       else 
       { 
        catalog = ꡗゴᎇ�碶㥝.⎑⧌略깫㈠떑惟컾(catalogs); 
       } 
+2

這是因爲庫被混淆以防止反編譯並輕鬆恢復原始源代碼。所以這些角色實際上沒有意義,所以不能被翻譯。 – Evk

+0

@Evk這不完全是真的,在MSIL中,你甚至可以使用像** <** or **> **這樣的字符來命名C#中不允許的特定變量,但編譯器仍然會這樣做,所以在MSIL中這可能是有效的,但如C#中所述。 –

+0

@SebastianL但我不認爲它是無效的。我只是說你不能從中得到有意義的英文名字,因爲這些名字只是隨意的一組符號而沒有任何意義。 – Evk

回答

0

簡述: 此代碼是由開發人員混淆。所以這些角色實際上沒有意義,所以不能被翻譯。

手動混淆是創建混淆代碼的故意行爲,即源代碼或機器代碼難以讓人理解。就像自然語言中的混淆一樣,它可能會使用不必要的迂迴表達式來組合語句。程序員可能故意混淆代碼掩蓋其目的(通過隱藏的安全),或者其邏輯

-1

據我所看到的,您的.dll文件是使用混淆 proteted。但這不是問題,我們將eo-obfuscate它好嗎?在github發佈頁面上下載DE4DOT right here,然後簡單地將拖放到DE4DOT的二進制文件上,將您的文件拖放到上。 輸出不應再被混淆。

+0

爲什麼downvote?我的回覆是客觀的,我通過直接鏈接到開放源代碼回購提供實用建議 – XenocodeRCE