2014-09-01 122 views
1

我在寫android應用程序。 現在我想保護Activity類。我使用proGuard進行模糊處理,但是當我用fernflower反編譯我的apk時,我可以看到完整的源代碼。我從谷歌下載了apk並嘗試反編譯,並且無法反編譯onCreate方法。也許有人知道我如何保護我的代碼。 也許自定義類加載器?但是,我怎麼知道它需要通過dex文件的路徑,但如果apk將被索引,我的程序將會下降。保護android源代碼

+0

可能重複的[如何避免反向工程的APK文件?](http://stackoverflow.com/questions/13854425/how-to-avoid-reverse-engineering-of-an-apk-file) – Henry 2014-09-01 10:02:19

回答

1

當你說你可以「看完整的源代碼」,你的類和變量名稱是否被混淆了? Proguard的目的是通過替換類和變量名來使逆向工程變得困難。它不會阻止某人將APK分解成類似源代碼的內容;它可能會使得反向工程和修改代碼變得更加困難(或更耗時)。

當您試圖反編譯其他Play應用程序並且看不到反編譯的onCreate()時,那麼在反彙編過程中可能會出現某種錯誤。我對這些工具的有限經驗是它們並不完美,有時各種方法不能成功地反編譯成代表源的東西。

如果您的類名(特別是您自己的類與OS類相對)和變量名沒有被混淆,那麼您需要修復您的Proguard配置。