當前位置:首頁 » 編程軟體 » 手機軟體如何反編譯

手機軟體如何反編譯

發布時間: 2023-05-09 22:14:55

『壹』 反編譯手機軟體

手機的安裝包後綴是.apk,電腦應用後綴是.exe。因為手機和電腦運行方式編譯不同,所以電腦自然運行不了手機軟體。
對於反編譯來講,mt管理器,找到安裝包第一個文件夾,打開慢慢找到一個代碼叫:
Android: Width (dp)
修改就可以修改界面寬度。

『貳』 如何反編譯android應用並重新打包

反編譯android步驟入下:

第一:使用apktool直接反編譯apk

第六:把生成的hellodemo.apk安裝到手機,可以看到主界面上已經顯示的是hello,而不再是你好。說明反編譯重新打包成功!

『叄』 手游APK文件反編譯

電腦上著名的 apk 文件反編譯器,安卓手機軟體中國化所必需的 pc 軟體。它將幫助你反編譯成常規文件,並為你提供一個基本的幫助,為未來的 diy 工作。現在人才終於把它移植到行動電話上了,當涉及到中國化或簡單地修改軟體時,不再需要等待 pc 機工作。安裝說明: 將數據包復制到手機 micro sd 卡的根目錄,然後將主程序安裝到手機上。此外,該程序需要根許可權,手機必須獲得和授權,才能正常使用。說明: 本程序在使用大量文件操作時,需要很長時間耐心等待。如果你在編譯程序的過程中點擊屏幕,程序很容易失去響應。此時,只需單擊「等待」 ,耐心等待程序再次響應,程序將繼續編譯。[社論評論] apk 工具這個計算機端的 apk 反編譯軟體終於被移植到手機端,中國人破解了人們必需的工具!

『肆』 anzhuo應用程序怎麼反編譯

讓我們先來認識下APK文件. Android的應用程序包為擴展名為.apk文件, 無論你是從手機市場里下載, 還是電腦中下載. 都是這類APK文件. APK是AndroidPackage的縮寫,即Android安裝包(apk)。APK是類似Symbian Sis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。apk文件和sis一樣,把android sdk編譯的工程打包成一個安裝程序文件,格式為apk。 APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是Dalvik VM executes的全稱,即Android Dalvik執行程序,並非java ME的位元組碼而是Dalvik位元組碼。Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows Mobile中的PE文件有區別.


android


一個APK文件解壓開通常有這樣的文件夾:


META-INF 目錄:

MANIFEST.MF: manifest文件

CERT.RSA: 應用程序證書

CERT.SF: SHA-1資源簽名列表. 例如:

Signature-Version: 1.0

Created-By: 1.0 (Android)

SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=

...

Name: res/layout/exchange_component_back_bottom.xml

SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w=

...

Name: res/drawable-hdpi/icon.png

SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=


lib: 這個目錄包含某些特定編譯代碼, 這個文件夾分成下面這些

armeabi: 只基於所有ARM處理器的編譯代碼.

armeabi-v7a: 所有ARMv7處理器的編譯代碼

x86: 僅針對x86處理器的編譯代碼

mips: 為MIPS處理器的編譯代碼

res: 包含資源的目錄不編譯到資源文件,看下面:

assets: 包含應用程序的資產,可以通過AssetManager進行檢索.

AndroidManifest.xml: 包含應用程序的元數據文件,描述名稱、版本、訪問許可權、引用應用程序的庫文件。此文件在Android二進制格式, 可被工具轉化為可讀的純文本XML工具,如 AXMLPrinter2,apktool,或Androguard。設置,可以通過AssetManager進行檢索

classes.dex: Dalvik位元組碼

resources.arsc : 一個包含預編譯資源文件,如二進制的XML.

有兩種方法反編譯APK, 如果是為了漢化程序, 可以使用apktool:


安裝過程

1.下載apktool1.5.2.tar.bz2和apktool-install-windows-r05-brut1.tar.bz2

2.把兩個文件都解壓放在同一個目錄,共三個文件

aapt.exe

apktool.bat

apktool.jar用於解包,apktool.jar和aapt.exe聯合用於打包。


在命令行執行:


apktool d d:xxx.apk d:xxx


xxx 為你的輸出目錄, 然後你就可以看一些xml的資源文件, 以及Smali文件. 如下圖某APK文件反編譯輸出目錄:

由此可見,Android應用程序反編譯並不難, 加密與解密的斗爭一直會持續.

『伍』 如何反編譯apk文件

