Android应用本地离线激活认证方案—so文件授权认证
Posted _H_JY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android应用本地离线激活认证方案—so文件授权认证相关的知识,希望对你有一定的参考价值。
一.需求场景
在实际的开发工作过程中,我们经常会遇到过这样一个需求,就是客户要求我们的APP功能使用之前必须具备一定的密钥认证机制。现在是互联网时代,一般我们常规的做法都是建立起自己系统平台的用户体系,客户端通过用户名和密码去登录,以实现该需求。但是如果我们的APP目前不需要联网,没有自己的用户体系呢?换言之我们的APP需要进行离线认证使用,既然是离线认证,那意味着我们的认证过程必须存在于前端自己的项目之中,那就存在被破解的风险。众所周知,现在的反编译工具很多很强大,反编译一个未加固的APP仅仅只是一瞬间的事(实际上即使是加固了也可以被破解),道高一尺魔高一丈,那么我们只能是增加APP被反编译破解的难度,本篇提供一种方案供参考,核心就是将认证过程放在so文件中实现,以提高安全性。
二.设计分析
通过调用so文件完成整个激活认证过程,将认证过程放在C/C++代码中进行,增加程序被反编译破解的难度,提高程序代码隐蔽性。
管理者保管激活码生成工具,为用户生成APP激活码。
三.实现步骤
1.使用APP生成待激活二维码;
2.使用生成激活码APP(见目录:生成激活码工具)扫描待激活二维码,生成激活码;
3.复制激活码,在APP中粘贴输入激活码,点击按钮进行激活验证,验证成功方可使用APP。
源码路径:
该案例源码已上传至GitHub,地址:GitHub - g-HJY/ActivationCodeApp: 使用so库实现离线激活App机制。包含:生成待激活二维码APP、扫描待激活二维码生成激活验证码APP
好了,到此就介绍完毕了,本篇主要是为APP本地离线认证提供一种具备一定安全性的解决思路,感谢大家的阅读,拜拜。
特别声明:
本开源案例仅以提供离线认证的设计思想和实现方法参考为目的,且激活码生成工具已公开使用,不承诺其安全性。若您在项目中使用该认证库,因被破解造成任何损失,开源库提供者概不负责。
意见和建议:
真实生产过程中建议还是通过联网+用户体系认证的方式来实现,即认证过程由服务端处理,可以更好地解决安全性问题。
以上是关于Android应用本地离线激活认证方案—so文件授权认证的主要内容,如果未能解决你的问题,请参考以下文章