Android根据mapping.txt还原混淆的代码
来源:互联网 发布:蚂蚁影院电影网站源码 编辑:程序博客网 时间:2024/05/16 17:31
最近在关注友盟后台反馈应用崩溃情况,但是在看log日志的时候不是太直观,原因是上传到线上的apk文件是经过混淆的。那么我们该怎么样才能更直观的看到log的问题尼?这个解决的方法很简单,就是上传混淆后的apk的mapping文件(友盟的错误列表下面就可以添加mapping文件了,之后就可以直观的查看log了,这个mapping文件是分版本的,所有得根据自己的需求处理)。
今天大致的介绍下这个功能的原理。
其实友盟实现这个功能也是根据android的ProGuard 实现的。ProGuard 在开发中很常用,但是我们只用在混淆代码,今天就简单的记录下他是怎么还原混淆代码的操作。
首先看一个被混淆的log日志:
java.lang.NullPointerException: null format argument
at com.test.proguard.activity.ListActivity.a(ZuoWenListAct ivity.java:126)
对于上面log中的a我们不太好理解,那么这时借助ProGuard+mapping文件我们就可还原a的具体名称,处理后的log日志:
java.lang.NullPointerException: null format argument
at com.test.proguard.activity.ListActivity.initData(ZuoWenListActivity.java:126)
这样我们就可以清除的看到a代表initData方法。
工具的使用:
该工具位于 <android-sdk>/tools/proguard/bin/ 目录下。
里面的 proguardgui.bat 为 GUI 工具,
1) 运行 proguardgui.bat
2) 从左边的菜单选择 “ReTrace”
3) 在上面的 mapping 文件中选择你的 mapping 文件 ,在下面输入框输入要还原的代码
4) 点击 “ReTrace!” 按钮
retrace.bat 为命令行工具, 把 mapping 文件和 要还原的堆栈信息保存在 stacktrace 文件中,
然后把这两个文件复制到 retrace.bat 目录下,运行如下命令即可。
retrace.bat -verbose mapping.txt stacktrace.txt > out.txt这里就对ProGuard 的一个小功能简单的介绍下。方便自己和大家的学习。
欢迎加入公众号:
- Android根据mapping.txt还原混淆代码
- Android根据mapping.txt还原混淆的代码
- Android根据mapping.txt还原混淆的代码
- 如何根据mapping.txt还原混淆的代码
- 如何根据mapping.txt还原混淆的代码
- mapping.txt还原混淆代码
- 混淆代码根据mapping.text还原代码
- Android打包代码混淆后的Mapping文件路径
- 通过mapping.txt解析混淆apk的出错信息
- 通过mapping.txt解析混淆apk的出错信息
- 通过mapping.txt解析混淆apk的出错信息
- 通过mapping.txt解析混淆apk的出错信息
- Android混淆代码错误堆栈还原
- android混淆之从异常堆栈中还原ProGuard混淆过的代码
- Android Studio代码混淆设置以及上传mapping文件
- android代码的混淆
- Android通过Mapping文件retrace混淆后的堆栈
- 从异常堆栈中还原 ProGuard 混淆过的代码
- 看完让你彻底搞懂Websocket原理
- 关于水印叠加
- 安卓layout属性大全
- GreenDao学习路线
- 用python爬虫
- Android根据mapping.txt还原混淆的代码
- Python3 被 PHP 程序调用执行返回乱码问题
- C++的字符串和指针指向问题
- JVM运行原理及Stack和Heap的实现过程
- mariadb在linux中的安装
- bootargs 参数的设置修改
- 多重背包
- 基础一:Activity生命周期
- SpringMVC中的前后台传值注意事项