我的代碼已經用\ u082代碼替換了具有Unicode符號的函數和變量名稱。當從DotPeek作爲項目導出時,這些不是符號,而是像「\ u082」這樣的字符串,從而阻止在Visual Studio 2013中進行編譯。如何解決此問題而無需手動爲所有內容命名一個名稱?模糊變量名稱
模糊變量名稱
回答
混淆的要點是原來的名字丟失了。你可以嘗試編寫一個程序來根據上下文編寫名字,但這將是一個相當具有挑戰性的嘗試。另外,大多數好的混淆器都會對代碼做其他事情,使其難以理解,甚至可能會引入運行時允許的構造,但是會導致崩潰較少的複雜的反編譯器。不過,真的,如果您有權使用源代碼,您應該有權訪問未混淆的副本...
我的意思是,只是一些按鈕來重命名所有這些符號(自動)爲某些名稱,如變量pxx,函數fxx。 – RomaValcer 2014-09-29 16:50:57
@RomaValcer,很可能有工具可以做到這一點,但我並不親自熟悉它們。自己編寫這樣的工具當然是可能的,但這並不是一件容易的工作,特別是如果你想處理其他混淆技巧,故意讓你的工作變得困難。也就是說,如果您有合法修改來源的權利,但沒有該來源的副本,則很不尋常。如果你處於這樣的位置(比如由於糟糕的代碼歸檔實踐而遺失了舊產品的來源),那麼我表示哀悼。 – 2014-09-29 18:42:23
您可能正在查看故意混淆的代碼,其所有者傾向於隱藏其業務邏輯/算法/安全等
我想不出一種簡單的方法來給代碼成員名稱一些有意義的身份,而不需要手動。
這是混淆處理的目標。
這種晦澀難懂的代碼是不可編譯的。唯一需要的是讓它可編譯。 – RomaValcer 2014-09-29 16:58:21
所以要求源代碼.. – 2014-09-29 16:59:17
是的...顯然,它不是如何工作。 – RomaValcer 2014-09-29 17:18:35
- 1. 模糊與實例變量
- 2. 變量變量名稱
- 3. 名稱上的模糊匹配
- 4. 長變量名稱
- 5. 變量IBOutlet名稱?
- 6. SQL名稱查詢中的Hiberate變量模式名稱
- 7. 斯卡拉模糊的變量名中的一個方法
- 8. 變量名稱的PHP全局變量
- 9. 創建變量名稱與變量
- 10. sqrt和floor的組合模糊變量
- 11. 變量dustjs部分名稱
- 12. 動態變量名稱
- 13. 字符串變量名稱
- 14. Bash:遍歷變量名稱
- 15. VBA:變量名稱陣列
- 16. SCSS變量類名稱
- 17. mongo搜索變量名稱
- 18. 通用變量名稱
- 19. PHP動態變量名稱
- 20. 動態變量名稱Coldfusion
- 21. 動態變量名稱EL
- 22. 關於變量名稱
- 23. 動作變量名稱
- 24. CString變量名稱前綴
- 25. 訪問變量的名稱
- 26. AS2中的變量名稱#
- 27. 動態變量名稱
- 28. SQL Server變量列名稱?
- 29. jquery賦值變量名稱
- 30. UILabel的變量IBOutlet名稱?
不要把它看作是一個必須解決的問題。這種不便已經被有意識地實施,以防止你正在嘗試做什麼。 – stakx 2014-09-29 16:35:45
問題是預防編譯。如果我能夠編譯它,它就足夠了。 – RomaValcer 2014-09-29 16:51:32
@RomaValcer也許你沒反編譯好。 – 2014-09-29 17:03:41