打印

关于软件的加密和解密问题

[复制链接]
2470|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hotpower|  楼主 | 2008-8-3 10:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近菜农被阶级敌人欺负,无奈再举"红色黑客"的义旗...

在PC端的加密方面,人们一直寻求1个固定不变的"介质",并用它做为加密/解密的依据.

常用的有硬盘序列号(非逻辑序列号),网卡号,加密狗等等...

这是因为它们必须通过专用的编程接口来访问,并得到一组不变且每台不同的序列.

它们都不会因为硬盘的格式化而消失.

虽然他们在注册表存放的信息可以被更改,但通过专用的编程接口读出的数据

可以发现何处被更改,以达到保护软件合法的作用.

MCU端也一样,也要寻求一种不变的"介质",像1-Wire系列的激光刻制的全球唯一码, 还有STM32的唯一序列码(还未实践过,不知是否1片1号)

以上是从加密方的硬件配置来分析的,但作为解密方也有对付的良策...

PC端的加密比较困难,这主要是汇编代码是公开的,如同MCU被暴力解密后的汇编代码.

所以我们都应该站在汇编代码公开的基础上来讨论加密和解密问题,任何想依据

MCU芯片不被**的想法都是徒劳的,也是单相思的~~~

故加密方应具备的"介质"---不变的唯一码(序列码)应该是必要的.

如果没有这些,"整盘/正片"的拷贝即成现实.

所以加密方在具备了"介质"后,还应该施加有关的代码,使其不能达到,"整盘/正片"拷贝的目的.

迫其对汇编代码进行改写(这是加密方不能阻止的~~~,但加密的目的已初步达到)

想通了---付出应该得到回报~~~(解密也是要劳动的~~~)

故施加防范代码就是加密方最需要做到的...

加密的理念有多种,菜农N十年来历来反对分枝判断~~~

可先行的软件大多采用这种分枝判断真伪,这就给解密者留下了突破口~~~

如果无分枝由将如何呢???

菜农一直**对输出流进行加密,这样就不会产生分枝.

举例WORD文档文件:

让任何人使用,但非正版用户看到的全是乱码~~~

难道这种理念不更气人码???哈哈~~~

做为解密方,如果不能"整盘/正片"的拷贝,那么他必定知道加密方施加了手段.

他们当然会采用"钩子"等"卑鄙"手段进行拦截,监听,最后直到**.

所以,PC端加密还是很困难的~~~理论是解密永远加密的胜利者~~~

很无奈,事实就是如此...

在MCU端就相对好些,首先他要暴力**芯片,从而拿到汇编代码.

然后通过对串行通讯的数据流拦截分析,对操作步骤的实践,对用户说明书的研究,对被控对象的相应动作表现等等...

这样的轮廓足已**一半的流程...

所以加密方要少使用分枝,字符串,IO地址等敏感语句...

多用函数指针(散转),对字符串进行些简单的处理而不要直读.

IO地址也用指针(51是没办法了~~~PX,PX.x将告诉敌人自己在干什么~~~)


就写到这里吧~~~继续农忙...

总之不要想自己的程序不被**~~~

说到另一层被**应该感到"荣幸"~~~这也证明了你的程序的"伟大"~~~


菜农HotPower@126.com   2008.8.3  于菜地

相关帖子

沙发
hotpower|  楼主 | 2008-8-3 10:52 | 只看该作者

自己坐沙发~~~

使用特权

评论回复
板凳
simon21ic| | 2008-8-3 14:53 | 只看该作者

现在的软件一般不会用分子判断

否则爆破太容易了

建议自己定义一个shell,并且多使用花指令,能够增加一些**难度,并且可以通过某些手段,检测系统中运行的**软件

使用特权

评论回复
地板
simon21ic| | 2008-8-3 15:01 | 只看该作者

对数据流加密的话

也有一些问题,最好是对数据流解密,而不是加密,否则,找到数据流处理函数,直接跳过就可以了

使用特权

评论回复
5
qjy_dali| | 2008-8-3 17:03 | 只看该作者

永恒的话题

同感,为保护自己的知识产权,我近期也在看一本关于加密/解密的书。

使用特权

评论回复
6
浅谈| | 2008-12-22 10:31 | 只看该作者

DS5002/DS5250/MAXQ1103/MAXQ1850

都是安全单片机,程序代码随机加密,有物理和逻辑攻击的措施,不防可以了解一下。我是MAXIM的FAE,如果需要资料,我以找我。MSN:lyzhuma@yahoo.com.cn

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1460

主题

21619

帖子

506

粉丝