运行期包(bpl)怎样制作和调用?

yygang 2004-06-30 10:13:33
很多书上说跟DLL一样,网上这类资料又少,请各位高手指教!
...全文
217 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
billfranck 2004-07-05
  • 打赏
  • 举报
回复
关注中
yygang 2004-07-05
  • 打赏
  • 举报
回复
现在还没有找到好的方法,再顶。
redcony 2004-07-02
  • 打赏
  • 举报
回复
难呀,看你用什么方法实现了,做成Com不就可以了
------------ 不要在 DLL 中导出类,否则你迟早会被它拖垮的!
接口或者过程(函数)是当前 DLL 唯一能正确处理的东西。

需要RegisterClass和RegisterComponentsProc
redcony 2004-06-30
  • 打赏
  • 举报
回复
用LoadPackage,其他的和DLL一样
yygang 2004-06-30
  • 打赏
  • 举报
回复
To 98034130(想你的双鱼):
谢谢你的回复,你说的静态的设计期的包,我要的是动态的运行期的包,像DLL一样动态调用,不用安装。
98034130 2004-06-30
  • 打赏
  • 举报
回复
如果是制定带窗口的控件,还需加入一个Frame
98034130 2004-06-30
  • 打赏
  • 举报
回复
使用:
Componet->Install Package
然后选择Add按钮,选择你做好的bpl,就可以将自定义控件安装到你当初指定的控件栏位,就可以使用了
98034130 2004-06-30
  • 打赏
  • 举报
回复
1.New一个Package,保存。比如保存为dclusr_user.bpk
2.在此基础上New一个Component,选择继承的类型,设定名字,控件所在的栏位,保存的路径等,这里路径最好是选择跟1里面保存的package在一起。
3.Build这个Package,然后在Cbuilder6\Project\下面有两个文件夹,一个是bpl,一个是Lib。
你说的bpl应该就在bpl文件夹里面。
yygang 2004-06-30
  • 打赏
  • 举报
回复
难道没有人知道?
yygang 2004-06-30
  • 打赏
  • 举报
回复
顶,高手们,请进言。
SCUM 2004-06-30
  • 打赏
  • 举报
回复


bpl 也不行..
yygang 2004-06-30
  • 打赏
  • 举报
回复
To redcony():
我是要从bpl中动态的导出类,dll好像不行,所以就用bpl。
constantine 2004-06-30
  • 打赏
  • 举报
