2012-11-14 117 views
7

我有一個應用程序源和它的APK文件。現在我想阻止這個APK文件被反向工程。如果可以通過逆向工程來保護我的應用程序,那麼在我的編碼或任何庫中要遵循的步驟是什麼?如何防止Android APK文件的安全代碼逆向工程?

+0

可能重複[是否可以反編譯Android .apk文件?](http://stackoverflow.com/questions/3122635/is-it-possible-to-decompile-an-android-apk-file) – PearsonArtPhoto

+0

在Devoxx UK上對此進行了很好的討論 - 查看[這裏](http://www.parleys.com/play/5167dc5ce4b05b6ad71fa6fb/chapter0/about) – OceanLife

+0

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

回答

11

現在我想阻止這個APK文件被反向工程。

這是不可能的,對不起。

如果可以從反向工程中保護我的應用程序,那麼在我的編碼或任何庫中要遵循的步驟是什麼?

正確配置的ProGuard會混淆您的代碼。 ProGuard的商業擴展版DexGuard可能會幫助更多。但是,您的代碼仍然可以轉換爲smali,具有逆向工程經驗的開發人員將能夠從smali代碼中瞭解您的工作。

如果您不希望他人看到您的代碼,請不要將該代碼存儲在他們的設備上。

+0

如何不將代碼存儲在他們的設備上?假設他們有根植的設備並首次下載APK。他們有你的APK,並可以從那裏開始吧? – rxlky

+8

@Halim:「如何不在他們的設備上存儲代碼?」 - 將您的業務邏輯放在您的服務器上,並讓您的應用程序與您的服務器通話。 – CommonsWare