android混淆保护 android混淆后怎么反编译
android开发代码混淆都混淆哪些
布局混淆是最简单的混淆方法,它不改变软件的代码和执行过程。 数据混淆 数据混淆是修改程序中的数据域,而对代码段不作处理。常用的数据混淆方式有合并变量、分割变量、数组重组、字符串加密等。
创新互联建站是一家专业提供安源企业网站建设,专注与成都网站制作、成都做网站、HTML5、小程序制作等业务。10年已为安源众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。
缺省情况下,proguard会混淆所有代码,但是下面几种情况是不能改变java元素的名称,否则就会导致程序出错。
Project target.target=android-16 复制代码 以上的配置信息即是 project.properties 文件中内容,蓝色文字为我们在代码混淆过程中需要添加的配置信息,其中:sdk.dir 为你在当前机器上 SDK 的安装路径。
Android资源混淆
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没有被混淆过。
4、代码编译成class文件代码打成jar包混淆jar包用jar包生成classes.dexresources.ap_生成apk以及签名只不过工具帮我们一次性全做了,如果你要写批处理来做,就要按上面的步骤来做了。
android项目对apk进行混淆
1、如果要对apk进行混淆,你要先告知gradle这个app需要混淆,并告知其混淆规则。告知gradle需要混淆的代码 在Project/app/build.gradle中把minifyEnabled设置为true,表示说打包时需要执行混淆操作。
2、设置minifyEnabled true,就会在打包的时候进行代码混淆处理. 其中proguard-android.txt不用管,在sdk目录里面,主要是配置了proguard.cfg文件。
3、运行apktool.bat d xxx.apk,把apk反编译成smali 如果想要进一步查看源码,可下载smali2java 使用smali文件的文件名进行分析,如果存在1个或1个以上的资源类的smali文件,就可以证明该apk没有被混淆过。
4、两种方式,一种开发工具eclipse,还有就是用apktool工具。 I、只要Run As Android Application 过,到工作目录的bin文件夹下就能找到与项目同名的apk文件。
Android如何保持指定类不被混淆?
1、包名 package com.example.test类名 public class WebAppInterface{}加上完整的包名才行。
2、预防混淆 预防混淆一般是针对专用的反编译器设计的,目的就是预防被这类反编译器反编译。他是利用特定的反编译器或反混淆器的弱点进行专门设计。
3、在proguard-project.txt文件中添加不需要混淆的类和第三方的jar包 这个是保持自己包中不需要混淆的类,如果有些类调用了jni也不需要混淆,不然会出错。
4、简单来说,Android 进行ProGuard,可以起到压缩,混淆,预检,优化的功能,虽然不能说更安全但还是一个不容忽视的环节。
5、public static final android.os.Parcelable$Creator *;} 已经尝试的方案:方案一: 加入-ignorewarnings 可以正常打包了。 能过滤掉警告信息。
分享标题:android混淆保护 android混淆后怎么反编译
文章分享:http://myzitong.com/article/dgjhdoo.html