1、 有矛就有盾 , 有盾就有矛 , 有矛、有盾 , 才促进矛、盾质量水平的提高。加密只讲盾 , 也希望网友提供更新的加密思路。现先讲一个软件加密 : 利用 MCS-51 中 A5 指令加密 ,( 本人 85 年发现的 , 名软件陷阱 ), 其实世界上所有资料 , 包括英文资料都没有讲这条指令 , 其实这是很好的加密指令。 A5 功能是二字节空操作指令。加密方法在 A5 后加一个二字节或三字节操作码 , 因为所有反汇编软件都不会反汇编 A5 指令 , 造成正常程序反汇编乱套 , 执行程序无问题。仿制者就不能改变你的源程序 , 你应在程序区写上你的大名、单位、开发时间及仿制必究的说法 , 以备获得法
2、律保护。我曾抓到过一位“获省优产品”仿制者 , 我说你们为什么把我的名字也写到你的产品中 ? 硬件加密 :8031/8052 单片机就是 8031/8052 掩模产品中的不合格产品 , 内部有 ROM( 本人 85 年发现的 ), 可以把 8031/8052 当 8751/8752 来用 , 再扩展外部程序器 , 然后调用 8031 内部子程序。当然你所选的同批 8031 芯片的首地址及所需用的中断入口均应转到外部程序区。(2) 单片机加密方法 :各位 , 我在这里公开场合讲加密 , 有的只能讲思路 , 有的要去实验 , 要联想 , 要综合应用各种方法 , 甚至有的不能言传 , 只能意会。因为
3、这里有的造矛者也在看我们如何造盾 , 当然 , 我们也要去看人家怎样造矛 , 目前国内、外最高造矛的水平怎样。“知已知彼 , 才能百战百胜”。硬件加密 : 使他人不能读你的程序 用高电压或激光烧断某条引脚 , 使其读不到内部程序 , 用高电压会造成一些器件损坏。 重要 RAM 数据采用电池 ( 大电容 , 街机采用的办法 ) 保护 , 拔出芯片数据失去。机器不能起动 , 或能初始化 , 但不能运行。用真真假假方法加密 :擦除芯片标识。把 8X52 单片机 , 标成 8X51 单片机 , 并用到后 128B 的 RAM 等方法 , 把 AT90S8252 当 AT89C52, 初始化后程序段中并
4、用到 EEPROM 内容 , 你再去联想吧 !用激光 ( 或丝印 ) 打上其它标识。如有的单片机引脚兼容 , 有的又不是同一种单片机 , 可张冠李戴 , 只能意会了 , 这要求你知识面广一点。 用最新出厂编号的单片机 , 如 2000 年后的 AT89C 就难解密 , 或新的单片机品种 , 如 AVR 单片机。DIP 封装改成 PLCC,TQFP,SOIC,BGA 等封装。如果量大可以做定制 ASIC, 或软封装。用不需外晶振的单片机工作 ( 如 AVR 单片机中的 AT90S1200) 。使用更复杂的单片机 FPGA+AVR+SRAM=AT40K 系列。(3) 单片机加密方法 :硬件加密与软
5、件加密只是为叙说方便而分开来讲 , 其实它们是分不开的 , 互相支撑 , 互相依存的。软件加密 : 其目的是不让人读懂你的程序 , 不能修改程序 , 你可以 . 利用单片机未公开 , 未被利用的标志位或单元 , 作为软件标志位 , 如 8031/8051 有一个用户标志位 ,PSW.1 位 , 是可以利用的。程序入口地址不要用整地址 , 如 :XX00H,XXX0H, 可用整地址 -1, 或 -2, 而 用“真真假假 , 假假真真” , 把几种不同品种的单片机放在同一设备中 , 如主芯片用 AVR( 说是 MCS51), 键盘显示用 AT89C2051( 说是 GAL),I/O 口扩展驱动用 PIC( 说是 AT90S1200) 等 , 当然要求你知识面广一点。如果你用高级语言 C 编写程序就简单了 , 因为 C 语言程序移植方便。有些国家的产品能做到三年保修 , 三年保不坏 , 三年后保坏 , 或三年后保有故障 , 可能用什么技术 ? 你去想吧。例 : 每次开机或关机 ,EEPROM 某单元加 1, 也可二个、三个单元连接起来计数 , 达到某值停止工作。硬件用软件代替 , 软件用硬件代替。用大规模 CPLD 可编程器件。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1