大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> 小商品软件的加密方法

小商品软件的加密方法

时间: 2021-07-31 作者:daque

迩来读到《计划机寰球》的作品《用vb给商品软硬件加密的本领》,对此我也有比拟多的本质领会,和大师商量一下。 ---- 我已经介入了少许小商品软硬件的开拓处事,历次的加密处事老是让人头痛。既是是商品软硬件,在暂时的情景下,就不得不商量提防不法正片的题目。加密的本领很多,最后手段无非都是确认用户具备正当的软硬件运用权。以是,必需给正当用户一个运用软硬件的受权凭据,这种凭据是难以复制的。真实,沿用加密狗做受权凭据是不实际的,加密狗的价钱在小软硬件的本钱中占的比率太大了。因为小软硬件普遍是运用软磁盘颁布的,以是普遍的本领是让软磁盘充任刊行媒介和受权凭据的双重脚色,这种本领的本钱是比拟低的。《用vb给商品软硬件加密的本领》中提到的方法我觉得是行不通的。盗用者正片软硬件时,普遍是正片你出卖的磁盘上的软硬件包,而不是正片安置此后步调地方目次的实质。以是,要想提防不法正片,就须要安置步调大概是运用步调具备确认钥匙盘的功效。 ---- 我波及到的几个产物依照功夫程序来说,首先的是在dos平台运用turbo c++3.0开拓的。厥后的产物是在windows 3.2下运用vb 4.0举行开拓的。迩来又改为在windows95/98下运用delphi 4.0举行开拓。 ---- 在dos平台下的软磁盘加密本领很多,也比拟老练。咱们沿用的本领是径直挪用阻碍举行底层的磁盘考察,在软磁盘的特出部位读写少许特出的消息。那些消息运用普遍的正片本领是没辙复制的,如许就不妨到达加密的效率。交战过软磁盘加密的人都领会,这种本领有确定的缺点,即是兼容性不强。比方在有些机型上,大概即使用户的软驱本能不够好,都没辙精确辨别钥匙盘。过程在试验中连接地完备,咱们博得了比拟好的功效。 ---- 跟着操纵体例的连接晋级,咱们遇到了新的题目。windows的本子越高,运用步调对底层的遏制本领就越弱。比方运用vb开拓,就没辙径直对磁盘举行底层考察。 ---- 过程连接的探求,咱们此刻采用的方法是把从来dos步调中实行加密认证的局部独力出来,编写翻译成一个加密认证步调。让在windows下运用vb、delphi开拓的运用步调启用这个dos加密认证步调举行底层读写,归来能否有钥匙盘的确定截止以决定能否连接实行。因为咱们在dos平台下的加密本领仍旧比拟宁静,这是最简单灵验的办法。这种做法的基础是dos步调在windows 3.2/95/98下均可成功地实行。 ---- 简直的实行办法是由运用步调挪用windows api启用dos加密认证步调,并等候该步调中断,确定其归来码,以决定能否有钥匙盘。为此,须要对从来的dos步调略加变换,将确定截止以归来码的情势输入,比方在turbo c++ 3.0中运用exit(0)归来0,运用exit(1)归来1(至于dos实行磁盘加密的本领因为材料很多,这边不作精细引见)。而windows运用步调读取到归来码此后,就不妨决定下一步的举措。 ---- 这边要害的代码是启用一个dos步调,等候它中断,并获得归来码。请参看底下的delphi因变量winexecandwait32: function winexecandwait32(filename : string; visibility : integer):dword; var zappname:array[0..512] of char; zcurdir:array[0..255] of char; workdir:string; startupinfo:tstartupinfo; processinfo:tprocessinformation; begin strpcopy(zappname,filename); getdir(0,workdir); strpcopy(zcurdir,workdir); fillchar(startupinfo,sizeof(startupinfo),#0); startupinfo.cb := sizeof(startupinfo); startupinfo.dwflags := startf_useshowwindow; startupinfo.wshowwindow := visibility; if not createprocess(nil, zappname, { pointer to command line string } nil, { pointer to process security attributes } nil, { pointer to thread security attributes } false, { handle inheritance flag } create_new_console or { creation flags } normal_priority_class, nil, { pointer to new environment block } nil, { pointer to current directory name } startupinfo, { pointer to startupinfo } processinfo) then result := 0 { pointer to process_inf } else begin waitforsingleobject(processinfo.hprocess,infinite); getexitcodeprocess(processinfo.hprocess,result); end; end; ---- 在filename中给出dos加密认证步调的称呼(带一致路途),在visibility中给出能否须要dos步调的窗口看来,普遍设为不看来。这种本领在咱们的多个小商品软硬件中运用,功效杰出。 ---- 须要提防的是这种加密本领在windows nt中没辙运转,由于nt不扶助dos步调径直考察硬件。商量到操纵体例最后会过度到windows nt,步调没辙径直考察硬件,怎样低成当地实行小商品的加密即是一个让人关怀的题目。这上面咱们还在探究,欢送有体味的伙伴引见一下。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.