[Android]查看代码混淆后的日志

Android小技巧—查看代码混淆后的日志 一、前言 随着项目版本的迭代,用户数量的迅速增长,app或多或少会出现bug。一般我们会使用友盟、Bugly、TalkingData等等统计工具来统计线上bug的情况。本篇文章主要阐述,如何从代码被混淆之后的错误日志中,来定位错误代码的博文。 二、统计工具之坑Mapping文件上限为10M 用过统计工具的同学应该知道,当线上App出现bug之后,我们会去统计工具“错误列表”的错误日志中寻... 阅读详情

APP混淆已经是APP发布时的标配技术了,但是我们经常需要去看用户使用APP时的崩溃日志,这个时候,看到的日志确是被混淆了,比如a.b.c.c()!就要狂了。所以,Google当然会为我们考虑到这种情况。下面对具体的使用进行说明。

代码混淆生成apk之后,项目下面会多出来一个build\outputs\mapping\release文件夹,下面分别解释release文件夹中四个文件的作用。

dump.txt : 描述了apk中所有类 文件中内部的结构体。( Describes the internal structure of all the class files in the .apk file )

mapping.txt : 列出了原始的类、方法和名称与混淆代码间的映射。( Lists the mapping between the original and obfuscated class, method, and field names. )

seeds.txt : 列出了没有混淆的类和方法。( Lists the classes and members that are not obfuscated )

usage.txt : 列出congapk中删除的代码。( Lists the code that was stripped from the .apk )

1.cmd进入sdk/tools/proguard/bin目录。

2.将混淆后的日志cache_file_name.txt和上文提到的mapping文件放入此目录中。

3.执行命令:retrace.bat mapping.txt cache_file_name.txt

执行命令前:

Casused by: Java.lang.NullPointerException

at com.example.test d.a.c(SourceFile:110)

at com.example.test d.a.c(SourceFile:88)

at com.example.test .activity.CommitFragmentBase.init(SourceFile:1330)

执行命令后:

Casused
 by: java.lang.NullPointerException

at com.example.test loginActivity.login.setView(SourceFile:110)

at com.example.test dloginActivity.login.setView(SourceFile:88)

at com.example.test .activity.CommitFragmentBase.init(SourceFile:1330)
Android之如何看混淆后的错误日志代码 第一步: 找到混淆的mapping.txt文件 build -> outputs -> mapping -> release -> mapping.txt 或者:1项目目录的progurad下有一个mapping.txt文件 这是混淆后的名字 和原名字的映射关系。 第二步: 找到项目用的sdk依次定位到sdk -> tools -> proguard -> bin -> p 阅读详情

相关推荐

ProGuard代码混淆操作全攻略

ProGuard是一款广泛使用的Java类文件压缩和优化工具,它通过移除未使用的代码、缩短类名、方法名和字段名,来减小应用体积,提高运行效率,并且一定程度上保护代码不被轻易逆向工程分析。它原本是为Java平台设计的,但通过Android SDK的整合,成为了Android应用开发中不可或缺的一部分,用于发布应用前的代码混淆处理。尽管ProGuard可以带来很多好处,但其复杂的配置和规则也常常让开发者感到头疼。

weixin_42146230的博客 1351

android app 混淆 打包 错误日志追踪,Android studio混淆打包日志 混淆日志 查看

Android studio混淆打包日志 混淆日志 查看Android studio混淆打包日志 混淆日志 查看一 打混淆包,带正式签名1 编辑proguard-rules.txt文件,配置好不能混淆的类或方法,否则会报错。a、需要反射的代码b、系统接口c、Jni接口d、需要序列号和反序列化的代码(即实现Serializable、Parcelable接口的JavaBean)e、与服务端进行元数据...

weixin_39806065的博客 796

【vue看板】

大屏看板提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:代码量较多,看板中的。

weixin_46223284的博客 2772

Android代码混淆后查看日志

Android中可以通过混淆减少apk的大小,提高apk反编译的难度。 但是在混淆过后会遇到一个问题,就是日志,比如说错误日志的函数会变成abcd. 怎么解决这个问题呢 通过mapping文件 mapping文件是混淆后的代码跟正常代码的一个映射文件 通过这个文件可以把混淆后的代码转换成正常的代码展示 mapping文件在minifyEnabled 为false的时候,是不会产生的。当我们设置了minifyEnabled 为true,也就是开启混淆之后,默认是会在app下的build/outpus/mapp

