導航:首頁 > 源碼編譯 > 安卓反編譯實戰

安卓反編譯實戰

發布時間:2022-05-02 07:17:41

A. 安卓4.0如何反編譯resources.arsc

resources是APK中的資源文件,例如圖片布局等等,android 反編譯的方法,需要用到幾個工具,網路一下都能找到下載地址
dex2jar JD-GUI apktool

反編譯步驟:
1.反編譯Apk得到java源代碼
首先要下載兩個工具:dex2jar和JD-GUI
前者是將apk中的classes.dex轉化成Jar文件,而JD-GUI是一個反編譯工具,可以直接查看Jar包的源代碼。

具體步驟:
1.首先將apk文件,將後綴改為zip,解壓,得到其中的classes.dex,它就是java文件編譯再通過dx工具打包而成的;
2.解壓下載的dex2jar,將classes.dex復制到dex2jar.bat所在目錄。在命令行下定位到dex2jar.bat所在目錄
運行 dex2jar.bat classes.dex
生成 classes.dex.dex2jar.jar

2.反編譯apk生成程序的源代碼和圖片、XML配置、語言資源等文件
還是下載工具,這次用到的是apktool

具體步驟:
將下載的兩個包解壓到同一個文件夾下,應該會有三個文件:aapt.exe,apktool.bat,apktool.jar
1.解壓縮下載的兩個文件包,apktool-install-windows-r04-brut1.tar解壓縮後得到的包里有aapt.exe 和apktool.bat.(注意要把apktool1.4.1.tar解壓後的一個.jar 文件到解壓後的\apktool-install-windows-r04-brut1文件夾里)
2.特別注意:你要反編譯的文件一定要放在C盤的根目錄里

B. 求安卓軟體反編譯修改教程

1、baksmali:classes.dex反編譯為smali格式

(smali:smali格式編譯打包為classes.dex,但由於smali格式類似匯編,比較難閱讀,所以用dex2jar進行輔助 )
2、dex2jar:classes.dex轉為jar包
3、jdgui:jar反編譯並閱讀

操作順序:

apk用zip解開,裡面的classes.dex分別用baksmali處理為smali,用dex2jar處理成jar,然後用jdgui看代碼,找好java文件中要改的位置後,在smali里找對應的位置修改,改完了用smali再編譯為classes.dex,覆蓋原來apk里的同名文件,最後重新簽名。注意安裝時要先刪除原來手機里的版本,因為簽名不同。

C. 安卓反編譯apk代碼沒修改只是把軟體名字改了

首先要說明一點,反編譯是個灰色地帶,是會觸犯版權問題的。完全正當的用途不多,比如惡意軟體的分析。
如果你真的想學反編譯,去吾愛破解論壇上,認真把上面的教程都學一遍。這絕對不是什麼簡單的事情,需要大量的工作經驗作為支撐。換句話說,如果你沒有相應語言足夠的實戰開發經驗,學反編譯無異於蛇吞象。
安卓app是使用JAVA進行開發的,對安卓app的反編譯就是對JAVA程序進行反編譯。而JAVA的由於其本身原理的原因,從JAVA程序反編譯為代碼是比較簡單的,不容易出錯,並且整個過程是傻瓜式的。不像其他語言,比如C++,程序會徹底變為機器語言,就不容易直接使用軟體恢復成代碼了。
因此,為了保證自己的代碼不被他人反編譯,我們開始使用代碼混淆技術。簡單的例子,某個方法名本來是setUserName(String userName),這樣的名字別人一看就知道是用來幹嘛的,而使用了混淆之後,這個方法的名字就有可能變為c(String s),這樣就不能夠知道這個方法是做什麼的了。換句話說,混淆能夠急劇地增加反編譯者的工作量,使之無法修改和獲取自己app的真正代碼。
總結一下,反編譯不是鬧著玩的,也不是修改一個所謂的「名字」就能夠完成任務的。如果想要真正地修改APP,必須從頭開始,把混淆的代碼都恢復成原本的代碼,至少,你也得知道被混淆之後的代碼中,哪裡是幹嘛的。
同時也希望題主不要以身試法。

D. 安卓apk文件如何反編譯

