tobat
27516
|
2006/12/26 18:33:59 |
试过才有发言权,下载试了再说。毕竟反编译、修改资源的软件太多,难防! |
vsoft
24586
|
2006/6/26 20:24:37 |
这工具如何使用?麻子兄能否介绍下~~~ |
regspy
22319
|
2006/3/23 21:47:11 |
学习过了。
其实UPX和用CRC MD5都不能解决界面修改的问题。只是增加难度。 |
nn2nn
21352
|
2006/2/4 20:53:27 |
通常情况下, 用Delphi开发的程序, dfm是作为资源嵌入可执行文件的, 这就或多或少地带来了一些安全方面的问题. 比如, 通过分析资源, 就能大致了解Form上用了哪些控件; 甚至, 通过修改资源, 就可以达到修改程序界面的目的..
从dfm资源中 还可以看到调用函数,DMF暴露太多了! |
nn2nn
21351
|
2006/2/4 20:43:46 |
liumazi 2: 非常支持,动态还原组件的资料太少了!!! 我们也不能简单地(拿来主义)依靠加壳软件来保护我们的程序, 如果有高手翻译UPX从c 到 delphi 那就万分感谢了!! kinneng:要对抗界面修改来个文件 MD5 等 HASH 就可以了. |
kinneng
21325
|
2006/2/2 0:09:42 |
这点,我的想法与你相反, 要对抗界面修改,还可以截取界面关键部分的象素,进行校验和计算,一旦被改,即时格式化硬盘没有商量。 |
liumazi
21204
|
2006/1/22 23:23:51 |
呵呵, 就是因为经常有人将我们的程序(EXE)改了界面, 所以我才这样搞的.... :) |
kinneng
21153
|
2006/1/21 0:27:45 |
补充,IDE是代码级别的还原,与运行过程的动态还原是两回事,但是IDE也会出错的时候,例如打开程序,改写了某个控件的代码,然后保存程序,下次再打开就可能报错,打开dfm发现里面有乱码,删除乱码则通过。 |
kinneng
21152
|
2006/1/21 0:18:38 |
这种用法,没有什么价值,因为界面没有什么保密价值,但如果按这个方法将Dfm放在数据库里面,这就可以随时换界面,甚至让用户改界面,如果你程序可以让用户自己排版,这不是更好。 抱着这种理想,我在前几年曾经试验过,Delphi保存界面的函数很好,但还原界面的函数,特别是有些控件,写的不好,就不能还原,执行还原的时候通常用执行 :=来为控件赋原值,这个相当于执行类似.Assign(Source: TPersistent)过程,一般执行(Source).AssignedValues之类代码,但很多属性没有Assign,所以还原出来的界面,跟保存的可以从没有到巨大的差别。 还有还原的次序,有些次序是不能搞错的,比如数据集没有还原,数据控件先被还原了,这样数据控件可能连不上数据集控件,总之问题多多,要写大量的代码进行干预,才能不出问题,结果理想变成幻想,幻想就不想了。 |
liumazi
21002
|
2006/1/17 9:21:31 |
补充说明: 这只是个简单示例,还不够通用,还不够方便,有待改进.. :) |
liumazi
21000
|
2006/1/17 9:15:50 |
to caiwr: 不能只依靠加壳软件来保护我们的程序吧 to riverqh: 呵呵,您说的很对嘛 to yaoyl: 呵呵,同学同学.. to luckyso999: 其实可以这样的,开发阶段,象平时一样RAD;要发布时,才将dfm转成字符串定义,并且注释掉{*.dfm},即可.. |
luckyso999
20915
|
2006/1/13 11:22:35 |
有点不太习惯~! |
riverqh
20893
|
2006/1/12 18:11:04 |
哇,回头看才知道原来是大名鼎鼎的刘先生,失礼了:) |
yaoyl
20871
|
2006/1/11 23:07:10 |
向刘麻子学习! |
riverqh
20870
|
2006/1/11 22:26:01 |
Aspack/UPX/PE Compact这些可执行文件压缩是把你的可执行程序压缩,然后在前面加一段解压缩的头,当然必要的某些图标资源会保留,运行时是在内存解压缩出来然后再调用;楼主这个,楼主也解释很清楚,这个方法不错嘛,至少加强了Delphi编译出来的EXE的安全性,呵呵,PB好像也有类似的弊端 |
caiwr
20869
|
2006/1/11 21:51:52 |
编译出来的exe文件用aspack压缩,效果应该一样吧? |