肖旺银的博客 3515

这可是全网网工数通方向学习路线最完整,最详细的版本,没有之一

文章篇幅较长,耐心看完你一定有所收获。

最铁头的网工博客 2万+

SystemRDL:从寄存器描述到自动化生成的完整指南

本文详细介绍了SystemRDL如何通过“一份描述,多处生成”的理念,彻底解决芯片与FPGA设计中手动维护寄存器带来的不一致与低效问题。文章提供了从语言快速上手、核心组件讲解到使用PeakRDL工具链实现自动化代码与文档生成的完整实战指南,帮助硬件工程师构建高效、可靠的寄存器开发流程。

weixin_29243279的博客 659

Android 生成Release版本时,混淆问题的解决

Android 生成Release版本时,混淆问题的解决

weixin_42602900的博客 992

2023-10-20 - MacBook - 优化外接2k显示器体验:告别字小与字虚的终极指南

本文针对MacBook外接2K显示器时普遍遇到的字体过小和边缘发虚问题,提供了终极解决方案。通过深入解析macOS的HiDPI与Retina显示原理,并详细指导使用SwitchResX等工具开启隐藏的HiDPI模式,实现完美的2倍整数缩放,从而在保证字体大小合适的同时获得清晰锐利的显示效果,彻底告别字小与字虚的困扰。

solidity8miner的博客 476

Android混淆步骤,混淆结果查看以及混淆后出现的问题和衍生问题

今天说说Android原生的混淆,原生项目即将上线,伴随着整体功能的完成和完善,一些涉及安全和自我保护以及优化的问题被提到日程上。混淆恰恰能解决的就是我们的APP代码的保护以及优化的问题。前言: 因为互联网环境的开放性和工具的便捷,我们很容易能将代码进行反编译以获取线上项目的源码。秉承对知识产权的尊重,我们在不侵犯他人权益的情况下,也需要对自己的劳动果实进行有效的保护,所以混淆能够帮助我们将自己的

听从内心的召唤 1万+

新手必看!Unity中Tag和Layer的7个实际应用场景(含MOBA案例)

本文深入探讨Unity中Tag和Layer的7个实际应用场景,特别以MOBA游戏开发为例,详细解析如何利用LayerMask进行高效场景管理和碰撞检测优化。从双相机方案到射线检测的精准控制,帮助开发者掌握这些基础功能的进阶用法,提升游戏性能和开发效率。

weixin_28723171的博客 313

工艺边与定位孔设计经验规则总结

工艺边是在SMT焊接时,为了PCB和导轨接触预留的PCB边。工艺边和PCB的接触部分一般需要开槽,或者使用邮票孔,以方便后期去除工艺边。

fydar的博客 1985

android--翻译混淆日志(retrace)

文章目录android--翻译混淆日志抽取翻译库参考 android–翻译混淆日志 我们在发正式版时一般会开启混淆,但是一旦出现bug拿到的日志也是被混淆过的,这对我们的排查造成了极大的阻碍 android sdk里有提供工具能翻译混淆过的文件,在Sdk\tools\proguard\bin目录下有proguardgui.bat这个文件,运行它即可 然后我们就可以进行利用左侧最下方的retrace功能进行翻译了 当然,如果你喜欢命令行,该目录下还有一个retrace.bat,你也可以利用它来进行翻译,参

hijunmeng的专栏 1787

【DaVinci Developer专题】-23-IDT高阶应用:结构体类型的数组

共8页 目录 1 创建一个Record IDT 2 创建一个Array IDT 3 创建一个S/R Port Interface 4 创建一个Constant 5 导入CFG生成代码的总结 6 结尾 <--返回「实战篇」博文-总目录--> <--返回「Autosar从入门到精通-实战篇」专栏主页--> 关键字: 缩略语/术语 含义 DEV DaVinci Developer .

「汽车电子助手」的博客 1669

android查看混淆代码后apk跑出来的日志记录

(1)找到build -> outputs -> mapping -> release -> mapping.txt 这个文件,mapping.txt记录了混淆前后的代码映射关系。(2)双击打开 ..\android-sdk\tools\proguard\bin\proguardgui.bat。打开后,在这个界面把mapping.txt加载,然后把报错日志贴在下面的框里面,就看出混淆前的大致代码原貌了。因为混淆后的代码行数和名称发生变化,需要用工作复原。android查看混淆代码后apk跑出来的日志记录。

Zhang Phil 845

