dbf文件如何加密|如何使用外壳工具完成加密

1. 如何使用外壳工具完成加密

如何使用外 具完成加密 使用外 密工具,开发商可以在没有程序源 或不对程序源 做任何改动的情况下快捷地完成 加密工作,并保证有着较高的加密强度。若没有相应的硬件狗存在,加密后的程序将无法启动。 外 密工具的特点 1、 使用三种方式加密:外壳、嵌入、内外结合。 外 所谓外壳,是加密工具加到被加密程序的一部分程序。加密程序启动时外 先被执行。外壳 要检查硬件狗的存在性和一致性。如果对应的硬件狗存在,则进入原程序的入 否则终止程序。外壳只 在加密程序启动时执行一次。 嵌入 所谓嵌入,是加密工具在被加密程序中嵌入一个公共程序,加密程序在整个运行期内以一定的 频率执行这个公共程序,该程序检查硬件狗的存在性和一致性。如果对应的硬件狗存在,则继续执行原程 序,否则终止程序。本加密方式可选。 内外结合 如果被加密的程序已经调用了赛孚耐公司提供的接口函数,那么外壳程序会通知接口函数, 外 序是否已经被执行,以防止外壳程序被跳过。如果发现外壳程序没有被执行,会终止程序。 这些数据文件由您的应用程序使用, 或者由受保护的应用程序产生 (输 2、 可以对数据文件进行加密, 出文件) 。这些文件只能由受保护的应用程序读取。 3、 可以通过关联许可证文件灵活地限制使用时间。 4、 可以自定义查硬件狗错误时显示给用户的提示信息,也可以选择不显示提示信息。 5、 外 护是一个多层的体系结构。只有前一层执行成功,才会 紧相连的一层。这种多层体系 结构可为您的应用程序提供额外的保护--这与用多道锁为您的门提供保护的功能相似。突破这 些保护层需要更多资源、时间和技巧,可以有效的阻止黑客攻击。此外,由于采用了多层随机模 式,所以任何两次被外 密的应用程序均不相同。 外 密工具可以加密 32/64 位 Windows 程序,在宏狗安装目录下\10003(您的软件系列号) \Shell\Win32shl.exe。 应用示例 下面以使用一个硬件狗保护 Notepad.exe 和 Calc.exe 为例说明外 密工具的使用。 在使用之前假设已 经使用开发商工具在文件系统中创建了两个许可证文件(许可证文件的文件夹 ID 为 16128 ,文件 ID 分 别为 10 和 20) 。关于如何创建许可证文件请查阅开发商手册开发商工具的使用一章。 1.请先插入硬件狗,执行步骤 1,如图 1 所示,指定要加密的 EXE 文件。 第 1 页 步骤 1: 单击浏览按钮, 指定要加密的 EXE 文 件;或在“源文件”文 本框中输入 要加密的 EXE 文件的路径和文 件名。 图 1 指定源文件后,系统会在“目标路径”文本框中自动添加加密后的 EXE 文件(即目标文件)存放的路 径。系统默认将目标文件存放到 OUTPUT 路径下,我们建议用户采用这种默认方式。 如果目标文件存在,覆盖它 如果选中“如果目标文件已存在,覆盖它”复选框,当目标文件所在路径下有同名文件存在,加密过 程不再出现是否覆盖文件的提示信息。 2.对加密狗的硬件参数进行设置。 产品名称 加密后的应用程序在运行时会查找与系列号和产品名称相一致的硬件狗。可以此处指定产品名称。 查找方式 通过选择查找方式,能够更快地、更准 找到硬件狗。请选择适合您的应用程序的查找方式。 用户 加密后的应用程序在运行时会访问硬件狗,请指定硬件狗的用户 。 嵌入 第 2 页 加密软件运行期间,可以不断地检查对应的硬件狗是否存在。如果清空“嵌入”复选框,则在程序运 行期间不检查硬件狗。如果选中“嵌入”复选框,当程序运行期间检查不到对应的硬件狗时,程序会停止 运行。您可以指定检查间隔,间隔以秒为单位。缺省值为 120 秒,即 2 分钟。 .NET 增强 .NET 增强功能为纯.NET 应用程序(EXE 和 DLL)提供了增强的安全性。此功能可执行以下操作: 隐藏原始入口点方法(仅用于.NET 可执行文件) 加密原始应用程序的字符串 加密原始应用程序的常量 (用于 32 位.NET 应用程序) SDNPro64.dll 和 (用于 64 位.NET 如果选择了此功能, 则需要将 SDNPro.dll 应用程序)与受保护应用程序一起提供给最终用户。 注意 使用.NET 增强特征项(使用.Net 增强保护外 NET 应用程序)的前提条件是机器中应安装了同 一版本的.NETFramework 和.NET SDK。.NET 增强选项不支持混合代码应用程序。 多层保护级别 外 提供多层保护。因为应用程序和外 之间的连接处非常容易受到攻击,所以您可以选择使用 多层外 从第 1 级到第 5 级)来保护您的应用程序。第 1 级可提供合理的保护,而第 5 级可提供最强保 护。但是,随着每一保护级别的增加,应用程序的大小和用于启动的时间也会相应增加。在缺省情况下, 使用第 3 级保护方式。 隐藏导入符号 选定此复选框隐藏您的程序中的导入符号。但是,请注意该选项不适用于此处所列出的文件类型使SmartHeap DLLs 的应用程序 当您同时加密数据文件或者使用数据文件加密选项时 如果存在要实施保护的任意数据文件或已指定了文件加密设置,则将忽略隐藏导入符号选项。 我使用了外 SDK 如果您已经使用外壳软件开发工具包(位于\Shell SDK 文件夹下)来保护您的重要 段、常量和字 符串数据,则选中此复选框。参阅该文件夹中的自述文件获得详细信息。 存在调试器时允许我的应用程序运行 您可以不选择该复选框,禁止在出现调试器时执行应用程序。如果在系统中探测到调试器,被保护的 应用程序将退出。非恶意用户可以关闭调试器,重新启动应用程序。但是,如果出于某种原因,您需要在 存在调试器的情况下允许您的应用程序运行,则选择该复选框。 3.执行步骤 2、3、4、5、6,如图 2、3 所示,关联许可证文件。 步骤 2: 单 击“关联 许可证文 件”按钮。 图 2 第 4 页 步骤 3:选择 “关联许可 证文件” 。 步骤 4: 指定文件 夹 ID。 步骤 5: 指定文件 ID。 步骤 6:单击 “ ”按钮。 图 3 注意 许可证文件将被关联到主界面上的源文件。如果主界面上的源文件是一个动态连接库文件,在 此动态连接库被加载到内存中时,会调用 RC_VisitLicenseFile 函数检查许可证文件。关于 RC_VisitLicenseFile 函数的说明,请查阅开发商手册 API 接口函数说明部分。 4.我们提供了 19 种不同错误类型的错误信息,请根据具体情况分别指定其内容。标题限制在 60 字节 内,每条消息限制在 100 字节内。执行步骤 7、8、9、10、11、12,如图 4、5 所示,设置提示消息。 第 5 页 步骤 7:单 击“设置提 示消息”出 , 现如下图的 界面。 图 4 第 6 页 步骤 8: 在查硬件 狗出现错误时, 如需要显示提示 信息,则选中此 复选框;否则清 空此复选框。 步骤 10: 根据 需要, 修改提 示信息对话 框的内容。 步骤 9:根 据需要,修 改提示信息 对话框的标 题。 步骤 12:单击 “ ”按钮。 图 5 步骤 11:根据需 要,选择错误消 息的类型:窗口 消息或者控制台 消息。 5.如果在加密 EXE 文件的同时需要加密数据文件,执行步骤 13,如图 6 所示: 第 7 页 步骤 13: 单击 “设置要加 密的数据文 件”按钮。 图 6 6.指定要加密的数据文件(实际上 Notepad.exe 执行时不需要数据库文件,这里只是一个加密演示) , 执行步骤 14,如图 7 所示: 步骤 14:单 击 浏 览 按 钮,指定要 加密的数据 文件。 图 7 7.执行步骤 15,如图 8 所示,将数据文件加入文件列表。如需加入多个数据文件,请重复步骤 14 和 15。此时文件加密选项会根据文件列表进行自动设置,如果您要进一步对其进行设置,例如,当您要加 第 8 页 密新生成的数据文件(输出文件)时,执行步骤 16 更改文件加密选项。注意:在执行步骤 16 前,请插上 狗。外壳工具会从狗里获得狗的 ID 作为默认的加密种子。 步骤 15: “增 单击 加到文件列表” 按 钮, 将要加密的数 据文件加入文件 列表。 步骤 16: 单击 此处文本。 图 8 8.在文本编辑框中已经包含“*.DBF;” ,例如,为了加密受保护的程序在运行过程中生成的文本文件, 执行步骤 17,在文本编辑框中添加“*.TXT;” 。如果想要指定自己的加密种子,执行步骤 18,选中“指定 我自己的加密种子”复选框,并在文本编辑框中输入自定义的加密种子。另外,为了提高安全性,2.0 版本 的外壳工具默认会使用 AES 算法对数据文件进行加密,而以前的版本用的是私有算法。如果要保持跟以前 版本的兼容性而使用私有算法,可以不选中“使用 AES 算法加密”复选框。执行步骤 20,返回“设置要 加密的数据文件”对话框,单击 按钮完成数据文件加密设置。 步骤 18:指定自己 的加密种子。 步骤 17:修改或添 加文件过滤器。 步骤 19:指定是否 使用 AES 算法加密 步骤 20:点击 定按钮。 图 9 9.完成有关 Notepad.exe 的所有设置后执行步骤 21,如图 10 所示,将其加入加密中心,成为加密队 列中的一个加密项。然后对 Calc.exe 重复步骤 1-21,如果需要关联许可证文件,请修改“文件 ID” 的值,如图 11 所示。使 Calc.exe 和 Notepad.exe 运行时访问不同的许可证文件。 第 9 页 步骤 21: 单击 “加入加密 队列” 单击此按钮,可 将选中的加密项 清除。 单击此按钮可 查看某个加密 项的所有设置 信息。 单击此按 钮,可清 除所有加 密项。 图 10 将文件 ID 设 置为:20。 图 11 9.可以将加密中心所有加密项的设置存成一个配置文件,以供下一次使用。执行步骤 22-24,如图 12 所示。 第 10 页 步骤 22: 单 击此按钮。 步骤 23: 单击“存 储配置文 件” 命令。 步骤 24:键入 配置文件名后, 单击 “保存”按 钮。 图 12 10.执行步骤 25,如图 13 所示,执行加密操作。 步骤 25: 单击“加 密” 按钮。 图 13 11.加密过程中会出现如下图所示的对话框。 第 11 页 在加密过程中,单 击“中止”按钮可 中止加密操作。 图 14 进程条指示加密正在进行。加密结束后会提示结果。如果加密成功,过 2 秒后,程序自动加密下 一个文件。如果加密失败,会提示失败原因,并给出解决措施或错误码,关于错误码的定义请下面的 保护时的错误 。错误信息会左右移动,以引起您的注意。至此,完成了对 Notepad.exe 和 Calc.exe 的保护。 保护时的错误 下表列出了保护应用程序和数据文件时可能产生的错误,对不不在下表中的错误代码,请参见安 装目录下的 errcode-chn.txt。 错误码 (十六进制) 194 SP_ERR_NOT_ENOUGH_MEMORY 没有足够的资源来保护应用程序。

