关于反编译,看了这篇文章,由此写篇文章作为资料的整理https://www.jianshu.com/p/1913695de091(说的不太清楚)
https://blog.csdn.net/sxk874890728/article/details/80486223(亲测有效)
https://blog.csdn.net/xcc1234/article/details/77868174(亲测有效)
Apktool各版本下载https://bitbucket.org/iBotPeaches/apktool/downloads/
工具包
先附上下载地址,以免你们像我一样又找了好久:dex2jar下载链接: https://pan.baidu.com/s/13_IKg7AMBOzfeUbSNOsCPw 密码: 4f83
JD-GUI下载链接: https://pan.baidu.com/s/17zTC28C7oDKmUpvmb9eBnQ 密码: 4fmi
apktool下载链接: https://pan.baidu.com/s/1xECSBEvcVSbi7EBqz7T_VA 密码: qsij
主要是说下如何反编译apk的步骤:
1.下载后上面工具,各自解压到当前文件夹下,这个不多说。
TIM截图20181014152139.png
2.使用dex2jar反编译dex文件
将需要反编译的APK后缀名改为.rar或则 .zip,看到项目目录
TIM截图20181014150751.png
得到其中的classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的
classes.dex复制到解压出来的工具dex2jar-0.0.9.15 文件夹内,
在命令行下,进入到dex2jar.bat所在目录,输入命令:
输入dex2jar.bat classes.dex(d2j-dex2jar.bat classes.dex)
TIM截图20181014153021.png
运行结束后,在该目录下会生成一个classes_dex2jar.jar的文件
TIM截图20181014153225.png
然后打开工具jd-gui文件夹里的jd-gui.exe,用该工具打开生成的classes_dex2jar.jar文件,便可以看到源码
TIM截图20181014153320.png
3.使用apktool反编译xml文件:
下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:apktool.bat d -f test.apk test
TIM截图20181014155233.png TIM截图20181014161759.png
测试ok!
出现此问题上网查找资料发现
https://blog.csdn.net/qq_32452623/article/details/54291412
解决方法:解决方法:
使用命令行apktool d -f <apk_path> -o <outfile_path>
注意点:
apktool反编译时经常会出现下面的信息
1.Input file was not found or was not readable.
2.Destination directory (C:\Users\user\a) already exists. Use -f switch if you want to overwrite it.
3.Exception in thread "main" brut.androlib.AndrolibException: Could not decode ars c fil..........
解决方案:
1和2是因为apktool升级到2.0以上时,使用方式已经替换,格式为:apktool d [-s] -f <apkPath> -o <folderPath>,参数具体的意思可以直接打apktool回车(windows)查看帮助
3是因为apktool版本过低导致,请升级到最新版本,地址:[https://bitbucket.org/iBotPeaches/apktool/downloads](https://bitbucket.org/iBotPeaches/apktool/downloads)
网友评论