增强Delphi程序安全性的几个想法,提高反破解能力

原创 2004年08月25日 00:07:00

         “破解”在今天已经大行其道,作为开发者用得较多的Delphi,由于有其实现的特殊性,破解方式与MFC大不相同,但是在DEDE出现以后,Delphi程序的破解就变得容易起来. 结合本人在开发与破解中的经验, 将几个提高反破解能力的想法提供出来,请大家指正.

1.不要使用明码比较.

如果在程序中使用类似如下代码:

if edt_SerialNo.Text = '1234567' then ...

else ShowMessage(”Serial No Error!”);

直接使用反汇编工具就可以看到注册码(序列号)了. 所以不能使用明码, 一定要是经过一系列计算.

2.针对DEDE寻找过程/函数入口的功能, 对要发布的程序做"混淆"---将BtnRegister名字修改为cmp_20040101, 这个没有任何意义的名字, 并适当在画面中多增加几个相似的控件.

3.针对DEDE对bpl包中函数地址的参考, 对于关键性程序, 如: 控制注册的程序(在Delphi做得最多的分布式数据库管理系统中常常是一台机器管理注册). 不要使用包含运行期包的方式. 而且可以将这部分VCL源码另存到项目目录下, 适当做一些修改(调整参考地址及调用代码).

4.判断密码可以多Call几个函数, 尤其是字符串作为参数. Delphi对字符串的处理与C/C++不同, 在栈中只保留一个地址指针, 全局字符串与局部方法不同, 而且每多CALL一层函数/过程, 指针就多指一层. 无他, 增加动态调试的复杂度而已.

5.如果是服务端程序(分布式数据库管理系统注册部分), 尽量做成系统服务. 并限制在98下使用(98下破解较容易), 注册不正确时, 服务端不报错, 而是不提供客户端服务.

如何提高程序的健壮性,增加判断。

如果后台在返回的时候少了一个属性?前端会不会报错,这是我们前端开发一定会遇到的问题。那么如何的提高程序的健壮性呢。 关于这个问题,我们可以在实例化这个对象的时候进行判读来增加程序的健壮性。下面是一个...
  • qq_29678299
  • qq_29678299
  • 2016年04月02日 19:45
  • 921

克服过拟合和提高泛化能力的20条技巧和诀窍

 克服过拟合和提高泛化能力的20条技巧和诀窍 你是如何提升深度学习模型的效果? 这是我经常被问到的一个问题。 有时候也会换一种问法: 我该如何提高模型的准确率呢? ……或者反过...
  • starzhou
  • starzhou
  • 2016年10月08日 10:25
  • 4851

单片机IO引脚驱动能力的提高

早期的51单片机,驱动能力很低。P1、P2和P3口只能驱动3个LSTTL输入端,P0口可驱动8个。如果想要驱动更多的器件,就要用到“总线驱动芯片”。经常用的就是74LS244(单向)和74LS245(...
  • baidu_33836580
  • baidu_33836580
  • 2016年01月25日 11:44
  • 1412

如何提升你的能力?给年轻程序猿的几条建议

一转眼工作已有8年,前两天公司一位初入职场的同事希望我给一些建议与经验。我觉得这个话题很有价值,这里以个人的想法与经历写成此文,希望给年轻的开发者们一些启发。 我工作过的公司有4家,...
  • DSLZTX
  • DSLZTX
  • 2015年06月23日 11:54
  • 1842

php大型网站如何提高性能和并发访问

 一、大型网站性能提高策略:     大型网站,比如门户网站,在面对大量用户访问、高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器、高性能的数据库、高效率的编程语言、还...
  • u011690564
  • u011690564
  • 2017年02月06日 10:36
  • 577

提高系统安全性方法详解

软件可靠性(softwarereliability)是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。规定的条件是指直接与软件运行相关的使用该软件的计算机系统的状态和软件的输入条件,或统称为...
  • zyj66666
  • zyj66666
  • 2017年06月30日 15:05
  • 1019

脱不花:关于时间管理的几个想法

脱不花:关于时间管理的几个想法
  • czg13548930186
  • czg13548930186
  • 2017年05月20日 14:22
  • 586

如何提高编程能力

最近最近在网上看到一学生在网上提出一问题,以及相关回复,对我自己的编码能力进行了反思:什么才算是真正的编程能力。      引入知乎的原文:http://www.zhihu.com/question...
  • yaliu_hello
  • yaliu_hello
  • 2015年07月05日 23:20
  • 1506

快速提高编程能力---一年时间可以改变很多事

先说明一下,这篇文章写给那些本身是计算机专业但是由于前几年没有学习,到了大三、大四迷茫困惑不知道如何下手去学的同学,还有一些想学编程但是面对巨多的语言和技术不知道从何下手的新手朋友。假如你是我所说的这...
  • Bryan__
  • Bryan__
  • 2014年11月29日 16:06
  • 3435

实现与提高算法设计能力的一般方法

实现与提高算法设计能力的一般方法
  • doooooooollly
  • doooooooollly
  • 2016年03月21日 10:13
  • 1245
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:增强Delphi程序安全性的几个想法,提高反破解能力
举报原因:
原因补充:

(最多只允许输入30个字)