Android 上线前的代码混淆之(一)反编译

本经验总结针对Android 4.0(sdk 14 ) 以上:

一般项目做好以后,大部分公司为了安全会进行代码混淆来增加安全性,防止反编译和破解!

google Android  给我们提供了proguard 进行代码混淆,废话不多说,我刚刚接触的时候,感觉特别高深!感觉无从下手啊,于是就度娘了一下,各种帖子,各种方法!

要想学会还得自己试试看!

要学习,混淆我觉得我们还是先学学反编译吧,要不自己又看不到是否混编了,有没有效果

首先下载反编译工具:


dex2jar 反编译工具包点击打开链接

然后开始我们的反编之旅吧!

反编

   反编第一步,我们准备一个简单的打包文件这里我们直接新建一个HelloWorld项目然后在代码里增加一些代码内容如下:

导出apk文件:Helloworld.apk 然后修改扩展名Helloworld.rar 通过winrar解压缩我们看到


将dex文件复制到dex2jar文件夹下,开始反编译命令如下:


然后通过jd-jui工具打开查看生成的classes_dex2jar.jar包,我们震惊了!


我们的代码被一字不落的反编译了!

至此,我们反编译成功了!当然,这里只是反编一个我们自己的apk,如果我们打开应用市场上的apk 譬如说QQ的,我们来试试看吧!


一看晕菜了,三个dex文件,那么我们一个一个来反编译看看吧看会有什么结果:


随便打开一个看看,虽然大部分可以看到类名,但是当你打开的时候发现很多方法名字都变化了变成了abcd!对这就是对代码进行了混淆,虽然我们也反编译了,但是完全看不懂!

还有其他两个dex,我们可以自己尝试反编下看看,至于多个dex的问题我觉得是应用过大而做的处理!大家可以搜索学习!我们这里先学习下反编译技能用来后面章节混淆的验证!

反编译结束!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值