2. DBF数据库怎么查看密码或清除密码

DBF数据库不象Accse数据库,本身没有加密功能,也就不存在查看密码或清除密码。

3. WPS中DBF文件类型 保存不下来

首先打开【wps】。

4. 关于visual foxpro 6.0中的打印输出问题

vfp6.0的十个实用技巧 —- 一.选择网络打印机 —- 笔者单位里的局域网上安装有多台网络打印机,在使用vfp 6.0编制的程序进行打印操作时,是否可以选择其中的某一台空闲的网络打印机进行打印,而不一定非要从默认打印机输出,从而提高工作效率呢?经笔者研究,在执行命令:report from … to printer 之前,先执行下列程序代码:set printer to name getprinter(),就可以调用操作系统的"打印设定"对话框,用户利用该窗口即可达到灵活选择空闲打印机进行打印输出的功能。(注:可供选择的打印机名是用户计算机上已安装好的打印机名。) —- 二.恢复丢失了的fpt文件 —- 由于误操作,将自由表的备注文件删除,致使自由表无法打开。遇到这种情况我们可采用下述方法解决: —- 1.创建一个新的自由表,且该自由表只含一个字段,其类型为备注型。关闭该自由表,将其扩展名为fpt的备注文件复制给误删除的自由表的备注文件,或将该备注文件改名为误删除的自由表的备注文件即可。运行下面的程序同样也可以恢复丢失了的fpt 文件: accept ''请输入丢失了.fpt文件的自由表名称(不带扩展名):'' to namefnamef=trim(namef)+''.bbb''crea dbf &namef (aa m)usedele file &namef—- 2.用vfp低级文件函数创建一个空的fpt文件,原自由表即可打开。程序清单如下: accept ''请输入丢失了.fpt文件的自由表名称(不带扩展名):'' to namefnamef=trim(namef)+''.fpt''hand=fcreate(namef)abc=repl(chr(0),3)+chr(8)+repl(chr(0),3)+''@''+repl(chr(0),504)=fwrite(hand,abc)=fclose(hand)return—- 上述方法只是为丢失了fpt文件的自由表建立了一个新的fpt文件,原fpt文件中的内容已经丢失,无法恢复。在实际操作中若遇到这种情况,最好是恢复原来的fpt文件,若原fpt文件无法恢复时再采用上述方法。 —- 三.脱离vfp运行程序 —- 利用vfp 6.0创建的应用程序,被编译成可执行程序后,若要使其脱离vfp环境独立运行,除了我们所知道的在应用程序目录中需包含一个名为"config.fpw"的配置文件外,经笔者试验发现还必须包含"vfp6r.dll"、"vfp6rchs.dll"、"vfp6renu.dll"这三个动态链接库文件。这三个文件在"windows\system"目录下,用户可直接将其复制到自己的应用程序目录中。最后再经过编译形成可执行程序,运行安装向导创建发布磁盘,我们开发的小应用程序就可以堂堂正正地在win 98下安装运行了。 —- 四.低级文件函数加密数据库 —- vfp有一个十分薄弱的环节就是数据库的保密性差。由于.dbf文件都是敞开式的,甚至用dos中最简单的type命令都可以浏览,因此,笔者从以下两方面对数据进行加密: —- 1.在向自由表中增加数据时,就进行加密,即更新自由表时就对数据进行加密,在读取数据时再解密。 —- 2.用vfp提供的低级文件函数进行加密,加密后的文件无法打开、浏览,使用时,再执行该加密程序即可将加密的自由表还原。 **加密数据库程序(同时也是解密程序)**set talk offclose allclea@10,10 say "请输入要加密的自由表名(含扩展名):" get file1 defa '' ''readhandle=fopen("&file1",2)if handle< 0@14,10 say "不能打开文件!"=inkey(0)retuendifj=0do while .not.feof(handle)bb=fread(handle,1)cc=chr(mod(asc(bb)+128,256))=fseek(handle,j)=fwrite(handle,cc)?asc(bb),asc(cc)j=j+1enddo=fclose(handle)close allretu—- 五.简易设置textbox对象的输入长度 —- 在以前的xbase语法中,我们可以通过picture参数定义某变量或文本栏的输入长度格式,而在vfp中的textbox对象中则支持了format和inputmask属性来定义输入的格式。我们可以使用比较原始的方法来进行设定,比如当要求输入有20个栏位的文本框对象时,我们可以在此对象的inputmask属性中定义为inputmask="xxxxxxxxxxxxxxxxxxxx"。 —- 但是这样的设定方法非常麻烦,尤其是当面对更长的字符串输入时更是不方便。其实我们完全可以用另外一种方法来把这样的需求设计过程变得很简单,下面就具体介绍一下这种简易的快速设定输入栏位的方法。 —- 利用replicate()函数设定输入长度这里我们同样利用了对象的inputmask属性来定义输入格式和输入长度,但是当对象的输入比较长时,则可以借助算术表达式的方式来对其进行设定。通过属性窗口中的inputmask属性建立表达式对话框,我们可以利用replicate()函数设定重复的"x"的个数即可(本例为20)。完成后回到属性设置窗口,我们可以看到在inputmask属性栏中出现了"=replicate(20)"位值的表达式,这样,我们就轻松地完成了长字符输入的长度控制。由此我们也可以体会到善于使用表达式给我们带来的方便之处。 —- 六.中文文本框的设计方法 —- 在程序开发过程中,我们经常要设计一些文本框,而且这些文本框要求只能输入中文。在这种情况下,通常需手工启动某一种中文输入法。如果软件能够自动启动缺省的中文输入法,那么将会给编程人员带来很大的方便。下面的类便能实现这一功能,具体的设计步骤如下: —- 1.创建一个新类,其基类是"textbox",类名为"中文textbox",存储于"myclass"类库中。 —- 2.进入类设计器后,设置"中文textbox"的各项属性,如字体、颜色等。 —- 3.设计gotfocus事件,代码为: =imestatus(1) 表示当光标移到此框后,自动启动中文输入法。 —- 4.设计lostfocus事件,代码为: =imestatus(0) 表示当光标移开此框后,自动关闭中文输入法。设计好后,保存到文件即可。 —- 七.立体框类的设计方法 —- 在vfp的标准类里提供了一个形状控制类(shape),可以简单地将s hape的"specialef fect"属性设置为"0-3d",将"backstyle"属性设为 "0-透明",来设计三维立体框。 —- 然而这样的三维立体框太单调,缺少变化。通过以下的设计方法, 我们可以作出类似于vb中的three_d panel那样的效果。具体设计步骤如下: —- 1.新建一个类,基类是"container",类名为"three_panel",存储于"myclass"类库中。 —- 2.进入类设计器后,设置"three_ panel"的各项属性,如表1所示。属性设计完毕后,存入文件,就可以得到凸起效果的边框类。 —- 3.通过调整"specialeffect"的值为"1-凹下",可以设计凹下效果的边框类(three_p anel_ao)。 调整其余参数可以得到不同效果的边框。 —- 八.在程序中播放动画 —- 我们知道,vfp只支持静止的图片,无法直接播放gif动画。但网上许多有趣而华丽的gif动画的确令人心动,如何将这些动画插入到你的vfp程序中,让你的程序更吸引人呢? —- 其实很简单,将gif动画分解成各单独的静止的gif或bmp图片,然后在vfp使用计时器让这些静止的图片轮流出现,就产生动画效果了。 —- 将gif动画分解为静止图片的软件有很多,在网上很容易找到,如animagic gif 等。分解出来的图片我们分别以a0.bmp、a1.bmp……这样的形式保存。在表单中添加计时器timer1,timer1的interval属性设为100,enabled属性设为.t.,再添加image1控件,其backstyle属性设为0(透明),stretch也设为0(裁剪)。 —- 在form的load过程中写代码: public i , n i=0 n=5(静止图片的总共数目) 在timer1的timer过程中写代码: local j i = mod (i+1,n) j = alltrim( str(i) ) thisform.image1.picture="a"-j-".bmp" 运行表单,我们就可以看到熟悉的gif动画了。 —- 九.粘贴vfp顶层表单 —- 当你将表单设置为顶层表单并独立运行于windows下,就会发现表单中复制粘贴功能失效,给实际工作造成极大的不便,从而使编制的软件达不到专业水准。通过认真分析与实践,笔者认为,造成这一问题的原因是微软设计vfp时,只考虑了位于系统选单下的表单的复制和粘贴情况,即位于系统选单下的表单可使用复制及粘贴热键,而处于windows下的表单完全脱离了系统选单的控制,因此复制及粘贴热键失效。 —- 解决的办法是可在表单的控件(本文举例为文本框)中,为keypress event编写如下事件处理程序,该事件处理程序首先将选择内容复制到windows剪贴板上,然后再将剪贴板上的内容添加到控件中。 keypress eventlparameters nkeycode, nshiftaltctrlif nkeycode=3 && ctrl+c 复制-cliptext=this.seltextendifif nkeycode=22&& ctrl+v 粘贴do casecase this.selstart=0this.value=-cliptext+this.valuecase this.selstart〉=1 and this.selstart〈=len(this.value)this.value=subs(this.value,1,this.selstart)+-cliptext+subs(this.value,this.selstart+1)endcase endif thisform.grid1.column1.setfocus()sele recetemif not eof()skipendifthisform.refresh—- 十.为vfp添加循环微调控件类 —- 在vfp编程中,微调控件是最常用的控件之一。按照微调控件提供的基本功能,通过单击向上或向下箭头,而达到微调控件的最大或最小值时,如继续单击向上或向下箭头,将保持最大或最小值不变。笔者通过对spinner控件属性和事件的分析,用编程的方法实现了循环微调控件功能。 —- 循环微调控件(cyclespinner)所实现的功能是:当单击向上箭头而达到最大值时,再单击向上箭头,能自动跳到最小值;当单击向下箭头而达到最小值时,能自动跳到最大值;其余功能均继承spinner基类的功能。具体实现方法如下:利用表单控件,在表单中设计一个微调按钮,并设置如下属性: spinnerhighvalue=max &&max应小于spinner基类所&&提供的最大默认值spinnerlowvalue=min &&min应大于spinner基类所&&提供的最小默认值value=1name=''cyclespinner''在init事件中写入如下代码:this.spinnerhighvalue=this.spinnerhighvalue+this.incrementthis.spinnerlowvalue=this.spinnerlowvalue-this.increment在interactivechange事件中写入如下代码:if this.value=this.spinnerhighvaluethis.value=int(this.spinnerlowvalue+this.increment)endifif this.value=this.spinnerlowhvaluethis.value=int(this.spinnerhighvalue-this.increment)endifthisform.refresh—- 再将其作为类保存起来,添加到你的类库中。 —- 若你在编程中,需用此功能,就可直接用此循环微调控件类了。

5. 如何让FOXPRO中的DBF文件加密

这个还真没有办法加密加密之后dbf文件就打不开了怎么在vfp中使用呢方法1,对表的内容加密(必须使用对称算法)方法2,修改dbf文件的扩展名比如将temp.dbf修改为temp.dat平时使用usetemp就能打开表这时候必须使用usetemp.dat才能打开表打开之后的操作和之前是一样的这样只是个障眼法

6. dbf文件的打开

1 dbf 格式不是说扩展名是dbf就是dbf格式,你把一个文本文件的扩展名改为dbf,那么vfp也打不开。2 如果确认是dbf格式,文件的打开方式不一定非得双击,打开vfp,从文件菜单中选择打开,然后更改打开类型为表,试下,如果也打不开,说明此dbf文件格式是特殊的,被修改或被加密了。如果能打开,说明你的电脑上的dbf文件类型的打开方式不对。3 或者可以用其他工具试一下,如 excel ,如果你的机器上还有sqlserver ,那么还可以用sqlserver 的导入导出向导试一下。


赞 (0)