起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: 枣庄矿务局

【搞定】有关导入第三方组件的问题

[复制链接]
发表于 2004-5-11 14:47:16 | 显示全部楼层
方法一:从网上下载一个反编译dcu的工具,可以得到源代码(一般得到的源代码不能直接用,但是可以用来知道有哪些公用函数,这样就可以按照faq中的做法,为他写源代码了)
回复 支持 反对

使用道具 举报

发表于 2004-5-11 14:52:00 | 显示全部楼层
方法二:在Delphi中,在引用这个dcu文件的文件的任何方法(函数过程都可以)中,写单元名打点,利用delphi的code insight功能来看到这个单元中定义了什么东西。
比如:在你发过来的文件中,主要定义了两个过程
KEYPRO 和 EEWriteDelay
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-5-11 17:32:02 | 显示全部楼层
谢谢指点,让我先试一试,如果不行,可能还得麻烦您啊?
回复 支持 反对

使用道具 举报

发表于 2004-5-11 17:53:24 | 显示全部楼层
我找的一个反编译工具,不好用,但是可以参考的!太大了,上传不上来,你先在网上找吧,如果找不到,我们在想办法。

强烈推荐第一种方法。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-5-11 20:30:22 | 显示全部楼层
我找到了一个Dede文件,是专门针对dcu文件使用的,挺好用的,也不太大,如果需要的话,我发给你一份。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-5-11 21:54:01 | 显示全部楼层
我将KeyproU文件解密,虽然能显示出几个函数声明,但不知道怎样把过程声明写成pas 文件啊,不会是简单写几个函数声明吧?请各位高手指点。

解密后文件.rar

5.93 KB, 下载次数: 6

回复 支持 反对

使用道具 举报

发表于 2004-5-12 08:41:08 | 显示全部楼层
首先,在TKeypro1.pas中,注释掉uses中的KeyproU单元

1.jpg

26.89 KB, 下载次数: 212

回复 支持 反对

使用道具 举报

发表于 2004-5-12 08:43:10 | 显示全部楼层
编译这个单元,出现如下的错误提示,这样就可以找到在这个单元TKeypro1.pas中,调用了KeyproU的什么对象、函数、类型等

2.jpg

64.48 KB, 下载次数: 205

回复 支持 反对

使用道具 举报

发表于 2004-5-12 08:45:55 | 显示全部楼层
重新去掉第一步对KeyproU引用的注释

3.jpg

16.03 KB, 下载次数: 210

回复 支持 反对

使用道具 举报

发表于 2004-5-12 08:48:51 | 显示全部楼层
通过Delphi的code insight功能来查看类型信息,于是得到
KEYPRODATA=record
    ReturnFlag: Word;
    FunctionCode: Word;
    MemAddress: Word;
    Password0: Word;
    Password1: Word;
    MemContent: Word;
    Lock0: Word;
    Lock1: Word;
    Reserved: array[0..31] of Word;
end;

4.jpg

21.79 KB, 下载次数: 211

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-5-4 05:40 , Processed in 0.050580 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表