2012-06-11 144 views
1

我已經編譯了android應用程序(.apk文件)。 我想改變它,在開始之前顯示啓動畫面。 我可以在沒有任何源代碼的情況下執行此操作嗎?反編譯Android apk

+0

反編譯apk是方式比修改源代碼後創建另一個apk更耗時。 – user1092042

+2

@ user1092042這樣的聲明通常只是藉口不說「我從我的競爭對手偷這個應用程序」 –

+0

「或我的客戶正在這樣做」)) –

回答

0

this question.

首先,apk文件僅僅是一個修改jar文件。所以真正的問題是他們可以反編譯裏面的dex文件。答案是有點。

所以,如果你只是改裝你用來編譯你的apk文件

4

不是真正的源代碼,這將是最容易的。

反編譯是不是直接進程。你在編譯過程中丟失了大量的信息(變量名被扔掉,註釋被拋出,等等)。對於安卓:

  • 的APK是簡單地用一組類和資源的zip文件。
  • 這些類被編譯爲.dex文件。
  • .dex文件包含的代碼有點像Java虛擬機代碼。
  • 您可以使用工具dex2jar將dex翻譯爲jar。
  • 完成此操作後,您可以簡單地使用Java反編譯器。

但是,正如你原來的問題所要求的那樣,用這種方式修改代碼基本上是不可能的,會產生一堆難以維護的代碼。這將需要很長時間來做到這一點,部分理解反編譯代碼如何工作(因爲將不會有任何評論或中間變量名稱),然後修改它...