折腾:
【已解决】用jadx把安卓dex文件转换提取出jar包和java源代码
期间,去试试用jadx的命令行CLI模式去直接从apk或dex转出java源代码。
再去试试用jadx命令行直接导出源码试试
➜ from_apk_v1.5 /Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/jadx -d from_jadx_command ../../../../../apk/xiaohuasheng-v1.5.apk INFO - loading INFO - processing ... 中间很多错误 ... WARN - Removed duplicated region for block: B:21:0x0054 in method: cn.jpush.android.api.CustomPushNotificationBuilder.<clinit>():void, dex: classes.dex WARN - Removed duplicated region for block: B:24:0x002d A:{SYNTHETIC} in method: cn.jpush.android.api.CustomPushNotificationBuilder.<clinit>():void, dex: classes.dex WARN - Generic type differs: 'java.lang.Object' and 'java.util.Map<java.lang.String, java.lang.Object>' in com.huili.readingclub.activity.tabdiscuss.PublishTopicActivity.publishAction():void ... WARN - Anonymous class already generated: com.huili.readingclub.activity.base.ChoosePictureActivity.1.1 in method: com.huili.readingclub.activity.base.ChoosePictureActivity.1.run():void, dex: classes.dex INFO - done
去看看结果:
- resources
- sources
- com.CompanyName.ProjectName 就是java源代码
以及后来在:
期间,虽然中间很多报错,也是可以用:
/Users/crifan/dev/dev_tool/android/reverse_engineering/jadx/jadx-0.9.0/bin/jadx -d exported_java_src mafengwo_ziyouxing.apk
从apk转换出不少java源代码的。
【总结】
从
下载到jadx,解压后,可以得到 bin/jadx 这个命令行工具。
Mac中用jadx命令行直接从apk转换出java源代码的命令是:
jadx -d output_folder your_apk_file.apk
举例:
jadx/jadx-0.9.0/bin/jadx -d from_jadx_command xiaohuasheng-v1.5.apk jadx/jadx-0.9.0/bin/jadx -d exported_java_src mafengwo_ziyouxing.apk
即可。
注意:
期间有些会报很多错误。
不过最终还是可以转换出很多java代码的。
至于是否是自己需要的,就要看情况了
- 如果apk没有加密,加固
- 那么可以在
- sources/com.yourCompany/yourProject 中找到你要的代码
- 如果加固了
- 那么转换期间,会报很多错误
- 转换后的结果
- 有的有你要的源码
- 有的没有你要的源码
- 只是腾讯乐固,360加固保的源码而已
转载请注明:在路上 » 【已解决】mac中用jadx命令行CLI从apk中导出java源码