扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、android源码被混淆了还原方法为:得到 classes.dex文件;直接用机器上的解压软件 打开 .apk 文件,解压出 classes.dex 文件。
专注于为中小企业提供成都网站建设、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业江阴免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
2、因为是对接口名进行替换,如果出现混淆问题的话,log里面一定会有类似 这个时候只需要对相关接口进行例外(-keep)即可,然后用android-studio,直接打开或者dex2jar进行反解可以看到相关的接口是否被简单替换。
3、运行apktool.bat d xxx.apk,把apk反编译成smali 如果想要进一步查看源码,可下载smali2java 使用smali文件的文件名进行分析,如果存在1个或1个以上的资源类的smali文件,就可以证明该apk没有被混淆过。
代码混淆有两种重要功能。其一,混淆代码。其二,优化代码。进行代码混淆的程序被称为代码混淆器(混淆工具)。进行代码混淆的意义主要在于对代码进行一定程度的加密。
代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,但是难于阅读和理解的形式的行为。代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码。执行代码混淆的程序被称作代码混淆器。
代码混淆(code obfuscation)是指将计算机程序的代码,转换成一种功能上等价,所谓功能上的等价是指其在变换前后功能相同或相近。
设置minifyEnabled true,就会在打包的时候进行代码混淆处理. 其中proguard-android.txt不用管,在sdk目录里面,主要是配置了proguard.cfg文件。
shrinkResources 去除无用资源 ,要注意,这个功能的使用依赖于code shrinking, 所以minifyEnabled也必须打开。proguard-rules.pro 为混淆规则文件,放置在Module根目录下。
android代码的混淆和加密:通常来说Proguard对一般用途来说足够了,但是也需要注意一些程序风格,增强proguard的效果。 特定类的public函数不做实际的事情,只做简单处理后调用private函数。
如果要对apk进行混淆,你要先告知gradle这个app需要混淆,并告知其混淆规则。告知gradle需要混淆的代码 在Project/app/build.gradle中把minifyEnabled设置为true,表示说打包时需要执行混淆操作。
设置minifyEnabled true,就会在打包的时候进行代码混淆处理. 其中proguard-android.txt不用管,在sdk目录里面,主要是配置了proguard.cfg文件。
两种方式,一种开发工具eclipse,还有就是用apktool工具。 I、只要Run As Android Application 过,到工作目录的bin文件夹下就能找到与项目同名的apk文件。
对代码进行优化(使用adt插件导出的apk,还进行zipalign优化)缺省情况下,proguard会混淆所有代码,但是下面几种情况是不能改变java元素的名称,否则就会导致程序出错。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流