反編譯 Apktools的使用

2021-09-24 19:55:18 字數 2710 閱讀 8822

命令介紹

以下命令需要在 apktool根目錄下完成操作:

作用可以隨時執行的選項。 通過 apktool或者apktool.bat實現

-version, --version
輸出當前版本。

-v, --verbose
詳細輸出。必須作為第乙個引數來使用。

-q, --quiet
隱藏輸出,即輸出不顯示詳細資訊,必須是第乙個引數來使用。

-advance, --advanced
提前使用輸出,輸出詳細資訊。

空框架目錄

這些是清除框架目錄時的所有選項。 

-f, --force
強制刪除目標目錄。

-p, --frame-path
-api, --api-level
要生成的smali檔案的數字api級別(預設為targetsdkversion)

-b, --no-debug-info
防止baksmali寫出除錯資訊(.local,.param,.line等)。如果您要比較來自不同版本的相同apk的smali,則首選使用。行號和除錯將在版本之間發生變化,這會使diff報告變得很痛苦。

-f, --force
強制刪除目標目錄。嘗試解碼到已存在的資料夾時使用,也就是再次反編譯會覆蓋之前已經存在的目錄檔案。

--force-manifest- v2.3.1
無論資源標誌的解碼如何,都強制解碼androidmanifest。

--keep-broken-res- 高階
如果出現「檢測到無效配置標誌。刪除資源...」之類的錯誤。這意味著apk具有與apktool可以處理的不同結構。這可能是較新的android版本或與標準不匹配的隨機apk。執行此操作將允許解碼,但是您必須手動修復其中包含-err的資料夾。

-m, --match-original- 用於分析
匹配盡可能與原始檔案最接近的檔案,但會阻止重建。

--no-assets- v2.3.0
防止解碼/複製未知資產檔案。

-o, --output
apk被寫入的資料夾的名稱,也就是反編譯後輸出的指定目錄。

-p, --frame-path
應儲存/讀取框架檔案的資料夾位置

-r, --no-res
-s, --no-src
-t, --frame-tag
-a, --aapt
從指定的檔案位置載入aapt,而不是依賴路徑。$path如果沒有找到檔案,則回退到載入。除非$path引用prebuilt custom aapt。這很可能不起作用。

-c, --copy-original
將原始資料夾androidmanifest.xml和meta-inf資料夾複製到內建apk中。官網準備計畫棄用,可用於保持簽名。

-d, --debug
新增debuggable="true"到androidmanifest檔案。在debug模式下打包。

-f, --force-all
在構建期間覆蓋現有檔案,重新組裝resources.arsc檔案和dex檔案,在打包時重寫已經存在的檔案,強制覆蓋。

-o, --output
寫入的apk的名稱和位置,輸出apk的位置和名字。

-p, --frame-path
從中載入框架檔案的位置,儲存framework檔案到指定目錄。

--use-aapt2- v2.3.2
如,我們嘗試編譯小公尺桌面的miuihome.apk,將會得到如下錯誤:

使用:apktool if/install-framework

再次嘗試反編譯miuihome.apk:

meta-inf包含apk的簽名,使用-c/--copy-original來保持簽名,使用原始的androidmanifest.xml檔案。但是如果修改androidmanifest.xml檔案,簽名也就丟失了。就要重新對其簽名。

反編譯使用

將要反編譯的apk放到 apktool目錄下:

使用命令列輸入:

apktool.bat d test.apk

正在反編譯中...

當然你也可以

apktool.bat d  test.apk  objectfolderpath

其中,objectfolderpath為可選項,如果此項不存在,軟體將會在apktool資料夾下新建乙個apk檔名的資料夾,否則儲存到目標資料夾;

其他操作,請根據 具體實際需要,根據命令進行 操作:

反編譯之後的資料夾:

編譯之前,反編譯之後,程式全域性配置檔案對比:

使用反編譯工具反編譯Dll,編譯成C

今天剛剛開通部落格,就迫不及待把今天遇到的乙個問題寫出來分享,呵呵!這幾天我需要對dll進行反編譯,下面是我的步驟,3.雙擊 reflector.exe,開啟程式,單擊 tools 選單下的 addins.開啟乙個小對話方塊,單擊 add 開啟步驟2種的reflector.filedisassemb...

反編譯 PB反編譯 2020 PB反編譯大師

1 反編譯powerbuilder編譯後的pbd檔案,支援版本5,6.5,7,8,9,10,10.5,11,11.5,12,12.5,12.6,2017,2018,2019,pkb2.5,共計16個版本。2 主要用於工程文件丟失後的恢復,即工程恢復。3 在此demo中釋放出全部版本作為測試,囊括了5...

zend反編譯 dezender 使用

網上找了一圈,各種名字的zend反編譯軟體,核心就是 40,960 位元組 的 php.exe。原理其實比較簡單,網上也有很多介紹。主要是在php源 的基礎上,在zend execute scripts函式中,zend compile file與zend execute之間插入我們的函式,然後把eg...