Android代码混淆

Android代码混淆

ID:44713569

大小:156.86 KB

页数:5页

时间:2019-10-25

Android代码混淆_第1页
Android代码混淆_第2页
Android代码混淆_第3页
Android代码混淆_第4页
Android代码混淆_第5页
资源描述:

《Android代码混淆》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android代码混淆一个xxx.apk提交给测试、ok,去倒杯水,看看网页~~~~~呃,忽然觉得是不是应该给我的代码提高点安全性,记得看过apk直接可以解压,然后很容易的就可以反编译出.java找了找,果然,这一切只不过是一分钟的事儿,1、得到classes.dex文件;直接用你机器上的 解压软件打开.apk文件  解压出classes.dex文件,(这个就是.jar的前生---其实应该说后世)  2、还原.jar文件;这一步需要用到一个工具 dex2jar  看名字也不难知道他是干嘛的了吧?(没错,

2、就是把dex还原成 jar包)  下载完了,解压,然后把第一步的产物(即那个classes.dex文件)放到dex2jar的解压目录里  (解压目录里有dex2jar.bat文件,检查一下,没有的话说明目录不对、再找找)    cmd命令行,目录切换到dex2jar的目录下(linux系统的话执行那个.sh文件)  “ dex2jar.batclasses.dex”  看到命令行 的“Done”之后,dex2jar文件夹里就会有“classes.dex.dex2jar.jar”文件了,  这个就是传说中

3、的jar包了  3、查看.jar文件;这一步就是传统的反编译了,需要工具辅助,我这里用到的工具是jd-gui  下载你的系统对应的版本,解压,(我xp系统)你会看到一个.exe文件,没错就是单文件绿色版  双击,选择第二步生成的.jar,好吧,你的项目是不是完全还原了呢?(内部类的话还原后的结构看着有点不喜欢)没错,这么简单就能让你的代码暴露了,心疼不?[这里我就不贴图了,公司的项目]好了,接下来说说 怎么混淆吧,网络上好多介绍 proguard混淆android项目的文章,都是抄来贴去,好几个都是讲得

4、没头没尾、我看了好半天 ,愣是没搞明白,……androidsdktools目录下看到 proguard了没?新建一个2.3.3的项目,你会看到项目文件里有一个 proguard.cfg文件?好吧,伟大的google已经帮我们做了这么多事儿了,可惜是从2.3开始的,那我悲催的项目(基于2.2的sdk)该如何是好?(非得残忍的把项目属性设置为2.3的么?其实即使你该了,google也不会为你把proguard.cfg文件补上的)呵呵,其实不用,你只要把 proguard.cfg文件拷贝到你的旧项目里就好了

5、,当然这样还不够,因为google是默认不混淆项目的To enable ProGuard so that it runs as part of an Ant or Eclipse build, set the proguard.config property in the /default.properties file. The path can be an absolute path or a path relative to the project's root. go

6、ogle告诉我们还要配置default.properties 嗯,把 proguard.config=proguard.cfg加上好了,再次生成新的 .apk文件,然后用上面的方法反编译你的项目,你会看到aabbcc的包、aabbcc的类和aabbcc的变量名,方法名.这个我相信你自己也搞的头昏了吧?再看看 proguard.cfg文件-optimizationpasses5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-dontp

7、reverify-verbose-optimizations!code/simplification/arithmetic,!field/*,!class/merging/*-keeppublicclass*extendsandroid.app.Activity-keeppublicclass*extendsandroid.app.Application-keeppublicclass*extendsandroid.app.Service-keeppublicclass*extendsandroid.c

8、ontent.BroadcastReceiver-keeppublicclass*extendsandroid.content.ContentProvider-keeppublicclasscom.android.vending.licensing.ILicensingService-keepclasseswithmembernamesclass*{native;}-keepclasseswithmembernamescl

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。