回复
目录 1 概述 1.1 简介 1.2 主页 1.3 安装 1.4 运行 1.4.1 运行脚本 1.4.2 运行字节码文件 1.5 关于 1.6 历史 1.7 联系方式 2 OllyMachine体系 2.1 核心 2.1.1 寻址空间 2.1.2 寄存器 2.1.3 标志位 2.2 工作流程 2.3 编译期错误 2.4 运行期异常 3 OllyMachine汇编语言 3.1 基本元素 3.1.1 指令 3.1.1.1 操作码 3.1.1.2 操作数 寄存器 标识符 整数常数 3.1.2 注释 3.2 标号 3.3 数据传送指令 3.3.1 MOV 3.3.2 XCHG 3.3.3 LDS 3.3.4 PUSH 3.3.5 POP 3.4 算术指令 3.4.1 加法指令 3.4.1.1 ADD 3.4.1.2 INC 3.4.2 减法指令 3.4.2.1 SUB 3.4.2.2 DEC 3.4.2.3 CMP 3.4.3 乘法指令 3.4.3.1 MUL 3.4.4 除法指令 3.4.4.1 MUL 3.5 逻辑指令 3.5.1 逻辑运算指令 3.5.1.1 AND 3.5.1.2 OR 3.5.1.3 NOT 3.5.1.4 XOR 3.5.2 移位指令 3.5.2.1 SHL 3.5.2.2 SHR 3.6 控制转移指令 3.6.1 无条件转移指令 3.6.1.1 JMP 3.6.2 条件转移指令 3.6.2.1 JE 3.6.2.2 JNE 3.6.2.3 JB 3.6.2.4 JNAE 3.6.2.5 JNB 3.6.2.6 JAE 3.6.2.7 JBE 3.6.2.8 JNA 3.6.2.9 JNBE 3.6.2.10 JA 3.7 其他指令 3.7.1 INCLUDE 3.7.2 NOP 3.7.3 PAUSE 3.7.4 HALT 3.7.5 INVOKE 4 OllyMachine API 4.1 Hello World! 4.2 调用方式 4.3 更简便的调用方式 4.4 返回值 4.5 基本输入输出API 4.5.1 MSG 4.5.2 MSGYN 4.5.3 PrintNum 4.5.4 PrintBuf 4.5.5 PrintBufToDump 4.5.6 PrintBufToNewDump 4.5.7 UpdateDumpBuf 4.5.8 InputText 4.5.9 InputHexLong 4.6 内存操作API 4.6.1 ReadMemLong 4.6.2 WriteMemLong 4.6.3 WriteMemHexes 4.6.4 ReadFileIntoMem 4.6.5 DumpMem 4.6.6 DumpMemAppend 4.6.7 DumpAsPE 4.7 搜索和替换API 4.7.1 FindOpcode 4.7.2 Find 4.7.3 ReverseFind 4.7.4 Search 4.7.5 ReverseSearch 4.7.6 GetPrevOpAddr 4.7.7 GetNextOpAddr 4.7.8 GetProcAddress 4.7.9 Fill 4.7.10 ReplaceBytes 4.7.11 ReplaceBytesEx 4.7.12 CopyBytesTo 4.8 汇编API 4.8.1 ASM 4.8.2 __asm 4.8.3 Analyse 4.9 运行API 4.9.1 RunToReturn 4.9.2 RunToUserCode 4.9.3 Run 4.9.4 AnimateInto 4.9.5 AnimateOver 4.9.6 StepInto 4.9.7 StepIntoS 4.9.8 StepOver 4.9.9 StepOverS 4.9.10 ESTI 4.9.11 ESTO 4.9.12 GO 4.10 Trace API 4.10.1 TraceInto 4.10.2 TraceOver 4.10.3 TraceIntoCond 4.10.4 TraceOverCond 4.11 断点API 4.11.1 BP 4.11.2 BC 4.11.3 BPCND 4.11.4 BPL 4.11.5 BPLCND 4.11.6 BPRM 4.11.7 BPWM 4.11.8 BPMC 4.11.9 BPHWS 4.11.10 BPHWC 4.11.11 EOB 4.11.12 EOBINT3 4.11.13 EOBHW 4.11.14 EOBMEM 4.11.15 EOE 4.11.16 COB 4.11.17 COE 4.12 模块API 4.12.1 GMI 4.13 注释与标号API 4.13.1 Comment 4.13.2 SetLbl 4.14 日志API 4.14.1 LogText 4.14.2 LogLong 4.15 反反调试API 4.15.1 HideOD 4.15.2 UnHideOD 4.16 缓冲区API 4.16.1 malloc 4.16.2 free 4.16.3 VirtualAllocEx 4.16.4 VirtualFreeEx 4.16.5 strcpy 4.16.6 strcat 4.16.7 strlen 4.16.8 ltoa 4.16.9 memcpy 4.17 辅助调试API 4.17.1 FindProcBegin 4.17.2 FindProcEnd 4.17.3 FindPrevProc 4.17.4 FindNextProc 4.17.5 FollowCall 4.18 杂项API 4.18.1 IsWinNTKernel 4.18.2 GotoCpuAddr 4.18.3 GotoDumpAddr [首页, 上一页, 下一页; 目录 ]
ABFrameWork是一种快速开发软件的框架 框架的概念很简单,它是整个软件开发的骨架,它实现了数据访问的底层服务和业务领域通用的功能模块。如用户管理、权限分配、数据访问、二次开发、多语切换、自动更新等。 使用框架开发可以大大缩短开发软件的周期、提高代码质量。此种模式下可最大化的并行开发、最大化的利用资源,从而降低成本、提高效率。 在实际开发中,开发团队可以在实现了底层服务与通用功能的框架上开始具体的系统开发,对要设计的业务进行分工,编码后将业务模块注册到框架系统中进行调试和运行。形象一点来说,就像盖高楼,当一个新项目开始设计和施工时,经过多次考验的大楼框架已经矗立在那里,我们要做的事就是分工做好每个内部房间,然后吊装到大楼内部就可以了,如下图所示。 clip0001 (2)、ABFrameWork是基于组件技术的快速开发工具 框架是面向开发团队的快速开发工具,框架提供了大量的组件和函数库,开发团队可直接使用已有的组件和函数库,大大减少了代码量,并提高了代码速度和质量,甚至可在运行期通过脚本开发新的模块或通过脚本对已有模块进行重定义。在实践中,利用本框架设计的软件开发周期缩短约70%以上,框架在程序稳定性和团队协作方面带来的价值更高。 (3)、ABFrameWork是企业业务可持续开发的平台架构 经过简单培训的系统管理员可以根据业务的变化自由增加或修改模块,经过SQL数据库操作培训的系统管理员可以增加修改报表、查询、图形分析等多项功能,具备DELPHI开发能力的企业人员可以根据需求的增加去设计新的模块并且可无缝添加到已有系统中。 (4)、ABFrameWork是快速方便的系统升级分发工具 由于框架本身具备模块分发功能,因此当有模块升级或新模块加入系统时,系统会自动将模块分发到具有操作权限的用户所使用的计算机当中。可以进行热拨插式的升级,即在不关闭客户端的情况下单独对业务模块升级。 二、ABFrameWork的特色 (1)、支持C/S的两层与三层方式且可运行时动态切换 一个本地参数决定当前架构是三层还是两层,对开发人员来说两层与三层都是使用同一组控件和组件,开发人员在设计期不用考虑两层或三层架构,两层还是三层只是在运行时通过一个本地参数设置来决定的,可实现A客户端(如企业内部)使用二层,B客户端使用三层(外网访问)。 (2)、脚本的完美支持 可通过脚本编辑已有功能模块的界面控件任何事件,也可通过脚本开发新的功能模块,最大程度地使二次开发更加灵活,更加简单。 (3)、解决简繁体与多语言的问题且可运行时动态切换 在简体下编译的程序不用任何修改,就可以在繁体下运行且显示繁体,反之也然,可动态增加、删除或切换语言。 (4)、先进的EXE+BPL分发架构 框架采用EXE +BPL架构,一个功能模块是一个BPL,由主EXE调用,方便发布更新,同时也减少了主程序的体积,功能划分更加清晰,主程序只负责调用BPL或其它程序,增强模块独立性, 框架不涉及具体的业务逻辑,但为所有业务系统服务,实现公共业务功能的部分,如角色管理,操作员管理等。 (5)、先进的自动更新机制 客户端只是一个几M的exe程序,客户端登录运行时会自动将模块分发到具有操作权限的用户所使用的计算机当中。当某一功能模块有更新时,只需将此模块拷贝到任何一台客户端,点击客户端的“上传本地程序”按钮,客户端就会将新的本地程序升级到服务器中,其它客户端在重启或重新打开这个模块时就会先从服务器下载新版本后再运行,从而实现了热拨插式的升级方式,即在不关闭客户端程序的情况下单独对业务模块升级,而这些对客户来说是无感觉的,客户没有感觉到升级,但用的却是最新版本的程序,这样我们就可以一边修正一边编译一边运行,而不用重启动客户端。 (6)、方便灵活的角色控制 .可对操作员分配可用的角色 .可对角色分配各种权限 如一个操作员可分配多种角色,此操作员登录时就可以使用所拥有的多种角色的权限了 权限分类如下所列 v功能模块权限(登录后可以看到哪些模块),如张三、李四登录后能看到客户管理模块,而王五登录后不能看到客户管理模块 v功能模块报表权限(模块的哪些报表可以使用),如张三、李四登录后能看到客户管理模块,但张三能看到客户列表报表,而李四看不到 v功能模块输入模板权限(模块的哪些输入模板可以使用),如张三、李四登录后能看到客户管理模块,但张三能看到大客户输入模板,而李四看不到 v功能模块脚本权限(模块的哪些脚本可以使用,脚本中可灵活设置界面控件的是否显示等属性),如张三、李四登录后能看到客户管理模块,但张三看到的是执行过某个脚本后的窗体,而李四看到的是没执行过脚本的窗体 v扩展报表权限(哪些扩展报表可以使用),如张三、李四登录后能看到交易分析的扩展报表,但王五看不到 v定制对象权限(哪些定制对象可以使用,如可将界面上一组按钮定义为一个功能点,则具有此功能点用户可以看到这组按钮),如张三分配了功能点权限A,则张三登录时可以看到客户管理中的属于功能点权限A的一组按钮,而李四没有分配,则本四登录时就看不到这一组按钮了 v数据表权限(哪些数据表可以新增、修改、删除、打印,可以看到数据表的哪些行),如登录相同的客户管理模块,张三能增加、删除、修改客户的数据,而李四只能查询客户的数据;如登录相同的客户管理模块,张三能看到部门A的数据,而李四能看到部门B的数据 v字段权限(可以看到数据表的哪些字段),如张三能看到客户管理模块的保证金字段,而李四看不到此字段 (7)、完美支持数据库中设置的唯一约束、主键等特性 数据集组件会自动解解释表的约束主键,字段的唯一值等特性,在提交数据时数据集组件会自动检测这些设置,当提交失败时会自动翻译为”某某字段不能为空”, ”某某字段不能重复杂”等提示信息,同时框架也支持自定义不能为空\只读\不能重复的字段及颜色等设置. (8)、多人协同工作提高开发速度、缩短开发周期 组成系统的BPL模块可并行开发测试,互不关联,框架还提供大量函数库,尽可能的增强代码重用,从而加快开发效率、减少开发人员、降低维护费用,进而提高软件生产效率和质量,如一个类似销售订单的复杂模块可控制在500行,甚至一个工资系统的代码量不会超过5000行,有利于在一个项目内多人协同工作,在实践中,利用本框架设计的代码开发周期缩短约70%甚至更短,在程序稳定性和团队协作方面带来的价值更高。 (9)、高效的数据库访问机制、高性能的数据库交互 框架自动解释各种数据操作的动作,框架内置的SQL解析器自动生成相应的新增、删除、修改的SQL语句,提高与数据库交互的效率。 (10)、框架的发展支持 本框架是一个轻量级的应用框架,已有众多实例上线使用,还在继续更新完善中,目前只能支持C/S结构两层或三层应用。暂不支持B/S架构。
对于希望自己软件加密的,绝对值得你研究,我自己就从书中代码获益颇多,给自己的商业软件加密了。共分为五个文件,希望对你有帮助。本人缺分,也希望多些人下载,(*^__^*) 嘻嘻…… 光盘目录说明 {第1章 基础知识} chap01\Regedit...................注册表读写示例 \IniFile...................Ini文件读写示例 \CustomFile................自定义文件读写示例 \CreateDLL.................DLL的创建示例 \YSCall....................DLL的隐式调用 \XSCall....................DLL的显式调用 \CreateComponent...........的示例 \FindWindow................防止多个实例运行(查找窗口法) \Mutex.....................防止多个实例运行(互斥对象) \ATom......................防止多个实例运行(全局原子) \OnceRun(File).............防止多个实例运行(文件保存标志法) \BASM-Source...............Delphi中嵌入汇编例子 \BASM-Class................BASM中访问Delphi对象 \BASM-JMP..................BASM的跳转示例 \BASM-DB、DD、DW...........BASM中的汇编指令 \BASM-Call.................BASM中调用Delphi中的函数和过程 \BASM-CallApi..............BASM中调用API函数 \BASM-Var..................BASM访问函数或过程的参数 \BASM-Asm..................Delphi中的全汇编例程 {第2章 加密算法} chap02\CRC32-Dym.................CRC32算法动态码表实现 \CRC32-Static..............CRC32算法静态码表实现 \MD5.......................MD5算法示例 \SHA.......................SHA算法示例 \DES.......................DES算法示例 \2DES......................双重DES算法示例 \3DES......................两个密钥的三重DES算法示例 \3DES3.....................三个密钥的三重DES算法示例 \Blowfish..................BlowFish算法示例 \AES.......................AES算法示例 \RSA.......................RSA算法示例 \BASE64....................BASE64算法示例 {第3章 软件试用期} chap03\TrialTime(Reg)............软件试用次数(信息写入注册表) \TrialTime(Ini)............软件试用次数(信息写入Ini文件) \TrialDate(Reg)............软件试用天数(信息写入注册表) \TrialDate(Ini)............软件试用天数(信息写入Ini文件) \LastDate(Reg).............软件最后试用日期(信息写入注册表) \LastDate(Ini).............软件最后试用日期(信息写入Ini文件) \RunTime-Timer.............限制软件启动后的执行时间(Timer控件) \RunTime-APi...............限制软件启动后的执行时间(API) \Nag.......................实现Nag窗口的第一种方法 \Nag-Time..................实现Nag窗口的第二种方法 \Time-ing..................时间段限制的第一种方法 \Time-run..................时间段限制的第二种方法 {第4章 反跟踪技术} chap04\Anti-SoftICE..............Anti-SoftICE示例 ├──BackDoor...........SoftICE后门指令 ├──Service............判断NTICE服务是否运行 ├──UEF................利用UnhandledExceptionFilter检测; └──INT41..............INT 41子类型; \Anti-Loader...............Anti-Loader示例 ├──PEB................利用TEB检测 ├──FindWindow.........查找句柄检测 ├──IsDebuggerPresent..利用IsDebuggerPresent检测 ├──Parent.............检查父进程 └──STARTUPINFO........检查STARTUPINFO结构 \Anti-Monitor..............Anti-Monitor示例 ├──FindWindow.........通过查找窗口标题栏 └──Process............通过查找进程 \Anti-Static...............反静态分析示例 ├──Example1...........一般程序示例 ├──Example2...........插入花指令示例 └──Example3...........12组花指令 \Anti-DeDe.................Anti-DeDe示例 ├──Find...............查找进程和窗口 └──Hide...............隐藏事件 \Anti-Unpacking............反脱壳示例 ├──FileSize...........用文件大小校验软件 └──FileCRC32..........校验文件完整性 \Message-Hide..............信息隐藏示例 ├──FileSelf...........把信息隐藏在程序本身 └──OtherFile..........信息隐藏于外部文件中 {第5章 注册认证和注册机} chap05\Algorithms................选用加密算法 ├──MD5Check...........Hash算法作为注册码验证算法 ├──DESCheck...........对称算法作为注册码验证算法 ├──MoreAlg............多种对称算法实现注册验证 └──RSACheck...........公开密钥算法作为注册码验证算法 \Check.....................验证模式 ├──CurrentCheck.......注册码直接验证示例 └──RebootCheck........注册码重启校验示例 \Serial....................硬盘系列号保护方式 ├──HDID...............获取硬盘系列号示例 ├──Check..............硬件系列号保护示例 └──KeyGen.............注册机制作示例 \UserName..................用户名保护方式 ├──Check..............用户名保护示例 └──KeyGen.............注册机制作示例 \SerilaAndName.............硬件系列号与用户名保护方式 ├──Check..............硬件系列号与用户名保护示例 └──KeyGen.............注册机制作示例 \Random....................随机注册码模式 ├──Check..............随及注册码保护示例 └──KeyGen.............注册机制作示例 \KeyFile...................KeyFile保护方式 ├──Check..............KeyFile保护示例 └──KeyGen.............注册机制作示例 \CallDllCheck..............用DLL实现注册认证 └──CallCheck..........用DLL实现注册认证的示例 \DLLProtect................DLL控件保护示例 ├──Delphi.............Delphi调用示例 └──VB.................VB调用示例 \BPLProtect................BPL控件保护示例 └──CallBPL............调用BPL控件示例 \Compelet..................一套完整的软件保护示例 ├──Check..............软件保护示例 └──KeyGen.............注册机制作示例 {第6章 网络验证} chap06\WebCheck..................WEB服务器验证 ├──Client.............客户端实现示例 └──LocalControl.......本地控制程序实现示例 \ServerCheck...............本地服务器验证 ├──Client.............客户端实现示例 └──Server.............服务器实现示例 \Update....................在线升级验证示例 {第7章 PE文件知识} chap07\DOS Header................获取DOS头部信息示例 \PE Header.................获取PE头部信息示例 \Optional Header...........获取可选头部信息示例 \Section Table.............获取区块表信息示例 \Import Table..............获取输入表信息示例 \Export Table..............获取输出表信息示例 {其它源码} ToolsTest\OllyDbg................OllyDbg调试例子 \DeDe...................DeDe反编译例子
光盘目录说明 {第1章 基础知识} chap01\Regedit...................注册表读写示例 \IniFile...................Ini文件读写示例 \CustomFile................自定义文件读写示例 \CreateDLL.................DLL的创建示例 \YSCall....................DLL的隐式调用 \XSCall....................DLL的显式调用 \CreateComponent...........的示例 \FindWindow................防止多个实例运行(查找窗口法) \Mutex.....................防止多个实例运行(互斥对象) \ATom......................防止多个实例运行(全局原子) \OnceRun(File).............防止多个实例运行(文件保存标志法) \BASM-Source...............Delphi中嵌入汇编例子 \BASM-Class................BASM中访问Delphi对象 \BASM-JMP..................BASM的跳转示例 \BASM-DB、DD、DW...........BASM中的汇编指令 \BASM-Call.................BASM中调用Delphi中的函数和过程 \BASM-CallApi..............BASM中调用API函数 \BASM-Var..................BASM访问函数或过程的参数 \BASM-Asm..................Delphi中的全汇编例程 {第2章 加密算法} chap02\CRC32-Dym.................CRC32算法动态码表实现 \CRC32-Static..............CRC32算法静态码表实现 \MD5.......................MD5算法示例 \SHA.......................SHA算法示例 \DES.......................DES算法示例 \2DES......................双重DES算法示例 \3DES......................两个密钥的三重DES算法示例 \3DES3.....................三个密钥的三重DES算法示例 \Blowfish..................BlowFish算法示例 \AES.......................AES算法示例 \RSA.......................RSA算法示例 \BASE64....................BASE64算法示例 {第3章 软件试用期} chap03\TrialTime(Reg)............软件试用次数(信息写入注册表) \TrialTime(Ini)............软件试用次数(信息写入Ini文件) \TrialDate(Reg)............软件试用天数(信息写入注册表) \TrialDate(Ini)............软件试用天数(信息写入Ini文件) \LastDate(Reg).............软件最后试用日期(信息写入注册表) \LastDate(Ini).............软件最后试用日期(信息写入Ini文件) \RunTime-Timer.............限制软件启动后的执行时间(Timer控件) \RunTime-APi...............限制软件启动后的执行时间(API) \Nag.......................实现Nag窗口的第一种方法 \Nag-Time..................实现Nag窗口的第二种方法 \Time-ing..................时间段限制的第一种方法 \Time-run..................时间段限制的第二种方法 {第4章 反跟踪技术} chap04\Anti-SoftICE..............Anti-SoftICE示例 ├──BackDoor...........SoftICE后门指令 ├──Service............判断NTICE服务是否运行 ├──UEF................利用UnhandledExceptionFilter检测; └──INT41..............INT 41子类型; \Anti-Loader...............Anti-Loader示例 ├──PEB................利用TEB检测 ├──FindWindow.........查找句柄检测 ├──IsDebuggerPresent..利用IsDebuggerPresent检测 ├──Parent.............检查父进程 └──STARTUPINFO........检查STARTUPINFO结构 \Anti-Monitor..............Anti-Monitor示例 ├──FindWindow.........通过查找窗口标题栏 └──Process............通过查找进程 \Anti-Static...............反静态分析示例 ├──Example1...........一般程序示例 ├──Example2...........插入花指令示例 └──Example3...........12组花指令 \Anti-DeDe.................Anti-DeDe示例 ├──Find...............查找进程和窗口 └──Hide...............隐藏事件 \Anti-Unpacking............反脱壳示例 ├──FileSize...........用文件大小校验软件 └──FileCRC32..........校验文件完整性 \Message-Hide..............信息隐藏示例 ├──FileSelf...........把信息隐藏在程序本身 └──OtherFile..........信息隐藏于外部文件中 {第5章 注册认证和注册机} chap05\Algorithms................选用加密算法 ├──MD5Check...........Hash算法作为注册码验证算法 ├──DESCheck...........对称算法作为注册码验证算法 ├──MoreAlg............多种对称算法实现注册验证 └──RSACheck...........公开密钥算法作为注册码验证算法 \Check.....................验证模式 ├──CurrentCheck.......注册码直接验证示例 └──RebootCheck........注册码重启校验示例 \Serial....................硬盘系列号保护方式 ├──HDID...............获取硬盘系列号示例 ├──Check..............硬件系列号保护示例 └──KeyGen.............注册机制作示例 \UserName..................用户名保护方式 ├──Check..............用户名保护示例 └──KeyGen.............注册机制作示例 \SerilaAndName.............硬件系列号与用户名保护方式 ├──Check..............硬件系列号与用户名保护示例 └──KeyGen.............注册机制作示例 \Random....................随机注册码模式 ├──Check..............随及注册码保护示例 └──KeyGen.............注册机制作示例 \KeyFile...................KeyFile保护方式 ├──Check..............KeyFile保护示例 └──KeyGen.............注册机制作示例 \CallDllCheck..............用DLL实现注册认证 └──CallCheck..........用DLL实现注册认证的示例 \DLLProtect................DLL控件保护示例 ├──Delphi.............Delphi调用示例 └──VB.................VB调用示例 \BPLProtect................BPL控件保护示例 └──CallBPL............调用BPL控件示例 \Compelet..................一套完整的软件保护示例 ├──Check..............软件保护示例 └──KeyGen.............注册机制作示例 {第6章 网络验证} chap06\WebCheck..................WEB服务器验证 ├──Client.............客户端实现示例 └──LocalControl.......本地控制程序实现示例 \ServerCheck...............本地服务器验证 ├──Client.............客户端实现示例 └──Server.............服务器实现示例 \Update....................在线升级验证示例 {第7章 PE文件知识} chap07\DOS Header................获取DOS头部信息示例 \PE Header.................获取PE头部信息示例 \Optional Header...........获取可选头部信息示例 \Section Table.............获取区块表信息示例 \Import Table..............获取输入表信息示例 \Export Table..............获取输出表信息示例 {其它源码} ToolsTest\OllyDbg................OllyDbg调试例子 \DeDe...................DeDe反编译例子
对于希望自己软件加密的,绝对值得你研究,我自己就从书中代码获益颇多,给自己的商业软件加密了。共分为五个文件,希望对你有帮助。本人缺分,也希望多些人下载,(*^__^*) 嘻嘻…… 光盘目录说明 {第1章 基础知识} chap01\Regedit...................注册表读写示例 \IniFile...................Ini文件读写示例 \CustomFile................自定义文件读写示例 \CreateDLL.................DLL的创建示例 \YSCall....................DLL的隐式调用 \XSCall....................DLL的显式调用 \CreateComponent...........的示例 \FindWindow................防止多个实例运行(查找窗口法) \Mutex.....................防止多个实例运行(互斥对象) \ATom......................防止多个实例运行(全局原子) \OnceRun(File).............防止多个实例运行(文件保存标志法) \BASM-Source...............Delphi中嵌入汇编例子 \BASM-Class................BASM中访问Delphi对象 \BASM-JMP..................BASM的跳转示例 \BASM-DB、DD、DW...........BASM中的汇编指令 \BASM-Call.................BASM中调用Delphi中的函数和过程 \BASM-CallApi..............BASM中调用API函数 \BASM-Var..................BASM访问函数或过程的参数 \BASM-Asm..................Delphi中的全汇编例程 {第2章 加密算法} chap02\CRC32-Dym.................CRC32算法动态码表实现 \CRC32-Static..............CRC32算法静态码表实现 \MD5.......................MD5算法示例 \SHA.......................SHA算法示例 \DES.......................DES算法示例 \2DES......................双重DES算法示例 \3DES......................两个密钥的三重DES算法示例 \3DES3.....................三个密钥的三重DES算法示例 \Blowfish..................BlowFish算法示例 \AES.......................AES算法示例 \RSA.......................RSA算法示例 \BASE64....................BASE64算法示例 {第3章 软件试用期} chap03\TrialTime(Reg)............软件试用次数(信息写入注册表) \TrialTime(Ini)............软件试用次数(信息写入Ini文件) \TrialDate(Reg)............软件试用天数(信息写入注册表) \TrialDate(Ini)............软件试用天数(信息写入Ini文件) \LastDate(Reg).............软件最后试用日期(信息写入注册表) \LastDate(Ini).............软件最后试用日期(信息写入Ini文件) \RunTime-Timer.............限制软件启动后的执行时间(Timer控件) \RunTime-APi...............限制软件启动后的执行时间(API) \Nag.......................实现Nag窗口的第一种方法 \Nag-Time..................实现Nag窗口的第二种方法 \Time-ing..................时间段限制的第一种方法 \Time-run..................时间段限制的第二种方法 {第4章 反跟踪技术} chap04\Anti-SoftICE..............Anti-SoftICE示例 ├──BackDoor...........SoftICE后门指令 ├──Service............判断NTICE服务是否运行 ├──UEF................利用UnhandledExceptionFilter检测; └──INT41..............INT 41子类型; \Anti-Loader...............Anti-Loader示例 ├──PEB................利用TEB检测 ├──FindWindow.........查找句柄检测 ├──IsDebuggerPresent..利用IsDebuggerPresent检测 ├──Parent.............检查父进程 └──STARTUPINFO........检查STARTUPINFO结构 \Anti-Monitor..............Anti-Monitor示例 ├──FindWindow.........通过查找窗口标题栏 └──Process............通过查找进程 \Anti-Static...............反静态分析示例 ├──Example1...........一般程序示例 ├──Example2...........插入花指令示例 └──Example3...........12组花指令 \Anti-DeDe.................Anti-DeDe示例 ├──Find...............查找进程和窗口 └──Hide...............隐藏事件 \Anti-Unpacking............反脱壳示例 ├──FileSize...........用文件大小校验软件 └──FileCRC32..........校验文件完整性 \Message-Hide..............信息隐藏示例 ├──FileSelf...........把信息隐藏在程序本身 └──OtherFile..........信息隐藏于外部文件中 {第5章 注册认证和注册机} chap05\Algorithms................选用加密算法 ├──MD5Check...........Hash算法作为注册码验证算法 ├──DESCheck...........对称算法作为注册码验证算法 ├──MoreAlg............多种对称算法实现注册验证 └──RSACheck...........公开密钥算法作为注册码验证算法 \Check.....................验证模式 ├──CurrentCheck.......注册码直接验证示例 └──RebootCheck........注册码重启校验示例 \Serial....................硬盘系列号保护方式 ├──HDID...............获取硬盘系列号示例 ├──Check..............硬件系列号保护示例 └──KeyGen.............注册机制作示例 \UserName..................用户名保护方式 ├──Check..............用户名保护示例 └──KeyGen.............注册机制作示例 \SerilaAndName.............硬件系列号与用户名保护方式 ├──Check..............硬件系列号与用户名保护示例 └──KeyGen.............注册机制作示例 \Random....................随机注册码模式 ├──Check..............随及注册码保护示例 └──KeyGen.............注册机制作示例 \KeyFile...................KeyFile保护方式 ├──Check..............KeyFile保护示例 └──KeyGen.............注册机制作示例 \CallDllCheck..............用DLL实现注册认证 └──CallCheck..........用DLL实现注册认证的示例 \DLLProtect................DLL控件保护示例 ├──Delphi.............Delphi调用示例 └──VB.................VB调用示例 \BPLProtect................BPL控件保护示例 └──CallBPL............调用BPL控件示例 \Compelet..................一套完整的软件保护示例 ├──Check..............软件保护示例 └──KeyGen.............注册机制作示例 {第6章 网络验证} chap06\WebCheck..................WEB服务器验证 ├──Client.............客户端实现示例 └──LocalControl.......本地控制程序实现示例 \ServerCheck...............本地服务器验证 ├──Client.............客户端实现示例 └──Server.............服务器实现示例 \Update....................在线升级验证示例 {第7章 PE文件知识} chap07\DOS Header................获取DOS头部信息示例 \PE Header.................获取PE头部信息示例 \Optional Header...........获取可选头部信息示例 \Section Table.............获取区块表信息示例 \Import Table..............获取输入表信息示例 \Export Table..............获取输出表信息示例 {其它源码} ToolsTest\OllyDbg................OllyDbg调试例子 \DeDe...................DeDe反编译例子

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