導航:首頁 > 源碼編譯 > java反編譯app源碼詳解

java反編譯app源碼詳解

發布時間:2024-09-29 18:14:59

❶ 如何反編譯Apk得到java源代碼

具體步驟:
1.首先將apk文件後綴改為RAR並解壓

2.解壓並擾棚rar文件,得到其中的classes.dex文件

3.我們需要用到dex2jar 把dex文件轉為jar文件。
3.1把解壓李渣得到的classes.dex文件放入dex2jar.bat 所在目錄 )

3.2打開DOS命令行,進入dex2jar所在目錄,運行 dex2jar.bat classes.dex 生成 classes_dex2jar.jar

4.最後用jd-gui.exe打開生成的classes_dex2jar.jar我們絕則就能開到應用的源代碼了。

❷ app可以被反編譯到什麼程度

android APK中的Java代碼可以被反編譯到什麼程度主要看APK的加密程度。

第一種情況:無混淆無加密無加殼。
直接利用Dex2jar和JD-GUI可把源碼從APK里摳出來,代碼邏輯清晰,基本上做到可復用,只是資源文件的引用需要計算一下。

第二種情況:混淆。
通常是利用Proguard做的防護。因為是對jar做的不可逆混淆(除非有mapping),因此不能還原成原來的代碼。但是代碼結構,代碼邏輯一致,只要花長時間對代碼進行梳理一樣可找准核心代碼,解密方法跟第一種一致。

第三種情況:加密。
這里以DexGuard為例。對於這種代碼加密的方法,在程序運行中必定會進行解密,只要抽出它解密的邏輯便可。PS:我自己做過DexGuard的解密,如果用Dex2jar反編譯看的話邏輯是不對的,一定要從Smali代碼看。後來發現網上已經有人做了。
解密的腳本:A look inside Dexguard

第四種情況:加殼。
這種情況跟第三種類似。無論你怎麼加殼,運行的時候必定是Dalvik可識別的Odex代碼,建議直接在內存里mp出來。這里推薦Xpose的ZjDroid。

加固可以在一定程度上保護自己核心代碼演算法,提高破解/盜版/二次打包的難度,緩解代碼注入/動態調試/內存注入攻擊等。
目前市面上有很多第三方加固的平台, 如果新應用發布前需要掃描或者加固的話,可以先試試免費的,例如騰訊御安全,建議自己先去掃描測試下。

❸ 如何讀apk反編譯出的java源代碼csdn

  1. 打開Androidfby中的Android反編譯工具,開始直接反編譯,選中你要反編譯的apk,反編譯即可,這樣就可以得到軟體中圖片,xml,dex文件,或者直接用解壓文件解壓,但是不能保證xml正常顯示,所以我們最好是結合一起用

  2. 打開反編譯之後的文件夾,找到classes.dex,將其復制到dex2jar的文件夾目錄下面,與dex2jar.bat在同一目錄即可。打開命令提示符,一直打開到dex2jar目錄,執行以下命令dex2jar.bat classes.dex

  3. 這時會在dex2jar目錄下生成一個classes_dex2jar.jar文件,這時運行jd-gui目錄下的jd-gui.exe,選擇File-----》Openfile------》classes_dex2jar.jar,即可查看java代碼了

❹ 如何反編譯Apk得到Java源代碼

1.下載反編譯工具
需要下載四個工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
dex2jar:將apk中的classes.dex轉化成Jar文件。
JD-GUI:反編譯工具,可以直接查看Jar包的源代碼。
apktool:反編譯工具,通過反編譯APK中XML文件,直接可以查看。
apktool-install-windows-r05-ibot:輔助windows批處理工具。
下載地址:
dex2jar:http://code.google.com/p/dex2jar/downloads/list
JD-GUI:http://code.google.com/p/innlab/downloads/lis
apktool:http://code.google.com/p/android-apktool/downloads/list
工具截圖:

2.解壓縮APK包
apk文件也是一種常見的zip,常用的壓縮軟體就可輕松地解壓apk文件。用壓縮軟體將apk文件中的文件解壓到一個文件夾中,得到APK中的資源包括XML文件和classes.dex文件,classes.dex就是java文件編譯再通過dx工具打包而成的。
解壓截圖:

3.反編譯dex文件
解壓apk文件後,你會發現res目錄的圖片沒有加密,但java源碼編譯成了一個classes.dex文件,無法用普通的反編譯class文件的方法來處理,dex2jar可以將dex文件轉換成普通的jar包。
解壓下載的dex2jar,把解壓後的文件夾放到系統盤跟目錄中並把這個目錄加到系統path變數中,就可以直接用:dex2jar.bat或dex2jar.sh轉換dex文件了。
DOS行命令如下:dex2jar.bat xx\classes.dex(xx是classes.dex文件所在的路徑)。
將在同目錄得到普通jar包:classes_dex2jar.jar,就可以用處理普通jar包的方法來反編譯這個jar包得到原文件。
編譯截圖:

