有谁能提供一个软件注册方案?(100分)

关注..
 
到 www.turbopower.com 上看看
 
据我测试发现,美萍(V8.45以上)在同型号机器(网吧),特别是主板牌子型号相同、
硬盘相同(不论是否有无序列号)、CPU 相同,系统为克隆的,且能在Windows的任何版本
(98/2K)等情况下正常运行,每台机器都能读取到唯一且固定的序列号!!!实现了真正
的一机一码~~~~~~*请大家好好研究、学习美萍软件(它自称读主板信息加密的)!!!
OK.......Windows 95/98/SE/ME/NT/2K/XP...启动中>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
---盗版的多,名气也大,现在王八的老板没有不知道的,况且10元/台的价格,
老板们也能接受,所以,美萍绝对是成功的!
加密好点的办法。记得给我发一份看看。
 
我也在考虑这们的问题,关注中。。。
 
用硬件信息加密。
 
美萍可能是用网卡MAC地址,每块网卡MAC地址全球惟一。
 
zbsfg老兄:
如何取得硬盘硬ID,??
 
普遍的做法是取硬盘ID码然后经过加密算法行到注册码,
不是我打击你。现在搞这个没有用。人家三二下就把你破了。
最好发布DEMO版本。不要发布正式版,等人家注册后你再发给人家正式版。目前我想到最好的方法。最起码可以拖延时间。注意。DEMO版不要把正式版的功能加进去。否则。。。。
 
我就用他的取ID,方便
//普遍的做法是取硬盘ID码然后经过加密算法行到注册码,
//不是我打击你。现在搞这个没有用。人家三二下就把你破了。
完全同意,对付暴破,一点办法都没有
///转贴
偶首先在此多谢您光临[创意网]!
众所周知,软件加密是一个比较麻烦的问题.很多所谓用硬盘ID来加密的软件其实都只是取硬盘的卷标号来做的.当别人用GHOST之类的COPY软件时,就失去了作用了.DISKID32.DLL真正能够取出硬盘ID!是偶花了不少心血做出来的.希望能对你做软件加密有帮助.
DISKID32.DLL能很好地工作在WIN9x,WINNT/2K下,XP下偶没条件试,应该就无问题的.有条件的朋友还请把XP下的结果通知偶,谢!
需要注意的是: 1)一定要判定返回值是否为真. 2)听说三星硬盘没有ID号的,偶也没有条件试.所以还要判定两个取回的值是否为空. 3)DISKID32的两个参数的长度都为32.
同时,偶还附了VC,DELPHI,VB的简单测试程序.
详情可来我主页看看.例子完整代码已在论坛张贴了.
--- 梁博荣 02.9.10
油箱:3m26d@sohu.com
竹叶:http://longone.126.com
http://longone.sharella.com
==========================================V2.00版 最终版======================================
原来的V1.01版没能解决在PB下的调用问题,因此曾经专门为PB做了个特别版.经过阿南多少个不眠之夜,问题终于完美的解决了!现将VC,DELPHI,VB,PB的说明如下:
一.VC(注意了,这个改变了!)
typedef BOOL (WINAPI*DISKID32)(char[],char[]);
二.DELPHI
type mychar=array[0..31] of char;
type TDiskID32=Function(var DiskModel,DiskID:mychar):BOOL;stdcall;
三.VB
Declare Function DiskID32 Lib "DiskID32.DLL" (ByRef DiskModel As Byte, ByRef DiskID As Byte) As Long
四.PB
Function boolean DiskID32(ref string model,ref string id) library "DiskID32.DLL"

注意:原来用了V1.01版的用户,如果调用程序是VB,DELPHI的话,那么是通用的,可以不用升级.
02.9.10
 
xinghecn.net/bbs/
 
哦,难办,就用网卡吧。但我取出来的网卡号在变哟,不知什么原因,谁可以发一个给我吗?zcm1975117@163.com
 
用什么加密算法好呢,是用DES东RSA或XOR,还有其它算法吗
 
建议用BIOS序列号,一般人很少更新BIOS
加密算法建议用DES,不要用XOR不够安全
 
有好的加密算法库,搜一个吧。
 
Crypto++30加密算法库,非常全,c++的
 
delphi中调用DISKID32.DLL 不成功,发个例子看看,我给分。

 
to zjhyxy:
用下面的代码,我就用它
procedure TForm1.Button1Click(Sender: TObject);
type mychar=array[0..31] of char;
type TDiskID32=Function(var DiskModel,DiskID:mychar):BOOL;stdcall;
var DiskModel,DiskID:mychar;
h:THandle;
DiskID32:TDiskID32;
begin
h:=loadlibrary('DiskID32.dll');
DiskID32:=GetProcAddress(h,'DiskID32');
if not DiskID32(DiskModel,DiskID) then
showmessage('load err');
edit1.text:=trim(DiskModel)+' '+trim(DiskID);
FreeLibrary(h);
end;
 
不要用硬盘ID...
RAID用户的硬盘ID是0......
 

Similar threads

D
回复
0
查看
677
DelphiTeacher的专栏
D
D
回复
0
查看
690
DelphiTeacher的专栏
D
顶部