注意:反編譯的前提是:開發者沒有使用proguard(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資源。
注意:文件的路徑中最好不要出現中文!

『陸』 安卓app360加固怎麼反編譯

1 對比

上傳demo進行加固,解包後對比下原包和加固包,發現加固包在assets文件夾下多了libjiagu.so,libjiagu_x86,lib文件夾下多了libjiagu_art.so,同時修改了dex文件和AndroidManifest文件

打開manifest文件,看到xxx加固對Application標簽做了修改,添加了殼入口,也就是我們反編譯後看到的StubApplication.smali這個文件。

相比於之前版本的加固,自從1.x.x.x加固版本之後,多了幾次反調試,使得動態難度稍微增大了一些,不過針對脫殼機脫殼,再多了反調試也是無用。或者通過修改系統源碼,也能達到消除反調試的作用。


2 動態調試

(1)把app安裝到手機,以調試模式打開app

(2)以shell模式root許可權打開IDA的android_server監聽

(3)tcp轉發

(4)打開IDA,修改配置為在進程開始時下斷

(5)搜索到進程後jdwp轉發,pid值即為我們進程號,並在命令行下附加。

成功附加後,可以下段了,打開Debugger Option

我們選擇在線程開始和庫載入時下斷,修改成功後,jdb附加,點擊運行

程序會斷在elf頭處,按下G鍵,搜索mmap,在mmap函數的段首和斷尾下段

F9運行,來到斷尾時F8單步,

來到此處時,在 BLunk_5C999C2C下斷,F9一下,F7跟進去

跟進去今後在BLX LR處進行下斷,此處就是進行反調試的地方,原理依然是獲取TracePid的值判斷當前是不是處於調試狀態,建議第一次調試的人在fgets和fopen處下斷,再f7跟進此調用就可以看到TracePid的值了。

跟進去之後,我們直接把方法移到最下方,就可以看到kill符號了,這就是殺進程的地方,如果當前處於調試狀態,則直接結束進程。

我們在此函數的所有cmpR0,#0處下斷,F9一下後即斷在斷點處,觀察寄存器窗口的R0值,實質就是當前的TracePid的16進制的值

不確定的可以使用cat /proc/pid/status進行對比一下,我們直接把R0置0,右鍵選擇Zero Value即可清0,繼續F9

我們看到程序又來到了mmap處,繼續f9

當繼續斷在調用反調試功能的方法時,繼續F7跟進,依然在所有的cmp R0,#0處下斷,斷下後把R0清0後繼續F9運行

目前的規律是,調用BLXLR的第一次,第二次和第四次是進行反調試判斷的,第三次並不影響,可以直接f9跳過去,三次反調試搞定後,就可以愉快的F9運行並觀察堆棧窗口了

當看到出現如下所示時:

說明殼已經開始解密並釋放dex文件了,我們直接F8單步十幾步,最後F9一下就可以看到我們需要的dex頭了

直接腳本mp出來即可,最後把libjiagu的所有文件刪除,並修復下Application標,如果存在則修復,不存在刪除即可

『柒』 求安卓軟體反編譯修改教程

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里的同名文件,最後重新簽名。注意安裝時要先刪除原來手機里的版本,因為簽名不同。

『捌』 安卓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文件反編譯

『玖』 怎麼把手機上的app轉化為開發源代碼

1.下載apktool所需文件:a、apktool1.5.

2.tar.bz2b、apktool-install-windows-r05-ibot.tar.bz2(windows系統)2.解壓剛剛下載的文件,並將解壓的局飢文件放入C:Windows目錄下

3.啟動控制台,輸入apktool,回車可查看到apktool工具常用指令

4.新建一個文桐掘返件夾,用於存放apk及待解壓的文件,這里筆者將文件夾建在D:apk目錄,同時放入用於測試的androidapp包(test.apk)

5.控制台輸入:apktooldD:apkest.apkD:apkest進行反編譯操作中句話散念中「D:apkest.apk」指apk存放位置,「D:apkest」指反編譯後文件存放的位置

6.反編譯成功之後,進入D:apkest文件目錄可以查看到反編譯後的文件


熱點內容
加密手機在哪裡 發布:2024-05-04 21:18:59 瀏覽:189
掃雷電腦配置低怎麼辦 發布:2024-05-04 21:07:37 瀏覽:820
微雲緩存文件在哪裡 發布:2024-05-04 20:53:07 瀏覽:508
咸陽市移動dns伺服器地址 發布:2024-05-04 20:39:19 瀏覽:441
小車哪個配置好 發布:2024-05-04 20:38:38 瀏覽:796
周長的演算法 發布:2024-05-04 20:37:46 瀏覽:370
保衛蘿卜2安卓版什麼時候更新 發布:2024-05-04 20:08:48 瀏覽:203
建工黨建宣傳片腳本 發布:2024-05-04 20:07:31 瀏覽:219
long在c語言中 發布:2024-05-04 19:54:39 瀏覽:782
svn在本地文件夾 發布:2024-05-04 19:50:21 瀏覽:447