編譯內存地址混淆
發布時間: 2023-05-17 11:26:25
1. vs2010 中的 Dotfuscator 能不能做成編譯出來的東西自動混淆
代碼混淆基本沒什麼用,可以被反編譯的。
最好的做法是結合非託管堆代碼實現如下兩個目的
一、不能看:.NET DLL可以包含託管堆代碼(可以被反編譯的)與非託管堆代碼(不能被反編譯,要反編譯也是更高層次的了,不在討范圍內),我們將核心邏輯代碼置於非托堆代碼中,由託管堆代碼提供介面供外部調用,調用時將非託管代碼通過.NET動態編譯特性編譯後返回執行結果。這樣就保證了不能看。
二、不能調:我們在非託管代碼中加入驗證調用者來源功能,判斷調用者的HASH值是不是與在非託管代碼中約定的HASH值(發布時需要提前生成相關引用者的HASH值存於非託管代碼,最後生成非託管代碼的DLL放於安裝包中)一致,如一致則通過執行返回結果,不一致則返回空。這樣就解決了非合法來源不能調的問題。
更多參考:http://www.cnblogs.com/dengxi/p/5750170.html
2. 我想反編譯 一個APK程序,但是那個APK程序的代碼被混淆了,導致APK反編譯失敗,請問這個問題怎麼解決
混淆是不會導致反編譯失敗的,只是說,代碼變得難以讀懂,而不會導致反編譯失敗!
混淆和反編譯是兩個互不相乾的概念。
反編譯失敗和JDK,APKTOOL等各種工具的版本有密切關系!
專業無源代碼的 安卓 APK 反編譯、修改,只有你想不到,沒有做不到
@@ 724949472
哦也!
熱點內容