新闻动态
Android的重启验证保护思路
http://sytm.net 发布日期:2014/1/19 11:30:02

重启验证的通常做法是:在软件注册时不直接提出注册成功与否,而是将注册信息保存下来,然后在软件下次启动时读取并验证,如果失败则软件仍未注册,成功则开启注册版的功能。
Android系统保存信息的方法有限,只能是内存储、外部存贮、数据库与SharedProferences等4种方式。破解者通常可以在短时间内找到注册信息的保存位置,因此在实际使用重启验证的过程中,注册信息必须要加密存储才能保护强度。
几种常见的方案:
单一保护。重启验证保护模块使用Java代码编写,注册信息加密保存到内部存储中。
单一保护。重启验证保护模块使用Native代码编写,注册信息加密保存到内部存储中。
多重保护。重启验证保护模块使用Native代码编写,并在代码中加入网路验证。
这些方案中,使用java代码编写的重启验证保护是对脆弱的。Java代码由于反编译简单的原因,破解者能够在短时间内分析出软件的重启验证思路,从而破解掉软件。使用Native代码编写重启验证保护模块则相对好一些,但需要注意的是,代码中尽量不要使用明码比较,也不要在软件中使用一个简单的条件判断就确定软件是否注册成功,而是要在注册功能的代码中插入多个验证点,或者插入一些暗桩代码,在发现软件注册失败而被暴力破解的情况下,不定时的推出程序或者产生异常。最后的多重保护是最有效的保护手法,将重启验证与网络验证结合,可以大大增加软件的破解难度,可以将软件的部分功能代码加密,只有注册成功后才能从网络中获取解密的方法或者解密因子;也可以么次启动通过网络检查软件的完整性,或者设定软件有效使用时间等等,这些保护思路需要读者不断的总结,不停地思考来完整。

更多阅读
返回列表
© 2010 TianMei Technology All rights reserved. ICP:辽B-2-4-20100065辽公网安备 21010202000010号  网站地图