栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

用DumpDex反编译App

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用DumpDex反编译App

文章目录

事前准备1. 操作

1.1 No variants found for 'app'. Check build files to ensure at least one variant exists.1.2 A problem occurred configuring project ':app'.1.3 签名1.4 报错1.5 libnativeDump.so not found1.6 /data/local/tmp/libnativeDump64.so" is 64-bit instead of 32-bit1.7 DumpDex Error: unable to find the Symbol : 参考材料
注:反编译是一个双方都在不断迭代升级的技术,该文章仅供个人记录使用,现在已经不建议使用该方法反编译。建议右转 https://blog.csdn.net/qq_41872247/article/details/123466197

事前准备

    一个解锁,并且安装了Magisk和Xposed的手机

    Android Studio

1. 操作

DumpDex项目

https://github.com/WrBug/dumpDex

    下载项目源码,用Android Studio打开,调试到可以安装的程度。打包之后安装到手机上,同时Android Studio的logcat中搜索dump,查看日志。在Xposed Manager中,启动DumpDex,然后重启手机。打开目标App。如果没有遇到明显的报错日志,应该就没问题了。下载一个es浏览器,在开启root权限之后,进入系统根目录,data/data/目标的应用包名/dump
1.1 No variants found for ‘app’. Check build files to ensure at least one variant exists.

表示你的Android Studio没有对应版本的SDK

打开右上角的SDKManager,下载对应版本的Android SDK

1.2 A problem occurred configuring project ‘:app’.

A problem occurred configuring project ‘:app’.

java.lang.NullPointerException (no error message)

build -> rebuild project

1.3 签名


build -> gengereate signed Bundle/Apk -> 剩下的百度,这个app不能直接点绿色的运行,只能打包之后运行。

1.4 报错

java.lang.NoSuchMethodError: java.lang.DexCache#getDex()#bestmatch
at de.robv.android.xposed.XposedHelpers.findMethodBestMatch(XposedHelpers.java:443)
at de.robv.android.xposed.XposedHelpers.findMethodBestMatch(XposedHelpers.java:456)
at de.robv.android.xposed.XposedHelpers.callMethod(XposedHelpers.java:1263)
at com.wrbug.dumpdex.dump.LowSdkDump.dump(LowSdkDump.java:51)
at com.wrbug.dumpdex.dump.LowSdkDump.access$000(LowSdkDump.java:24)
at com.wrbug.dumpdex.dump.LowSdkDump$1.afterHookedMethod(LowSdkDump.java:42)
at de.robv.android.xposed.MethodHooker.handleHookedMethod(MethodHooker.java:94)
at EdHooker_2fbedf373afdb897c32b735747eec14394845d63.hook(Unknown Source:60)

有可能是因为你的Android版本太高了,找到XposedInit.java这个文件,将handleLoadPackage中的if/else加载改成固定加载OreoDump.init。

1.5 libnativeDump.so not found

官网介绍:

将 lib/armeabi-v7a/libnativeDump.so 复制到 /data/local/tmp/libnativeDump.so ,权限 设置为777,arm64机型还需要将将 lib/arm64-v8a/libnativeDump.so 复制到 /data/local/tmp/libnativeDump64.so可以通过文件管理器操作,也可以使用如下adb shell命令

#仅适用于32位手机
adb shell
su
cp /data/data/com.wrbug.dumpdex/lib/libnativeDump.so /data/local/tmp
chmod 777 /data/local/tmp/libnativeDump.so

配置完成后激活xposed重启即可

    解压app-release.apk文件(重命名为zip后解压),拷贝其中文件 libarmeabi-v7alibnativeDump.so 文件到手机目录:/data/local/tmp/libnativeDump64.so (因为我是64位手机,所以,so文件,的名字是这么多,如果是32位的,就没有64这个)(源so,不需要使用64位的)将armeabi-v7a中的libnativeDump.so,复制到手机上的/data/local/tmp目录上,然后用es浏览器修改读写执行权限。如果是64位手机(一般来说都是),将arm64-v8a中的libnativeDump.so改名为libnativeDump64.so,也丢到手机的/data/local/tmp中。
1.6 /data/local/tmp/libnativeDump64.so" is 64-bit instead of 32-bit

用cmd打开adb

输入

C:UsersadminAppDataLocalAndroidSdkplatform-tools>adb shell

alioth:/ $ su

alioth:/ # getenforce
Enforcing
alioth:/ # setenforce 0
alioth:/ # getenforce
Permissive
alioth:/ #

如果输入su的时候提示permission denied,打开手机的magisk点击下方的盾牌,看看shell是否有被授予权限。

1.7 DumpDex Error: unable to find the Symbol :

DumpDex无法反编译这个app

参考材料

https://www.jianshu.com/p/4d64eb2e46cb

https://github.com/WrBug/dumpDex

https://github.com/WrBug/dumpDex/issues/40

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763843.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号