ShakaApktool前身算的上是RsApktool,也可以说是一个全新的项目.两者在理念上都是增强Apktool工具.包含了apktool_2.0.2.jar、apktool_2.0.3.jar、中文版ShakaApktool.jar、和签名工具signapk.jar等RsApktool是基于未发布的Apktool1.5.3分支做的增强,并在其代码上做的修改.只发布过一个版本,并未开源.
ShakaApktool在2013-12-25号初始化项目,使用AspectJ切面编程方式对原Apktool增强.而且他不再只顾埋头苦干自己的活儿,作为Apktool的增强的同时,也会向原库中提交一些代码.
ShakaApktool定位在保护和突破保护的对立中.
ShakaApktool 使用方法:
-advance,--advanced 查看更多信息.
-lng,--language <Locale> 显示语言, e.g. zh-CN, zh-TW
//ShakaApktool特有功能,如果需要英文输入直接修改apktool.bat 内 -Duser.language=en 中文即zh
-version,--version 查看版本信息
编译指令****************************************
d[ecode] [options] <file_apk>
//d 反编译参数,一般命令主要是apktool d file.apk 以下参数为d 后面可选参数
--api <API> 将按照API级别生成文件信息, 例如.14是ICS.
-b,--no-debug-info 不输出debug信息 (.local, .param, .line, etc.)
-d,--debug 反编译调试模式. 查看更多信息.
--debug-line-prefix <prefix> 反编译调试模式下, 给Smali添加行前缀 默认是 "a=0;// ".
-k,--keep-broken-res 当出现错误或者一些resources被放弃时使用,例如."Invalid config flags detected. Dropping resources", 即使在有错误的情况下,你还是想要强行反编译. 你之后必须手动修复相关错误才能进行编译.
-m,--match-original 保持尽可能的接近原始文件.防止重新生成.
-df,--default-framework 使用默然的框架资源文件
//ShakaApktool独有功能,主要作用删除$HOME/apktool/framework/1.apk然后释放新的1.apk(主要解决apktool内android-framework.jar升级后本地1.apk版本太低导致反编译失败问题)
-f,--force 强制删除目标文件夹
//这个应该用的比较多,在使用apktool d file.apk时候提示你目标文件夹已存在,加-f就会直接删除目标文件夹
-fui,--fuck_unkown_id 反编译遇到未知资源id继续执行
//ShakaApktool独有功能,主要是反编译遇到一些未知的id直接跳过
-ir,--ignore_res_decode_error 忽略资源反编译的错误
//ShakaApktool独有功能,主要是忽略资源反编译的错误
-mc,--more-recognizable-characters 显示更多的可识别字符
//ShakaApktool独有功能,显示更多的可识别字符,比如中文不在以\uxxxx编码显示,而是直接显示中文,让smali更容易读
-n9,--no-9png 不解析.9格式的资源
//ShakaApktool独有功能,在编译时直接不解析.9格式的文件
-o,--output <dir> 输出文件夹名字. 默认是 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按照安装框架那一步来执行
-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按照安装框架那一步来执行
-xn,--xml_attribute_name_correct xml attribute name correct. May be has problem, not recommended.
//ShakaApktool独有功能,xml 属性名实际是通过id来查找的,但是baxml中保留了一份显示的属性名。xml 属性名实际是通过id来查找的,但是baxml中保留了一份显示的属性名,已经测试mobileqq,qq浏览器可以正常使用
****************************************回编译指令****************************************
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 复制原始AndroidManifest.xml和META-INF文件.可以查看项目更多信息
-d,--debug 调试模式编译. 检查项目的更多信息
-f,--force-all 跳过已编译检查,强制编译所有文件
//覆盖已经存在的文件,强制编译resources.arsc 和 classes.dex
-o,--output <dir> 输出apk路径. 默认是 dist/name.apk
//输出apk路径,默认在dist/xxx.apk 例如:apktool b out -o new.apk(new.apk路径在命令执行的目录)
-p,--frame-path <dir> 使用指定目录下的框架文件
//使用指定目录下的框架文件,例如:apktool b -p foo/bar out
****************************************其他说明****************************************
-q 和 -v 命令
//-q 编译时不输出任何信息,直接静默模式编译,例如:apktool -q d或apktool -q b
//-v 编译时输出更多详细信息,例如:apktool -v d或apktool -v b
也可以直接不借助apktool[apktool.bat] 直接使用
java -jar apktool.jar[ShakaApktool.jar]
功能介绍:
1 支持中文apk名
2.支持非Android标准目录打包
3.支持png,9.png异常图片回编译
4.修复arrays.xml中的<item>如果含有“res/”,类型转换错误
5.支持xml中偏移位置错误导致空xml反编译错误
6.对异常字段和方法偏移容错
7.修复布局xml属性字段的name为style中的name错误
8.支持伪加密头的反编译
9.添加二次混淆功能,非\d\w字符,和超长类名会二次混淆成短名称
10.支持-d编译为java文件,netbean6.8可以debugging
11.自动判断debug模式,添加删除 android:debuggable 属性字段
12.对添加odex干扰回编译的文件做容错处理























大小: 75.0M
ES文件浏览器官方安卓版V6.0.0 免费版
360安全云盘手机版v5.0.9官方安卓版
rar手机版(RAR for Android)v2020.03.31 官方中文版
SD Maid Pro(SD女佣)最新版v5.3.19 官方版
极米无屏助手appv4.10.18官方安卓版
华为文件管理器v10.11.17.301 安卓版
ES文件浏览器专业版(ES File Explorer Pro)v4.2.3.6 特别版
se文件管理器(Solid Explorer)v2.5.4 汉化版
91手机助手V6.2.2.800 手机版
360文件管理器(超级文件管理器)v5.5.2 官方安卓版
闪传v4.4.2 安卓版
安卓超长文本编辑器(Jota Text Editor)v2016.05 中文完整版
oppo软件商店官方安卓版v11.27.10手机版
腾讯文件管理器app5.0.8.0001 最新版
AirMore文件传输app1.6.5 官方安卓版
mt管理器官方免费版最新版本2025v2.19.0最新版
爱莫助手app1.6.5 安卓手机版
文件隐藏专家 File Hide ExpertV3.0.0 安卓版