大模型角色提示词写得再严密,也能被绕过?我用攻击者思维把自己吓了一跳!

很多人以为提示词是“只要写清楚了,模型就能理解”,但实际上——模型并不具备严格的规则意识,它只是在预测下一句话。所以我们必须从“攻防”角度出发,设计更强的防护机制。我这次就是亲身踩坑,用红队思维模拟攻击,才意识到原来提示词注入这么容易中招。你如果也在做 AI 应用、角色系统、提示词驱动的功能,建议你也用类似方式测试一下,不然被绕了都不知道。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1026

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

android studio代码混淆后,查看服务器端错误日志方法

1. 打开工程目录定位到项目下面  build -> outputs -> mapping -> release -> mapping.txt  这个文件有用。 2.找到项目用的sdk依次定位到sdk -> tools -> proguard -> bin -> proguardgui.bat 双击出现界面。 3.点击browse 定位到第一步mapping.txt文件。 4.Obfusca

u013835855的专栏 3591

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Android还原混淆后的代码

转载自Android通过Mapping.txt还原混淆过后的代码 如何恢复混淆过后的代码文件,这个时候需要用到mapping.txt文件。 mapping文件:用来查看混淆前和混淆后的对比文件。一般用来查看线上的bug的log日志。 mapping文件目录: Android Studio中模块的build\outputs\mapping\release。 具体实现步骤: 1.打开Android...

fengyulinde的博客 5126

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

android代码混淆aar_android代码混淆个人总结及踩坑

前言公司项目使用组件化开发的形式,需要对自己负责的模块进行一些混淆配置,关于混淆相信做android开发的都或多或少有过一些接触,通过对混淆文件的配置从而将代码中的类名,方法名,成员变量等进行无意义的字符替换达到增加反编译难度的作用,这篇文章主要要说的问题就是在学习混淆过程中自己的一些总结想法。混淆语法这个网上有很多关于这块的资料,说的也比较清楚了,无非就是keep ,keep class,kee...

weixin_39789646的博客 1413

Android混淆大法

Android混淆大法 本文涉及内容: 1.混淆的基本介绍,混淆的基本配置及示例 2.如何进行多模块的混淆 3.实际项目中混淆时会遇到的问题 4.混淆后如何进行debug和日志查看 文章目录Android混淆大法前言一、gradle 混淆开启二、混淆规则1.引入库2.读入数据总结 前言 混淆,主要作用就是对把项目的原本清晰的类名、方法名等转换为难易理解的a/b/c名字,不会改变原有的代码逻辑,但是会增大阅读难度。如果是为了应用安全,通常直接使用应用加固处理。但是,有些情况下,无法使用加固,但为了防止程

进击的码字猴 1002

android mapping.txt,Android根据mapping.txt还原混淆的代码

最近在关注友盟后台反馈应用崩溃情况,但是在看log日志的时候不是太直观,原因是上传到线上的apk文件是经过混淆的。那么我们该怎么样才能更直观的看到log的问题尼?这个解决的方法很简单,就是上传混淆后的apk的mapping文件(友盟的错误列表下面就可以添加mapping文件了,之后就可以直观的查看log了,这个mapping文件是分版本的,所有得根据自己的需求处理)。今天大致的介绍下这个功能的原理...

weixin_28223453的博客 1769

android bugly关于混淆后如何知道正确代码

bugly: 腾讯自制,是个4,5句代码就能简单加入在线更新、捕获异常的好功能,后台也是使用腾讯的。 Android混淆: 启用一个配置,把所有变量、类名改成"a","b","p"等等混淆代码,这样就能使编译后的apk即使被人破解,对方看到的代码是这样的 那这两个凑一起使用会有个问题,就是bugly捕获到的异常代码,是Android混淆后的,十分不容易解读。所以需要个解决方式解决同时使用这两个,并且看到的代码是原生代码。 bugly其实支持这项 其实,bugly有这项支持,原理是通过上传编译

2386

AndroidStudio 基本混淆配置

-keepclassmembers class fqcn.of.javascript.interface.for.webview { public *; } #指定代码的压缩级别 -optimizationpasses 5 #包明不混合大小写 -dontusemixedcaseclassnames #不去忽略非公共的库类 -dontskipnonpublic

随风的博客 447
上一篇: [Android]Splash界面解决启动白屏/黑屏问题
下一篇: [Java]一个简单的对象池
runstoppable
博客等级 码龄10年 1粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值