所有版块
≡ 澳洲生活区 ≡
生活百科
安家乐居
家有儿女
美食天地
开心购物
车行天下
工作学习
投资创业
税务理财
英语交流
签证登陆
签证申请
登陆前后
澳洲同城
悉尼
墨尔本
珀斯
布里斯班
堪培拉
阿德莱德
兴趣爱好
旅游户外
音乐影视
我爱摄影
数码天地
其他爱好
墨友书屋
≡ 信息交流区 ≡
情感天空
心情感悟
男人靠边站
征婚交友
邻居同人
小编精选
≡ 站务区 ≡
家园建设
广告服务
招聘求职
商业服务
私人广告
最近浏览
我的收藏
您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册
使用道具 举报
原帖由 关毅仁 于 6-10-2010 18:16 发表 登录/注册后可看大图 20年前,我做程序的时候,还没有安装的概念,全都是copy。我为了防拷贝,就在程序第一次运行的时候,将硬盘的最后一个扇区置为bad标志,然后回写5寸源盘,记录当前硬盘的柱面数磁道数。如果用源盘拷贝到新机器,磁道 ...
原帖由 四香油饼 于 7-10-2010 16:23 发表 登录/注册后可看大图 我记得刚刚玩计算机的时候,江湖上流传着各种“硬拷贝”软件,记得有一种将HDCOPY来着,就把软盘按扇区一个一个的复制过去。从APPLE II 到 PC-XT,一直到386时代,有了光盘后,这种加密方式才慢慢不留行了。当时真是 ...
原帖由 dack 于 11-10-2010 15:33 发表 登录/注册后可看大图 油饼也是老it啊! 其实我记得当时应该可以破解的。一种是tsr截获13中断,或者等程序全部读入内存,把内存镜像写盘。以后用镜像来运行。
3.系统启动时调用c++的解密算法解密dll到内存中,验证数字签名之后将解密后的dll镜像直接在内存中加载。 4.将加载核心的程序混淆化。在系统多个地方进行数字签名验证 我们使用C++加密算法是一个大学生的毕业设计,并非标准算法。加密和解密的代码是分离的。加密代码永远不会发布。
原帖由 GPS 于 11-10-2010 17:00 发表 登录/注册后可看大图 很久以前,用针在5寸盘上扎个洞,这样的话,在一个扇区里有部分可读,部分不行,而且,很难准确重现。 破解那些行业软件,常常用脱壳程序(因为这些软件加密较差),就是把if else的那个地方找到,记得有不少脱壳的 ...
原帖由 四香油饼 于 7-10-2010 16:23 发表 登录/注册后可看大图 我记得刚刚玩计算机的时候,江湖上流传着各种“硬拷贝”软件,记得有一种将HDCOPY来着,就把软盘按扇区一个一个的复制过去。从APPLE II 到 PC-XT,一直到386时代,有了光盘后,这种加密方式才慢慢不留行了。当时真是觉得像是道和魔两边在斗法一样,各种加密/解密方法层出不穷,让人叹为观止。 我记得有一种号称无法破解的软盘加密方法,是把软盘上特定的磁道用激光打上孔,孔很小,用肉眼看不出来,但写入的数据再读出就会出错,而且每次还不一样,好像就是利用这个原理,再牛的拷贝软件也复制不了了,等等等等
原帖由 nilei 于 17-10-2010 16:18 发表 登录/注册后可看大图 1. 完全没有必要用c++做这个加码解码的,c#都可以做。项目中多一个语言,维护成本上去很多。 2. 这类加密解密用一个现成库里的非对称的算法,任何中专毕业生1小时就能写完,安全性比本科生玩玩得方法好很多。 “加载核心的程序混淆化”我不是很明白什么意思,难道c#实现的别的部分的代码没有做?把原代码直接送给客户了?
原帖由 woodheadz 于 17-10-2010 22:28 发表 登录/注册后可看大图 用C#做的加密解密对于破解者就像是层纸一样,用reflector之类的东西一看,什么东西都清清楚楚。解决这个问题的方法之一,就是你不太明白的混淆化(obfuscte)。 对于我们的项目,我们再加上了第二层就是C++对二进制 ...
原帖由 key 于 17-10-2010 22:37 发表 登录/注册后可看大图 1. 什么叫做“完成度很低”? 2. 按你的说法,我是否可以理解:只要一个加密算法的加密程序不公开,则被加密系统永远安全? 3. 如果 2 的回答为true,我再想请教,为什么这么多年来,数据加密还需要这么多研究?
查看全部评分
原帖由 key 于 17-10-2010 21:37 发表 登录/注册后可看大图 由于木头同学提到小弟的名字,礼貌上回一贴。 主要是请教几个问题: 1. 什么叫做“完成度很低”? 2. 按你的说法,我是否可以理解:只要一个加密算法的加密程序不公开,则被加密系统永远安全? 3. 如果 2 ...
代码混淆,是将计算机程序的代码转换成一种功能上等价,但是难于阅读和理解的形式的行为。代码混淆可以用于程序源代码,也可以用于程序编译而成的中间代码。执行代码混淆的程序被称作代码混淆器。目前已经存在许多种功能各异的代码混淆器。 代码混淆的主要目的是为了保护源代码,阻止反向工程。反向工程会带来许多问题,诸如知识产权泄露,程序弱点暴露易受攻击等。使用即时编译技术的语言,如Java、C#所编写的程序更容易受到反向工程的威胁。 代码混淆的主要的方法有: 将代码中的各种元素,如变量,函数,类的名字改写成无意义的名字。比如改写成单个字母,或是简短的无意义字母组合,甚至改写成“__”这样的符号,使得阅读的人无法根据名字猜测其用途。 重写代码中的部分逻辑,将其变成功能上等价但是更难理解的形式。比如将for循环改写成while循环,将循环改写成递归,精简中间变量,等等。 打乱代码的格式。比如删除空格,将多行代码挤到一行中,或者将一行代码断成多行等等。 代码混淆器也会带来一些问题。主要的问题包括: 被混淆的代码难于理解,因此调试除错也变得困难起来。开发人员通常需要保留原始的未混淆的代码用于调试。 对于支持反射的语言,代码混淆有可能与反射发生冲突。 代码混淆并不能真正阻止反向工程,只能增大其难度。因此,对于对安全性要求很高的场合,仅仅使用代码混淆并不能保证源代码的安全。
原帖由 coredump 于 18-10-2010 10:44 发表 登录/注册后可看大图 被混淆的代码难于理解,因此调试除错也变得困难起来。开发人员通常需要保留原始的未混淆的代码用于调试。 对于支持反射的语言,代码混淆有可能与反射发生冲突。
原帖由 coredump 于 18-10-2010 10:44 发表 登录/注册后可看大图 比如代码: if RSAVerify(MD5(Key), MD5(Code), e, n) then ShowMessage('注册成功!') else ShowMessage('注册失败!');如果改成 if not RSAVerify(MD5(Key), MD5(Code), e, n) then ...
原帖由 woodheadz 于 11-10-2010 15:37 发表 登录/注册后可看大图 当时有个工具好像叫“Ice”啥的,就是干这个事,把内存里面的程序抓到盘上来做破解
原帖由 key 于 18-10-2010 11:12 发表 登录/注册后可看大图 http://mobile.dzone.com/print/28411 这是Android环境下的一些防盗版的方案,老core不妨参考一下, 或者对于 N 记的开发有一定参考价值。不过 N 记是基于 C++ 的, 这方面有天生的优势。
原帖由 coredump 于 18-10-2010 13:05 发表 登录/注册后可看大图 这些还不就是木头说的那些嘛
原帖由 key 于 18-10-2010 14:11 发表 登录/注册后可看大图 至于改写加密算法,我就不抬扛了。
原帖由 ericvan76 于 18-10-2010 15:34 发表 登录/注册后可看大图 楼上和楼上的楼上也别抬杠了,破解软件大都不是从算法和密钥下手的,非对称加密本身没有问题,这只是一种基于密钥的加密技术,和基于算法的加密技术(好比说你自己写一个算法,永远不公开),从效果上来说并没什么本 ...
原帖由 woodheadz 于 18-10-2010 10:28 发表 登录/注册后可看大图 而我们使用现在的做法后,破解者基本得到加密key也无法重新制作出新的授权key来(要是他能根据解密程序的二进制代码推写出加密的算法,那么我只有对他磕头了)
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|Archiver|FreeOZ论坛
GMT+10, 30-7-2026 03:33 , Processed in 0.069431 second(s), 45 queries , Gzip On, Redis On.
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.