标题:「揭秘」单机软件离线加密与破解:从入门到进阶
内容:
诚如上一篇文章(加密篇)所述,单机软件加、解密逻辑及注册码保存都在本地计算机完成,这一特性决定了其被破解只是时间问题。就像你把一个保险箱搬到家里,砸开它只是时间和工具问题。因此,单机软件被破解的可能性非常高,连微软的Windows都难以幸免,其他软件公司的加密难度就可想而知。
一、入门级破解
不要总把注意力放到注册码(密码)本身,因为注册码通常通过复杂的数学计算和多轮加密完成,这是整个加密体系中最难以攻破的防线。如果破解者把注意力放在这里,就如同掉入黑洞。
换一个思路:你可以在虚拟机中注册并运行这个商业软件,然后备份这个虚拟机。每次开启这个虚拟机,让它的系统时间总在某个范围内运行。软件一旦过期,就把备份的虚拟机再还原回去,这样就可以保证你永远免费用这个软件,无论它是按次授权,还是按时间授权。就算是永久授权,也只能在一台电脑上运行,你也可以通过虚拟机移植,让它运行在其他电脑上。这种无招胜有招的套路是最难防范的,连电脑小白都能搞定,技术成本几乎为0。
二、进阶破解
如果说入门级破解是大力士用蛮力,那进阶破解就是小媳妇绣花。方案和上条类似,只不过要借助一个文件写入跟踪工具(一个可以实时查看硬盘被写入文件的工具),当你把这个工具运行起来以后,再安装并注册这个准备破解的软件,你就会清晰的看到它往硬盘哪些犄角旮旯写入了什么文件。尤其是注意你注册它的时候它在读写什么文件。
这个过程就好比用透视眼镜看一个美女跳舞,别人看的是舞蹈,你看的是脱衣舞。她的任何微小举动都逃不过你的眼睛。接下来需要做的就是备份这个软件的所有文件,假设你限制购买了10次软件授权,等你快用完的时候,再把备份的文件覆盖回去。就这样反反复复的10次授权就永远用不完了。
既然知道方法了,计算机最擅长的就是重复工作。如果你有编程基础的话,可以自己写一个启动程序,它每次启动前把系统时间还原至某个点,把备份文件复制到某个位置,然后启动目标软件,当目标软件关闭后,再把打扫战场,把系统时间恢复至标准时间,注册表相关项再还原,这就是经典的加壳法破解。
至于加密狗之类的破解,一般可以找到专用U盘克隆工具(类似Ghost)复制加密狗到空白U盘上。还有混合加密,融合了本地授权文件、加密狗授权于一体的方法,但都万变不离其宗。但这些方法都仅限于本地离线授权,一旦授权有了线上参与,那事情就会变得很复杂,这不是本文讨论的主题,暂时不谈了。
对软件离线破解方面,您还有什么思路?欢迎一起讨论。
声明:
本文仅站在技术角度,从软件设计防护的视角来剖析信息安全可能出现的疏漏和应对策略,并非教授非法破解软件的知识。请各位务必敬畏法律、尊重知识产权。
转载请注明来自枫染贸易,本文标题:《「加密与破解」单机软件 离线加、解密实现思想(破解篇) 》