安卓apk文件反編譯:
一、反編譯xml文件
1>
首先下載我給你們提供的文件夾apk_fanbianyi,把它放到某個盤的根目錄下(為了方便輸入dos命令),然後打開apktool文件夾,安裝win+r鍵,然後輸入cmd,進入dos命令行,大家別怕,不用暈,很簡單的。
2>
然後在dos命令中首先輸入文件夾所在盤符+「:」回車,接著再輸入cd+apktool所在目錄,切換dos工作空間到apktool文件夾下。
3>
接著輸入
apktool.bat
d
【需反編譯apk文件路徑】
{【反編譯文件反編譯後的路徑】},其中最後一部分可以省去,系統會默認把apk文件反編譯到apktool目錄下,例如輸入
apktool.bat
d
d:/apk_fanbianyi/ttkp.apk,在apktool文件夾下就會生成一個ttpk的文件夾,所有的xml文件全部反編譯成功。
二、反編譯java文件
1>
首先解壓需要反編譯的apk文件,拷貝出裡面的classes.dex文件到dex2jar文件夾(為了方便操作,省去dos命令輸入路徑的麻煩)
2>
把工作空間切換到dex2jar文件夾下,輸入命令cd
d:/apk_fanbianyi/dex2jar回車
3>
輸入命令dex2jar.bat
classes.dex回車,發現dex2jar文件夾下多了一個classes_dex2jar.jar文件,這是反編譯成功的java文件
三、xml文件的打開
1>
打開apktool文件夾下的ttkp文件夾,任意找到一個xml文件,選中單擊右鍵,選擇notepad++打開(需下載),如果沒有此軟體,可以選擇打開方式,選擇記事本打開
四、java文件的打開
1>
dex2jar文件夾下的classes_dex2jar.jar拷貝到apktool文件夾的ttkp文件夾中,不能用notepad++打開,不然會亂碼的
2>
啟動apk_fanbianyi文件夾下的jd-gui.exe,然後點左上角file,選擇open
file,找到classes_dex2jar.jar文件,可以發現有很多包,選擇包下的任意一個java文件,打開不亂碼了,是不是很神奇,哈哈,你學會了安卓apk文件反編譯

E. 如何使用安卓反編譯破解游戲

一、dexmp方法
dexmp是emulator自帶提供的查看dex文件的工具,可使用類似這樣的命令將dex文件mp到txt文件中:
D:/Program Files/android-sdk-windows-1.6_r1/platforms/android-1.6/tools>dexmp.exe -d classes.dex > spk.mp.txt
得到的文件內容,描述了類的信息,但實在是不好讀啊~~~~

二、dex2jar + XJad 方法

該方法是使用dex2jar.jar包,將classes.dex文件解包成jar,在通過XJad(或者其他class反編譯工具)進行java反編譯。如:
1、dex2jar.bat d:/play/classes.dex
默認的輸出路徑同classes.dex,生成的文件名為classes.dex.dex2jar.jar
2、使用XJad反編譯該jar包
之後的使用方法,大家都懂的:)

該方法的好處在於,通過XJad反編譯後,大家可直接開到java源文件,缺點在於只能反編譯出開發時的java文件,而開發時使用的lib包不能反編譯出來。

三、AXMLPrinter2.jar + baksmali.jar + smali.jar 方法

這個方法就強大了,AXMLPrinter2是還原AndroidManifest.xml和main.xml的工具,直接打開這兩個xml文件是亂碼,而通過還原之後,可以很明白的看到裡面的內容(我猜測還是使用了位元組異或的方式加的密)。
baksmali.jar是反解析dex的工具,smali.jar則是再還原成dex的工具
操作方式如下:

1、java -jar AXMLPrinter2.jar D:/play/AndroidManifest.xml > AndroidManifest.txt
2、java -jar AXMLPrinter2.jar D:/play/res/layout/main.xml > main.txt
3、java -jar baksmali-1.2.5.jar -o classout/ d:/play/classes.dex

F. 求教安卓apk反編譯,添加廣告教程

工具:
apktool,作用:資源文件獲取,可以提取出圖片文件和布局文件進行使用查看
dex2jar,作用:將apk反編譯成java源碼(classes.dex轉化成jar文件)
jd-gui,作用:查看APK中classes.dex轉化成出的jar文件,即源碼文件

反編譯流程:
一、apk反編譯得到程序的源代碼、圖片、XML配置、語言資源等文件
下載上述工具中的apktool,解壓得到3個文件:aapt.exe,apktool.bat,apktool.jar ,將需要反編譯的APK文件放到該目錄下,
打開命令行界面(運行-CMD) ,定位到apktool文件夾,輸入以下命令:apktool.bat d -f test.apk test
(命令中test.apk指的是要反編譯的APK文件全名,test為反編譯後資源文件存放的目錄名稱,即為:apktool.bat d -f [apk文件 ] [輸出文件夾])

