首页
社区
课程
招聘
[旧帖] [分享]软件加密技巧 0.00雪花
发表于: 2011-3-2 16:55 1233

[旧帖] [分享]软件加密技巧 0.00雪花

2011-3-2 16:55
1233
对于软件保护来说,有些技巧并不需要你掌握很多汇编或系统低层的知识也能够做
到。我们都知道,不论您的软件采用何种方式来加密,很多情况下总是会归结为某些条
件的判定,如果满足了这些条件,程序就会认为软件是允许执行下去的,否则就会报告
一些错误并退出执行。不论你采用任何方法,这些代码是必然存在在你的程序中的,不
要费心思去考虑如何消除这些代码,这些代码必然以这样或那样的形式存在,我们考虑
的重点是如何有效的隐藏和保护这些代码。

1 有迷惑性的代码
通常来说,编程人员和解密者都具有很好的逻辑思维能力,他们都会认为如果某段
程序存在,那么就应该有这段程序存在的意义。编程人员为了代码的效率和空间会不断
的剔除无用的代码,解密者也是这么理解开发人员的,他通过分析程序中保护代码的每
一段指令来追索编程人员的保护思路。如果反其道而行之,故意添加大量的无用的代码,
把程序复杂化,毕竟开发者是在拿高级语言编写程序,而解密者是在看汇编代码,想搞
清楚哪些代码是有用的,哪些代码是无用的,并不是一件简单的事。

2 虚假的检查

故意去把返回结果和一些错误的答案进行比较,比较结果一定应该是错误的,如果
比较结果发现是正确的,说明有人正在试图破解您的软件。反击的手段可以有多种选择。

3 验证时机的选择
软件在运行时,验证时机可以是没有规律的,是散乱的,那么要查找到所有的加密
点则不是一件容易的事情。

4 使用ET199 新的软件加密方法

传统的软件加密方法很多只是把加密锁当作存储设备,将简单的信息存储在里面,
然后在软件运行时进行判断,也有许多开发商只是检测硬件是否存在,这些加密手段
在现在的破解中十分容易,根本就没有任何加密价值,软件非常容易被盗版。后来有的
加密锁中加入了自定义算法,但由于硬件的限制,算法也只有简单的加,减,左移,右
移等,算法再怎么变化也就是这几种之间的组合,最主要的是这样的算法根本不能完成
软件需要的功能。
智能卡技术的介入,使加密锁可以完成以前只有在PC中才可以实现的功能,软件开
发商可以通过这样的步骤来实现软件加密。

(1) 使用高级语言开发软件
(2) 将核心算法转换成C51语言,进行编译。转换成ET199的可执行文件的方式
存储在加密锁中。
(3) 应用程序运行过程中,遇到关键算法时,将需要运行的数据传给ET199,
ET199在加密锁内调用可执行文件内完功能,将结果传给应用程序,程序继
续执行。

很多商业软件,如CAD 设计软件,工程预算软件,财务软件等里面包括很多数学计
算的公式,对这样的软件进行高强度的加密是非常容易的。由于ET199 具有复杂的双精
度浮点运算的能力,可以运算复杂的三角函数,因此能够满足这些软件的计算要求。那
么原来在计算机内存中完成的运算完全可以植入到加密锁中运行,这样破解者只能跟踪
到程序中的输入和输出,而不清楚加密锁中的算法是什么,在没有加密锁的情况下,程
序中就没有计算的结果或结果不正确,从而软件不能运行。例如:我们可以将身份证15
位升级到18 位的算法放入ET199 中运行,没有加密锁就没有正确的结果,软件必须靠
加密锁来完成,从而不可破解。这种加密方法需要注意:
(1) 算法要够复杂。算法如太简单,如只是一个加法,那么破解者完全可以
通过输入和输出猜测到锁内的算法,使用软算法模拟,则程序被破解。
(2) ET199 采用的是16 位的智能卡芯片,浮点运算能力非常快。能满足多数
运算要求。如某些应用软件要求运算速度,可以将复杂公式中的部分放
到加密锁内运行。
(3) 加密锁内的公式不能是已经公开的或者是泄漏的公式,这些不安全的公
式可以被破解者软件模拟。
(4) 计算的结果一定要是软件使用到的,而不是在软件中比较。如加密过程
是比较的话,破解者很容易找到比较的逻辑判断点,进行屏蔽等修改,
这样即使锁内的运算是多么复杂都是无效的。
上述的方法是软件保护中最有效的,ET199 就是一个黑盒子,那么只要注意上面的
四点说明,使用这样的方法进行保护的软件是不可能被破解的。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费
支持
分享
最新回复 (4)
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
请问pak文件加了exe文件怎么搞啊?
2011-3-2 17:56
0
雪    币: 152
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习了。。。。
2011-3-2 19:50
0
雪    币: 26
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
LZ 这个也太宽泛了吧?
2011-3-2 21:33
0
雪    币: 3
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
领教了,谢楼主!
2011-3-3 00:14
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册