首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

软件使用一机一码加密delphi怎样实现?该怎么处理

2012-03-11 
软件使用一机一码加密delphi怎样实现?我自己做了个软件,有一定的使用价值,不知道怎样利用一机一码的技术稍

软件使用一机一码加密delphi怎样实现?
我自己做了个软件,有一定的使用价值,不知道怎样利用一机一码的技术稍微保护一下自己的成果,有这方面经验的大哥大姐能否给予指点,有现成的代码就最好了,万分感谢。

[解决办法]
这种方式还是防君子不防小人
http://www.delphibbs.com/keylife/iblog_show.asp?xid=30356
[解决办法]
根椐硬件配置生成对应序列号。
[解决办法]
获取CPU序列号的模块Unit CPUID;

Delphi(Pascal) code
{************************************************      这个模块是用来获取CPU序列号,调用方式: ** 在上层程序的uses子句中含CPUID模块,用函数   **调用 CPUID.GetCPUVendor 获得CPU的制造商名称; **调用  CPUID.GetCPUInfo       得到CPU的序列号. **************************************************}interfaceusesSysUtils;typeTCPUID = array[1..4] of Longint;TVendor = array [0..11] of char; function GetCPUID: TCPUID; assembler; register; function GetCPUVendor: TVendor; assembler; register;function GetCPUInfo: string;implementationFunction GetCPUID: TCPUID; assembler; register; asmPUSH    EBX         {Save affected register} PUSH    EDI MOV     EDI,EAX     {@Resukt} MOV     EAX,1 DW      $A20F       {CPUID Command}STOSD                {CPUID[1]} MOV     EAX,EBX STOSD               {CPUID[2]} MOV     EAX,ECX STOSD               {CPUID[3]}MOV     EAX,EDX STOSD               {CPUID[4]} POP     EDI          {Restore registers} POP     EBX end;Function GetCPUVendor: TVendor; assembler; register;asm PUSH    EBX          {Save affected register} PUSH    EDIMOV     EDI,EAX      {@Result (TVendor)}MOV     EAX,0 DW      $A20F        {CPUID Command} MOV     EAX,EBX XCHG    EBX,ECX     {save ECX result}MOV      ECX,4 @1: STOSB SHR     EAX,8 LOOP    @1MOV     EAX,EDX MOV      ECX,4 @2: STOSB SHR     EAX,8LOOP    @2 MOV     EAX,EBX MOV      ECX,4 @3: STOSBSHR     EAX,8 LOOP    @3 POP     EDI          {Restore registers} POP     EBX end;Function GetCPUInfo: string; var CPUID: TCPUID; I: Integer;beginfor I := Low(CPUID) to High(CPUID) do     CPUID[i]:=-1;CPUID := GetCPUID;Result :=  IntToHex(CPUID[1], 8) + IntToHex(CPUID[2], 8)            + IntToHex(CPUID[3], 8)             + IntToHex(CPUID[4], 8); end; end. 

热点排行