android代码混淆Android之如何混淆代码和相关配置

android代码混淆  时间:2021-06-23  阅读:()

对已经混淆的Android代码,如何进行反编译

android代码混淆是指安卓开发者或者组织为了防止自己的产品敏感信息或者技术机密被人破解,而在生成apk文件的时候,通过设置一些替换规则,使java文件中指定的代码类的名字或者成员名字变为没有任何意义的字母,然后编译成class文件的过程。

已经混淆过的android代码反编译出来的都是一些没有任何意义的名字,是很难读懂的。

没有好的办法。

android如何将混淆代码还原?

当混淆后的代码输出一个堆栈信息时,方法名是不可识别的,这使得调试变得很困难,甚至是不可能的。

幸运的是,当ProGuard运行时,它都会输出一个<project_root>/bin/proguard/mapping.txt文件,而这个文件中包含了原始的类,方法和字段名被映射成的混淆名字。

retrace.bat脚本(Window)或retrace.sh脚本(Linux,Mac OS X)可以将一个被混淆过的堆栈跟踪信息还原成一个可读的信息。

它位于<sdk_root>/tools/proguard文件夹中。

执行retrace工具的语法如下: retrace.bat|retrace.sh [-verbose] mapping.txt [<stacktrace_file>] 例如: retrace.bat -verbose mapping.txt obfuscated_trace.txt 如果你没有指定<stacktrace_file>,retrace工具会从标准输入读取。

android如何混淆代码

如果你没用到第三方的library或者jar包,那么只要在工程目录下project.properties里面,把#proguard.config=xxxxxx前面的#去掉就好了。

如果有第三方的jar包,那么把需要的配置加到proguard-project.txt里面就好。

Android之如何混淆代码和相关配置

项目发布之前混淆是必不可少的工作,混淆可以增加别人反编译阅读代码的难度,还可以缩小APK包。

使用步骤: 1、修改project.properties文件: Java代码 收藏代码 # To enable ProGuard to shrink and obfuscate your code, ment this (available properties: sdk.dir, user.home): # proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 去掉proguard.config一行前面的#注释; 2、配置proguard-project.txt文件: 这个是主配置文件,里面配置哪些需要混淆,哪些不需要混淆的选项; 提供给外部的类、方法、变量等名字不能混淆; 在AndroidManifest中配置的类(Activity、Service等的子类及Framework类默认不会进行混淆) 不混淆Parcelable的子类,防止android.os.BadParcelableException Jni中调用的类 反射用到的类 项目中的实体类 3、导出项目: export签名项目。

4、查看是否混淆成功: 用反编译工具反编译并对比未混淆的代码; 5、运行ProGuard及其生成的文件介绍 在以release模式下打包apk时会自动运行ProGuard,这里的release模式指的是通过ant release命令或eclipse project->android tools->export signed(unsigned) application package生成apk。

在debug模式下为了更快调试并不会调用proguard。

如果是ant命令打包apk,proguard信息文件会保存于<project_root>/bin/proguard文件夹内;如果用eclipse export命令打包,会在<project_root>/proguard文件夹内。

其中包含以下文件: mapping.txt表示混淆前后代码的对照表,这个文件非常重要。

如果你的代码混淆后会产生bug的话,log提示中是混淆后的代码,希望定位到源代码的话就可以根据mapping.txt反推。

dump.txt描述apk内所有class文件的内部结构 seeds.txt列出了没有被混淆的类和成员 usage.txt列出了源代码中被删除在apk中不存在的代码 目前市面上有很多第三方应用加固的平台, 如果新应用发布前需要扫描或者加固的话,可以先试试免费的,例如腾讯御安全,建议自己先去加固测试下。

美国cera机房 2核4G 19.9元/月 宿主机 E5 2696v2x2 512G

美国特价云服务器 2核4G 19.9元杭州王小玉网络科技有限公司成立于2020是拥有IDC ISP资质的正规公司,这次推荐的美国云服务器也是商家主打产品,有点在于稳定 速度 数据安全。企业级数据安全保障,支持异地灾备,数据安全系数达到了100%安全级别,是国内唯一一家美国云服务器拥有这个安全级别的商家。E5 2696v2x2 2核 4G内存 20G系统盘 10G数据盘 20M带宽 100G流量 1...

搬瓦工:新增荷兰机房 EUNL_9 测评,联通 AS10099/AS9929 高端优化路线/速度 延迟 路由 丢包测试

搬瓦工最近上线了一个新的荷兰机房,荷兰 EUNL_9 机房,这个 9 的编号感觉也挺随性的,之前的荷兰机房编号是 EUNL_3。这次荷兰新机房 EUNL_9 采用联通 AS9929 高端路线,三网都接入了 AS9929,对于联通用户来说是个好消息,又多了一个选择。对于其他用户可能还是 CN2 GIA 机房更合适一些。其实对于联通用户,这个荷兰机房也是比较远的,相比之下日本软银 JPOS_1 机房可...

pacificrack:$12/年-1G内存/1核/20gSSD/500g流量/1Gbps带宽

pacificrack在最新的7月促销里面增加了2个更加便宜的,一个月付1.5美元,一个年付12美元,带宽都是1Gbps。整个系列都是PR-M,也就是魔方的后台管理。2G内存起步的支持Windows 7、10、Server 2003\2008\2012\2016\2019以及常规版本的Linux!官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款7月秒杀VP...

android代码混淆为你推荐
允许traceroute探测检测到可能的 TraceRoute 或 TraceRT 活动. 请问这是什么意思啊?财务系统软件常用财务软件有哪些?建行手机网站怎么下载建行手机银行youtube创始人李开复的创新工场是做什么的啊???shoujiao手机电池突然充不上电,是怎么回事?该怎么办?网站客服代码如何将在线客服代码插入到您的网页中?医院排队系统医院排队机和医院排队机的区别有哪些?医院排队系统怎么将排队系统的信息显示在led上erp系统教程如何使用ERP系统操作?怎样删除聊天记录怎么批量清除微信聊天记录
什么是域名 网页空间租用 万网域名代理 过期已备案域名 php主机 外国域名 174.127.195.202 512m内存 好看的桌面背景图 卡巴斯基永久免费版 100m免费空间 howfile seednet 789电视网 网站卫士 泉州移动 什么是服务器托管 安徽双线服务器 starry 工信部网站备案查询 更多