命令介紹
以下命令需要在 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...