科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道共享软件防破经验(3)

共享软件防破经验(3)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在软件的破解方法里,“暴力破解”(俗称“暴破”)算得上最为普及且行之有效的方式了。对于这种盗窃“知识产权”的行为深恶痛绝,因此将一些个人的防“暴破”经验共享出来,与大家交流和学习。

作者:QQread 2008年1月21日

关键字: 加密软件 加密技术 加密 文件加密 文件夹加密 加密工具

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

增加注册信息步骤

  增加注册认证算法的难度后,还需要在注册信息的步骤上下功夫,以此巩固防“暴破”的城墙。

  1.可以使用优秀的随机数算法来让软件的注册方式带有随机性。譬如,除了启动时检查注册码外,还可以在软件运行的某个时段随机检查注册码。

  2.采用一机一码的保护方式。这样设计以后,一台计算机上的注册码就无法在另外一台计算机上使用,就像很多软件以机器码为基础生成注册码一样。

  3.删除试用版的功能代码。如果试用版与正式版是分开的两个版本。在试用版中不要仅仅锁定相关的菜单,而是彻底删除相关的功能代码。

增强软件自身源程序的完整性

  在共享软件的开发过程中,除了对局部的注册代码进行加强外,还必须要考虑软件本身程序的完整性。可以通过以下方面进行加强。

  1.增加对软件自身的完整性检查。这包括对磁盘文件和内存映像的检查,防止有人未经允许修改程序以达到破解的目的。

  2.隐藏注册信息代码。不要采用例如“IsLicensedVersion( )”和“key.dat”等常见的注册代码名称。另外所有与软件保护相关的字符串都不要以明文形式存放在可执行文件中,最好是动态生成。

  3.尽可能少地给用户提示信息,因为这些蛛丝马迹都可能导致解密者直接深入到受保护的内核。可以设计软件为当检测到破解企图后,不立即给用户提示信息,而是在系统的某个地方做一个记号,经过一段时间后软件自动停止工作。

  4.不要依赖于“GetLocalTime( )”和“GetSystemTime( )”这些常见的函数来获取系统时间,可以通过读取关键系统文件的修改时间来得到系统时间信息。

  5.如果采用keyfile(钥匙文件)保护方式,则其尺寸不宜太小,可将其结构设计得比较复杂,在程序中不同的地方对keyfile的不同部分进行复杂的运算和检查。

小提示:

  上面提到的一些信息语句是“暴破组织”最基本的突破点,如果在软件开发的过程中,非常显眼地给出了这些提示,无疑慢性自杀。对这些“暴破”高手来说,有了这些提示,软件必将毁灭性的打击。所以开发者必须慎重,不要犯下如此低级的错误。

  共享软件的防“暴破”的确是一项复杂而艰巨的任务,我们需要对“暴破”者的思维模式进行细致的研究。先假设暴破者可能采用的“暴破”方法,然后对症下药,对某些薄弱环节进行加强。可以说“暴破”跟防“暴破”是一场智力游戏,就像“猫捉老鼠”一样,虽然“暴破”者无孔不入,但只要开发者采用的“防暴”方法得当,即可将他们拒之门外。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章