Android之代码混淆

Android的代码混淆想必是每一个Android程序员心中都有的一个 概念,但是未必是每一个人都会去做的,我现在是给一个当地有影响力的零售集团做线上销售app,我是从这个app的1.3版本开始接手,可想而知代码肯定也不知经手多少了,好在是有实力的大商场,买的框架总体规范,结构都是杠杠滴,所以历代经手的大神们,我看大部分也都遵循的框架的风格进行功能的扩展,以上都是废话,言归正传,但是他们没有一个人给代码进行过混淆加密,直到最近才发现,注册验证的接口被别人短信攻击了,因为注册短信验证的接口写在了app中,如果稍微懂得Android的人都能将这个app反编译,然后获得这个app的所有接口,后果也是相当严重。

首先代码混淆需要你在project工程文件中添加#proguard.config=${sdk.dir}/这行代码来指定你混淆代码文件的位置,然后打开混淆代码的文件,也就是proguard.cfg,需要注意的是,项目中引用的第三方jar包多数都是经过代码混淆过的,如果我们在混淆过程中在对其进行混淆,很可能会造成代码的编译错误,还有要注意的是代码混淆也有可能会造成自己代码编译的结果出现错误。那我的例子来说吧,我把项目进行混淆后,测试发现有一个地方混淆的版本和未经代码混淆的版本运行结果不一样,而且未经混淆的代码执行的结果是正确的,因为之前本人也没遇到此类问题,一下就懵比了,通过请教圈子里的大牛们,指出有可能是这个问题,经我试验后发现确实是这个原因引起的,于是我马上修改,修改的方法是把一些没必要进行代码混淆的部分,加上-keep xx.xx.xx.** {
    *;
}

意思就是不对这个相对路径下的类进行代码混淆。自己 算是吃一堑长一智,所以拿出和大家分享。欢迎大家来嘲笑我的水平菜。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值