2011-12-05 125 views
0

我將出版在未來幾周內爲客戶端的Android應用程序,需要看看如何確保應用保護Android源代碼

在我目前運行時刻Proguard的

我不是關心資源(xml,圖像)我需要保護的是源。

除了Proguard,還有什麼我可以做的嗎?

感謝 乙

回答

1

有工具來反彙編你的apk文件。 Proguard是必須具備的,但是,這並不意味着絕對的安全。 proguard只是使反編譯的代碼不像源代碼那樣可讀,所以需要更多的時間和耐心來分析代碼。基本上,這足夠了,如果你關心的是更高的安全性,我建議:

用C寫你的核心算法,並通過JNI調用它。

加密您的敏感數據或不將其存儲在本地。

將你的方法分解成片段,使反編譯後更難讀。

0

當你建立一個Android應用程序,Java源代碼(.java文件)被編譯成字節碼(.class文件)。它是成爲最終應用.apk文件一部分的類文件;源.java文件不包含在內。

+0

將.class文件轉換回.java文件很簡單。 – x0n

0

apk使用相當複雜的過程來構建。首先將java文件編譯爲類文件,然後將類文件送入dex編譯器以創建dalvik機器的代碼。所以,即使你使用de-deer來反編譯APK,也不太可能有人讀過你的實際源代碼:)

但是你也可以使用pro-guard來進一步混淆你的代碼。我不認爲有比專業護衛更好的工具可以使用

+0

對於開發人員來說,使用下面的指令來做逆向工程並不難,也請注意,有幾種工具可用於此! [從APK文件獲取源代碼](http://stackoverflow.com/questions/3593420/android-getting-source-code-from-an-apk-file) – VSB

+0

@VSB你有沒有使用過這些工具反編譯apk的生產版本,或者說說Firefox的源碼可用。請讓我知道你的經驗。我已經使用了它們中的大部分,儘管它們可以公平地給出包名,但是反編譯源代碼是非常麻煩的。嘗試使用它們,你會知道我在說什麼。 –