当前位置: 首页 > article >正文

应用软件保护方法

应用软件保护方法

  • 应用软件保护方法
  • 参考

应用软件保护方法

从应用软件的角度,也许确实没有办法来防止软件被最终破解,因为一旦软件发布,所有的防卫方法也就都固定了下来,可是攻击和破解的方式却是无穷的,破解只是时间问题。

我们真正能做的,就是尽量增加软件被破解的难度和包括破解的时间成本。当然也包括平衡我们自己要保护的软件本身的价值,来采取合适的保护措施。

分类保护方法备注
线索隐藏(1)隐藏或者加密关键信息和提示
(2)核心检测代码加密关键字,避免使用和License文件或者界面提示信息同样的明文,例如: “incorrect_user_license”,“PRODUCT_KIND”,“USER_KIND” …
(3)移除或者尽量减少"不必要"的和License相关的信息和提示
减少给破解者提供更多线索
软件包保护(1)采用JAR包签名
(2)采用例如ProGuard等扰码手段,在编译器对class,成员变量,方法等做扰码,例如:“oOooo0O”,“1l11lll1”…
(3)增加package完整性的检测逻辑,例如size,change time,MD5 …
(4)使用自己修改过的/专有的JDK
License的检查(1)避免集中式的一次性的License检查实现,避免使用全局的License标记
(2)除登录时的License检查之外,考虑在代码里随机的增加检查点(或者我们称之为暗桩)
(3)避免使用boolean方法和简单If-else逻辑比较来实现License 检测
(4)开发多套License检查逻辑,随机使用
(5)避免在代码里直接嵌入公钥或私钥
(6)一旦License检查失败,应该永久标记此license为失效状态
(7)采用C/S模式,远程校验 (但也会增加新的复杂度,还有通信安全等问题也需要一并考虑)
(8)延迟提示错误,一旦发现程序被尝试破解,延迟报错,比如几小时或者几天后在提示
(9)使用误导提示把尝试破解的人引向其他方向,增加其破解的难度,例如如果实际需要的密码为10位字符,则提示请输入8位字符的密码…
(10)分散License检测逻辑到多个不同class,并且使用一些假的校验实现来干扰破解者(混淆视听)
(11)增大破坏,比如发现被破解或者尝试,执行系统重启,删除本地文件,格式化等等 (不推荐)
推荐多种方法结合使用
License文件保护(1)强化代码逻辑检查License文件的恶意篡改
(2)使用二进制的License文件,避免使用纯文本
(3)使用随机的,动态的算法

参考

通过破解来学习怎样更好的保护应用软件Licens…

http://www.lryc.cn/news/2418539.html

相关文章:

  • Python灰帽——Scapy模块 / 数据包的构造、发送、接收、捕获
  • 阿江ASP探针 V 1.92
  • 高危的程序猿,又被抓来顶缸了?光大证券“乌龙指”事件有感
  • 电脑动态屏保_7款电脑上一定要有的神仙软件,能让你的windows更好用
  • model - construction
  • php中 session start,php中session_start()的具体解释
  • Flappy Bird成名记:28天令人咋舌却真实的故事
  • 用Java实现文本编辑器
  • highdefinitionaudio驱动感叹号_High Definition Audio
  • HBuilder的下载与使用(详细步骤)
  • linux les命令,Linux用户和组命令
  • [转]CMS Content Management System(内容管理系统) 提供商
  • 【jsp+servelet】JSTL c:out使用 escapeXml 属性保持 HTML 格式编排
  • 12306可免费送人进站,接人出站!无需购票即可送至站台、车厢
  • bootstrap fileupload插件实现文件上传与前端回显图片
  • EI检索入口查询方法
  • magent java_bt种子简介与magnet磁力介绍
  • 毕业设计:基于java的出租车计价器系统设计与实现
  • This failure was cached in the local repository and resolution is not reattempted until the update
  • 前端中--js定时器的用法SetTimeout
  • Web窗体的基本控件
  • Linux格式化命令
  • weblogic漏洞:CNVD-C-2019-48814
  • 日语
  • 【STM32F042】使用NTC热敏电阻实现温度测量
  • 360手机官方刷机教程(N5系列通用)
  • linux 命令:top 详解
  • 比特率(码率) = 采样率 (Sampling rate ) * 位深 (Bit depth)* 声道数目/Opus/AAC/mp3
  • 人工智能常用的优化算法(梯度下降、牛顿法、拟牛顿法、共轭梯度法、)
  • 奇迹按键精灵挂机脚本_按键精灵做连击脚本(奇迹MU战士用)