獲取成功之後,發現在文件夾下多了個test文件,點擊便可以查看該應用的所有資源文件了。
如果你想將反編譯完的文件重新打包成apk,那你可以:輸入apktool.bat b test(你編譯出來文件夾)便可
之後在之前的test文件下便可以發現多了2個文件夾:

build
dist(裡面存放著打包出來的APK文件)

二、Apk反編譯得到Java源代碼
下載上述工具中的dex2jar和jd-gui ,解壓
將要反編譯的APK後綴名改為.rar或則 .zip,並解壓,得到其中的額classes.dex文件(它就是java文件編譯再通過dx工具打包而成的),將獲取到的classes.dex放到之前解壓出來的工具dex2jar-0.0.9.15 文件夾內,
在命令行下定位到dex2jar.bat所在目錄,輸入dex2jar.bat classes.dex,
在改目錄下會生成一個classes_dex2jar.jar的文件,然後打開工具jd-gui文件夾里的jd-gui.exe,之後用該工具打開之前生成的classes_dex2jar.jar文件,便可以看到源碼了

G. 如何在Mac上進行Android反編譯

首先反編譯後的APP,源碼文件沒有SRC和GEN這2個主文件源碼,這2個文件源碼是非常重要的
其次就是,反編譯後源碼出現很多錯誤問題,當你導入JAVA開發工具後,會出現value錯誤
還有就是APP無法正常的回編譯,為什麼呢?因為你反編譯後的文件源碼不全啊,前面說了,反編譯後,你得到的源碼只有一部分而已,核心源碼並沒有反編譯出來
4
還有就是你修改了裡面的圖片,APP名稱,APP包名等,也一樣不可生產APP。因為源碼核心部分沒有。只能用來學習和二次開發用。
5
所以想利用反編譯APP來盜取別人成果的人,想也別想了。哪有那麼容易的事情。如果別人APP可以隨便反編譯全部源碼了,那谷歌是吃素的嗎?想想吧
6
假設APP很容易就被反編譯了,自己想想看,這樣的結果會讓很多人對安卓系統失去信心。任務安卓系統一點不安全。沒有保障。所以就是為了安全。谷歌也會把加密工作做得非常好
7
最後希望大家不要再想著用APP反編譯來弄一個APP了。這種方法是行不通的。而且也不實際,自己用能力自己去開發APP。可以借鑒下別人的編程風格可以,全部抄襲那是不可能的
8
所以想反編譯來製作APP的朋友。不要浪費自己的時間和精力了。有這些時間。你去學習下怎麼開發APP都學會了。
9
以上僅代表我的實戰經驗的個人見解,當然也許有些變態級別的人物,能夠做的完全反編譯也不是說不可能。但至少我沒碰到這樣的人物。

H. 哪個安卓的反編譯軟體,最強大反編譯錯誤最少

一、工具:
apktool , dex2jar , jd-gui

二、使用dex2jar + jd-gui 得到apk的Java源碼
1.用解壓工具從 apk包中取出 classes.dex 文件
用命令(dex2jar.bat classes.dex)得到一個 jar文件
2.用jd-gui反編譯工具將得到.jar文件反編譯成.java文件

三、使用apktool得到apk的xml文件
1.用命令(apktool d xxx.apk xxx_xml)反編譯xxx.apk包
2.從 xxx_xml 文件夾得到xml文件

閱讀全文

與安卓反編譯實戰相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:569
python員工信息登記表 瀏覽:369
高中美術pdf 瀏覽:153
java實現排列 瀏覽:505
javavector的用法 瀏覽:974
osi實現加密的三層 瀏覽:225
大眾寶來原廠中控如何安裝app 瀏覽:906
linux內核根文件系統 瀏覽:235
3d的命令面板不見了 瀏覽:520
武漢理工大學伺服器ip地址 瀏覽:141
亞馬遜雲伺服器登錄 瀏覽:517
安卓手機如何進行文件處理 瀏覽:65
mysql執行系統命令 瀏覽:923
php支持curlhttps 瀏覽:136
新預演算法責任 瀏覽:437
伺服器如何處理5萬人同時在線 瀏覽:244
哈夫曼編碼數據壓縮 瀏覽:417
鎖定伺服器是什麼意思 瀏覽:378
場景檢測演算法 瀏覽:610
解壓手機軟體觸屏 瀏覽:341