生成jar文件的截圖如下:

4.反編譯jar包
得到jar包後,下載自已喜歡的反編譯工具,推薦使用JD-GUI,有比較簡單的圖形界面,可以反編譯單個class文件,也可以反編譯jar包,比較方便。
打開壓縮文件JD-GUI,運行jd-gui.exe,打開上面生成的jar包,即可看到源代碼了。
截圖如下:

5.反編譯xml文件
打開解壓的res\layout目錄,有很多xml文件,如果你想看下作者是如何設計界面的,你會很失望,因為你看到的是一大堆亂碼!這個時候我們需要用到的是apktool。
具體操作方法:將下載的apktool和apktool-install-windows-r05-ibot兩個包解壓到同一個文件夾下,這個文件夾有三個文件:aapt.exe,apktool.bat,apktool.jar。把這個文件夾也放到系統盤的根目錄中並把這個目錄加到path變數中。以HelloWord.apk為例:
在DOS命令行中輸入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夾,此文件夾中的xml文件就是編譯好的可以正常查看的文件。

這樣就得到了可以得到編譯的源碼和XML資源。
注意:文件的路徑中最好不要出現中文!
http://jingyan..com/article/dca1fa6fbe140ef1a4405212.html

❺ Java反編譯工具 JD-GUI安裝使用

編程世界裡,代碼的編譯與反編譯猶如創作與解構的藝術,將源碼編譯成二進制的執行文件(.class)是編譯,而將這些不可見的代碼還原成人類可讀的源碼,則是反編譯。在Java開發中,這種過程尤為重要,因為我們常需要深入理解運行時的內部邏輯。


JD-GUI,這款由C++打造的多平台工具,是Java反編譯領域的翹楚,支持Windows、Linux和Mac OS,甚至提供了Eclipse插件JD-Eclipse,將反編譯操作無縫融入到開發環境中。


無需繁瑣的安裝步驟,只需雙擊運行,JD-GUI即可處理.jar和.class文件,它能快速地將整個包轉換為易於理解的源代碼.zip包,且反編譯准確度極高,盡管反編譯後的代碼與原始源碼略有差異,但足以揭示程序的核心邏輯。


JD-GUI有兩種運行模式:JD-GUI作為獨立程序運行,以及JD-Eclipse/JD-IntelliJ作為集成插件使用。前者以獨立界面呈現,後者則嵌入到Eclipse或IntelliJ的開發環境中,為開發者提供了更便捷的操作體驗。


要下載JD-GUI,只需訪問官方網站 https://github.com/java-decompiler</,找到最新版本1.6.6,選擇下載鏈接。在瀏覽器中輸入地址,點擊"DOWNLOAD NOW",選擇合適的鏡像地址進行下載,隨後按照提示保存到本地,等待下載完成即可。


使用方法簡潔明了:啟動jd-gui.exe,通過菜單欄選擇 File > Open File</,找到待反編譯的.class文件,即可看到對應java源碼的揭示,或者直接將jar或class文件拖放到JD-GUI圖標上,軟體會自動處理。


對於網路不穩定的情況,我們貼心地准備了預下載的軟體包。只需關注並搜索我們的公眾號 開源位元組</,回復「軟體工具」,即可獲取到下載鏈接。切記,每一份代碼的解讀,都源於對JD-GUI的得心應手運用。

❻ JAVA初學,反編譯的一個安卓APP,怎麼會沒有主(main)方法,程序不是從主方法開始運行嗎,還

android程序一般都是由MainActivity開始的局彎,是一個Activity類。你可以在Manifest.xml中找到<action android:name="android.intent.action.MAIN"/>,然後望上找到<activity android:name=xxx">,xxx就是程兄畝序的入口羨臘森。一般都是activity類。

閱讀全文

與java反編譯app源碼詳解相關的資料

熱點內容
u盤被別人加密怎麼辦 瀏覽:485
查看wrf的編譯 瀏覽:942
瑞幸app如何預約自提 瀏覽:687
安卓怎麼能關掉搜索 瀏覽:221
簡單實用的桌面文件夾 瀏覽:402
解開壓縮包打開文件夾 瀏覽:14
解壓日本喜劇 瀏覽:870
如何看出伺服器性能配置 瀏覽:649
程序員怎麼變成少女 瀏覽:270
acr9000獨立式可編程運動控制器 瀏覽:764
java數據結構書籍 瀏覽:362
lol壓縮秀 瀏覽:530
編譯燒錄失敗 瀏覽:272
安卓如何讓充電快起來 瀏覽:16
手機qqdisk文件夾 瀏覽:937
文件夾怎麼放進U盤 瀏覽:295
手機系統編譯語言 瀏覽:424
華為手機nfc加密卡怎麼復制 瀏覽:21
androidjni開發流程 瀏覽:884
如何解除vivo應用加密鎖 瀏覽:734