玩一下android的反編譯和代碼混淆


這次准備系統的玩兒一下android從導出apk到反編譯再到代碼混淆然后再次反編譯的過程,有圖有真相的記錄一下~~

 

第一步,導出未加混淆的普通apk

首先創建了一個fuckcode項目,有基本的Activity:MainActivity一個,Other類一個,代碼很簡單,在MainActivity中調用Other的靜態方法xx,xx方法只是輸出一個字符串,預想目的是為了看看混淆后Other是否還可以反編譯出來。附圖:

ok,很業余很簡單哈,MainActivity中代碼也很業余很簡單,如下:

1 protected void onCreate(Bundle savedInstanceState) {
2         super.onCreate(savedInstanceState);
3         setContentView(R.layout.activity_main);
4         Other.xx();
5     }

簡單寫完,接下來

 

 

第二步,簽名打包APK

首先,你需要配置好你android使用的jdk,驗證方法 cmd 中 java、javac等等,這里就不說了,接下來你需要整一個簽名證書出來,這時候可以這么做:

這時候你就拿到了一個test.keystore,然后你就可以通過eclipse導出有簽名的apk了

步驟:eclipse中選中項目,點擊右鍵選中export,選擇android ,選擇export android application -->next-->路徑選擇剛剛生成的test.keystore的路徑,密碼填寫剛剛輸入的密碼 -->next -->選中別名填寫密碼 -->next-->選擇導出apk的路徑,然后finish。

至此,有簽名的APK就導出完畢了~~~~

 

 

第三步,試着反編譯之前的APK

這時候我們需要下載一些拆拆工具:下載地址    還有一個    個人習慣先一股腦下下來,然后慢慢折騰。。。。

現在我們先把之前導出的apk伙子們更改為zip,解壓以后拿到classes.dex ,然后把classes.dex放到之前下載好的dex2jar-0.xxx文件夾中,跟dex2jar.bat放在一個目錄下,然后開整。。。。

嚎~這時候我們得到了一個classes_dex2jar.jar

現在,我們拿之前下載好的jd-gui-XXXX-windows中的jd-gui.exe打開classex_dex2jar.jar文件。。。然后我們發現我們寫的android源碼脫光光了。。。沒圖說個JB。。

代碼看完了,我們現在來看各種文件。。。。

首先下載一個apktool。。。。最近版這里找

然后把apktool.jar 跟要反編譯的apk放在一個目錄下。。。。執行 apktool22.jar d fuckcode.apk

其中apktool22.jar 是我自定義的名字,各位看下下的jar文件叫什么就寫什么。。。。

然后我們會得到一個fuckcode文件夾。。。。打開里面。。。發現圖片啊,配置文件啊。。。啥都有。。。。一個不混淆加密的apk就這么被扒光了。。。

 

 

接下來整第三步。。。混淆混淆。。。

喝口水,吃個飯,等會再寫。。。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM