日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

分享ShakaApktool & apktool使用方法

 songen2216 2020-03-14
                                              作者:越獄(pwelyn)
分享一下ShakaApktool & apktool的使用方法,歡迎討論交流
下載地址:http://pan.baidu.com/s/1c06HgL6
1.Windows:
下載Windows文件夾apktool.bat
下載apktool_xxxxx.jar或ShakaApktool_xxx.jar重命名為apktool.jar
復(fù)制(apktool.jar & apktool.bat)到Windows目錄(通常是C:\Windows\System32)
也可以把這這幾個(gè)文件放到任意一個(gè)文件夾,然后添加這個(gè)文件夾路徑到系統(tǒng)的環(huán)境變量
然后通過cmd命令窗口運(yùn)行apktool
2.Linux:
下載Linux文件夾apktool
下載apktool_xxxxx.jar或ShakaApktool_xxx.jar重命名為apktool.jar
復(fù)制(apktool.jar & apktool.bat)到/usr/local/bin(需要root權(quán)限,可以使用在終端使用命令:sudo cp apktool /usr/local/bin)
也可以把這這幾個(gè)文件放到任意一個(gè)文件夾,然后添加這個(gè)文件夾路徑到系統(tǒng)的環(huán)境變量
然后給文件添加可執(zhí)行權(quán)限(chmod +x)
然后通過終端命令窗口運(yùn)行apktool
3.MAC OS X:
下載OS X文件夾apktool
下載apktool_xxxxx.jar或ShakaApktool_xxx.jar重命名為apktool.jar
復(fù)制(apktool.jar & apktool.bat)到/usr/local/bin(需要root權(quán)限,可以使用在終端使用命令:sudo cp apktool /usr/local/bin)
也可以把這這幾個(gè)文件放到任意一個(gè)文件夾,然后添加這個(gè)文件夾路徑到系統(tǒng)的環(huán)境變量
然后給文件添加可執(zhí)行權(quán)限(chmod +x)
然后通過終端命令窗口運(yùn)行apktool


4.apktool & ShakaApktool 使用方法:
 -advance,--advanced        查看更多信息.
 -lng,--language <Locale>   顯示語言, e.g. zh-CN, zh-TW
 //ShakaApktool特有功能,如果需要英文輸入直接修改apktool.bat 內(nèi) -Duser.language=en 中文即zh
 -version,--version         查看版本信息
5.安裝框架
if|install-framework
//框架文件一般在system/framework/*.apk 每個(gè)系統(tǒng)不一樣框架也不一樣,有的是1個(gè)有的2個(gè)有的或更多
$ apktool if framework-res.apk
I: 框架安裝到: $HOME/apktool/framework/1.apk
$ apktool if com.htc.resources.apk
I: 框架安裝到: $HOME/apktool/framework/2.apk
 -p,--frame-path <dir>   保存框架文件到指定目錄
$ apktool if framework-res.apk -p foo/bar
I: 框架安裝到: foo/bar/1.apk
$ apktool if framework-res.apk -t baz -p foo/bar
I: 框架安裝到: foo/bar/1-baz.apk
//foo/bra 為命令所在的目錄并非$HOME/apktool/
 -t,--tag <tag>          保存框架文件為指定名稱
$ apktool if com.htc.resources.apk -t htc
I: 框架安裝到: $HOME/apktool/framework/2-htc.apk
6.反編譯指令
d[ecode] [options] <file_apk>
//d 反編譯參數(shù),一般命令主要是apktool d file.apk 以下參數(shù)為d 后面可選參數(shù)
   --api <API>                       將按照API級別生成文件信息, 例如.14是ICS.
 -b,--no-debug-info                   不輸出debug信息 (.local, .param, .line, etc.)
 -d,--debug                           反編譯調(diào)試模式. 查看更多信息.
    --debug-line-prefix <prefix>      反編譯調(diào)試模式下, 給Smali添加行前綴 默認(rèn)是 "a=0;// ".
 -k,--keep-broken-res                 當(dāng)出現(xiàn)錯(cuò)誤或者一些resources被放棄時(shí)使用,例如."Invalid config flags detected. Dropping resources", 即使在有錯(cuò)誤的情況下,你還是想要強(qiáng)行反編譯. 你之后必須手動(dòng)修復(fù)相關(guān)錯(cuò)誤才能進(jìn)行編譯.
 -m,--match-original                  保持盡可能的接近原始文件.防止重新生成.
 -df,--default-framework              使用默然的框架資源文件
 //ShakaApktool獨(dú)有功能,主要作用刪除$HOME/apktool/framework/1.apk然后釋放新的1.apk(主要解決apktool內(nèi)android-framework.jar升級后本地1.apk版本太低導(dǎo)致反編譯失敗問題)
 -f,--force                           強(qiáng)制刪除目標(biāo)文件夾
 //這個(gè)應(yīng)該用的比較多,在使用apktool d file.apk時(shí)候提示你目標(biāo)文件夾已存在,加-f就會(huì)直接刪除目標(biāo)文件夾
 -fui,--fuck_unkown_id                反編譯遇到未知資源id繼續(xù)執(zhí)行
 //ShakaApktool獨(dú)有功能,主要是反編譯遇到一些未知的id直接跳過
 -ir,--ignore_res_decode_error        忽略資源反編譯的錯(cuò)誤
 //ShakaApktool獨(dú)有功能,主要是忽略資源反編譯的錯(cuò)誤
 -mc,--more-recognizable-characters   顯示更多的可識別字符
 //ShakaApktool獨(dú)有功能,顯示更多的可識別字符,比如中文不在以\uxxxx編碼顯示,而是直接顯示中文,讓smali更容易讀
 -n9,--no-9png                        不解析.9格式的資源
 //ShakaApktool獨(dú)有功能,在編譯時(shí)直接不解析.9格式的文件
 -o,--output <dir>                    輸出文件夾名字. 默認(rèn)是 apk.out
 //輸出文件夾名,例如:apktool d -f file.apk -o out
 -p,--frame-path <dir>                使用指定目錄下的框架文件
 //使用指定目錄下的框架文件,例如:apktool d -f -p foo/bar file.apk -o out
 //這里的-p foo/bar按照安裝框架那一步來執(zhí)行
 -r,--no-res                          不反編譯resources.arsc
 //不反編譯resources.arsc,只反編譯classes.dex
 -s,--no-src                          不反編譯classes.dex
 //不反編譯classes.dex,只反編譯resources.arsc
 -t,--frame-tag <tag>                 使用指定名稱的框架文件
 //使用指定名稱的框架文件,例如:apktool d -f -t htc file.apk -o out
 //這里的-t htc按照安裝框架那一步來執(zhí)行
 -xn,--xml_attribute_name_correct     xml attribute name correct. May be has problem, not recommended.
//ShakaApktool獨(dú)有功能,xml 屬性名實(shí)際是通過id來查找的,但是baxml中保留了一份顯示的屬性名。xml 屬性名實(shí)際是通過id來查找的,但是baxml中保留了一份顯示的屬性名,已經(jīng)測試mobileqq,qq瀏覽器可以正常使用
7.回編譯指令
b[uild] [options] <app_path>
 -a,--aapt <loc>         從指定路徑加載aapt
 //從指定路徑加載aapt,例如:apktool b -a $HOME/sdk/build-tools/23.0.1/aapt out -o new.apk
 -c,--copy-original      復(fù)制原始AndroidManifest.xml和META-INF文件.可以查看項(xiàng)目更多信息
 -d,--debug              調(diào)試模式編譯. 檢查項(xiàng)目的更多信息
 -f,--force-all          跳過已編譯檢查,強(qiáng)制編譯所有文件
 //覆蓋已經(jīng)存在的文件,強(qiáng)制編譯resources.arsc 和 classes.dex
 -o,--output <dir>       輸出apk路徑. 默認(rèn)是 dist/name.apk
 //輸出apk路徑,默認(rèn)在dist/xxx.apk 例如:apktool b out -o new.apk(new.apk路徑在命令執(zhí)行的目錄)
 -p,--frame-path <dir>   使用指定目錄下的框架文件
 //使用指定目錄下的框架文件,例如:apktool b -p foo/bar out
8.其他
 -q 和 -v 命令
 //-q 編譯時(shí)不輸出任何信息,直接靜默模式編譯,例如:apktool -q d或apktool -q b
 //-v 編譯時(shí)輸出更多詳細(xì)信息,例如:apktool -v d或apktool -v b


也可以直接不借助apktool[apktool.bat] 直接使用
java -jar apktool.jar[ShakaApktool.jar]


ShakaApktool.jar目前版本已經(jīng)完全支持smali和baksmali功能
9.項(xiàng)目地址
ShakaApktool:https://github.com/rover12421/ShakaApktool
apktool:https://github.com/iBotPeaches/Apktool
smali/baksmali:https://github.com/JesusFreke/smali


分析工具推薦Android Killer:http://www./thread-136-1-1.html                                     

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多