亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? regest.pas

?? Delphi寫的連連看
?? PAS
字號:
unit Regest;

interface

uses Classes,Math,SysUtils,Controls,Dialogs;


type
   TCPUID  = array[1..4] of longint;
   FSn = array[0..3] of string[6];
   TRegInfo = record
    Sn,RegCode,RegSn: FSn;
    UserName: string[20];
    ComName: string[100];
    InstallDate,RegeditDate: TDate;
    RunData: integer;
    Reged: boolean;
    ParentLen,ChildLen: Longint;
    Version: string[5];
    Autor: string[20];
    RunPar: string[50];
   end;

   TMemoEncKey = record
    EncKey: array[0..50] of byte;
   end;

   TEncKey = array[0..255] of byte;

   procedure EncStream(Source: TStream;var AStream: TStream;var AKey: Tstream);
   procedure EncStreamByKey(Source: TStream;var AStream: TStream;AKey: Tstream);
   procedure DecStream(Source: TStream;var AStream: TStream;AKey: TStream);
   procedure GetRegInfo(var RegInfo: TRegInfo;var DecKey: TMemoEncKey;AStream: TStream);
   procedure DecRegInfo(RegInfo: TRegInfo;EncKey: TMemoEncKey;var DecStream: TStream);
   procedure getUserSn(var Reginfo: TRegInfo);
   procedure WriteUserInfo(Reginfo: TRegInfo;EncKey: TMemoEncKey;var DecStream: TStream;Append: boolean=true);

  function GetCPUID : TCPUID; assembler; register;     //得到CPU序列號
  procedure GetRegCn(AUserName: string;var ARegInfo: TRegInfo);
  procedure GetRegCode(var AFSn: FSn);

  procedure GetRegCode1(var AFSn: FSn);
  procedure DecRegCode(var AFSn: FSn);

var
  RegFileName:string='C:\WINDOWS\system32\reg.dll';
  FMaxRunData:integer=10;

implementation
  function GetCPUID : TCPUID; assembler; register;     //得到CPU序列號
  asm
    PUSH    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;

 procedure EncStream(Source: TStream;var AStream: TStream;var AKey: Tstream);
 var
  i: integer;
  EncKey: TEncKey;
  code,EncCode,KeyCode: Byte;
  temStream: TMemoryStream;
 begin
  temStream := TMemoryStream.Create;
  Source.Seek(0,0);
  AKey.Seek(0,0);
  for i := 0 to Source.Size do
  begin
    Source.Read(code,sizeof(Byte));
    Randomize;
    KeyCode := EncKey[randomrange(0,255)];
    AKey.Write(KeyCode,sizeof(byte));
    EncCode := code xor KeyCode;
    temStream.Write(EncCode,sizeof(byte));
  end;
  AStream.Seek(0,0);
  temStream.Seek(0,0);
  AStream.CopyFrom(temStream,temStream.Size);
  temStream.Free;
 end;

 procedure EncStreamByKey(Source: TStream;var AStream: TStream;AKey: Tstream);
 var
  i: integer;
  EncKey: TEncKey;
  code,EncCode,KeyCode: Byte;
  temStream: TMemoryStream;
 begin
  temStream := TMemoryStream.Create;
  Source.Seek(0,0);
  AKey.Seek(0,0);
  for i := 0 to Source.Size do
  begin
    Source.Read(code,sizeof(Byte));
    AKey.Read(KeyCode,sizeof(byte));

    EncCode := (code xor KeyCode);// xor KeyCode;
    temStream.Write(EncCode,sizeof(byte));
    if AKey.Position = AKey.Size then
      AKey.Seek(0,0);
  end;
  AStream.Seek(0,0);
  temStream.Seek(0,0);
  AStream.CopyFrom(temStream,temStream.Size);
  temStream.Free;
 end;

 procedure DecStream(Source: TStream;var AStream: TStream;AKey: TStream);
 var
  i: integer;
  EncKey: TEncKey;
  code,EncCode,KeyCode: Byte;
  temStream: TMemoryStream;
 begin
  temStream := TMemoryStream.Create;
  Source.Seek(0,0);
  AKey.Seek(0,0);
  for i := 0 to Source.Size do
  begin
    Source.Read(code,sizeof(Byte));
    AKey.Read(KeyCode,sizeof(byte));
    EncCode := (code xor KeyCode);// shl KeyCode;
    temStream.Write(EncCode,sizeof(byte));
    if AKey.Position = AKey.Size then
      AKey.Seek(0,0);
  end;
  AStream.Seek(0,0);
  temStream.Seek(0,0);
  AStream.CopyFrom(temStream,temStream.Size);
  temStream.Free;
 end;

 procedure GetRegInfo(var RegInfo: TRegInfo;var DecKey: TMemoEncKey;AStream: TStream);
 var
  KeyStream,SourStream,ToStream: TMemoryStream;
  begin
    KeyStream := TMemoryStream.Create;
    SourStream := TMemoryStream.Create;
    ToStream := TMemoryStream.Create;

    AStream.Seek(-sizeof(TMemoEncKey),soEnd);
    KeyStream.CopyFrom(AStream,sizeof(TMemoEncKey));
    AStream.Seek(-sizeof(TMemoEncKey)-sizeof(TRegInfo),soEnd);
    SourStream.CopyFrom(AStream,sizeof(TRegInfo));

    DecStream(SourStream,TStream(ToStream),KeyStream);

    ToStream.Seek(0,0);
    ToStream.Read(RegInfo,sizeof(TRegInfo));
    KeyStream.Seek(0,0);
    ToStream.Read(DecKey,sizeof(TMemoEncKey));

    KeyStream.Free;
    SourStream.Free;
    ToStream.Free;
 end;

  procedure DecRegInfo(RegInfo: TRegInfo;EncKey: TMemoEncKey;var DecStream: TStream);
  var
    SourMemory,KeyMemory1,DecMemory2: TMemoryStream;
  begin
      SourMemory := TMemoryStream.Create;
      KeyMemory1 := TMemoryStream.Create;
      DecMemory2 := TMemoryStream.Create;
      SourMemory.Write(RegInfo,sizeof(TRegInfo));
      KeyMemory1.Write(EncKey,sizeof(TmemoEncKey));

      EncStreamByKey(SourMemory,TStream(DecStream),KeyMemory1);
  end;
  procedure getUserSn(var Reginfo: TRegInfo);
  var
    i: integer;
    CPUID: TCPUID;
  begin
    CPUID := GetCPUID;
    for i := low(RegInfo.Sn) to high(RegInfo.Sn) do
    begin
      if i <> high(RegInfo.Sn) then
      begin
      RegInfo.Sn[i] := format('%0x',[CPUID[i+1]]);
      //showmessage(format('%0x',[CPUID[i+1]]));
      RegInfo.RegSn[i] := '';
      end
      else
      begin
      RegInfo.Sn[i] := format('%0x',[CPUID[i+1]]);
      RegInfo.RegSn[i] := '';
      end
    end;
  end;
  procedure WriteUserInfo(Reginfo: TRegInfo;EncKey: TMemoEncKey;var DecStream: TStream;Append: boolean=true);
  var
    DecMemory2,KeyMemory1: TMemorystream;
  begin
      KeyMemory1 := TMemoryStream.Create;
      DecMemory2 := TMemoryStream.Create;
      //SourMemory.Write(RegInfo,sizeof(TRegInfo));
      KeyMemory1.Write(EncKey,sizeof(TmemoEncKey));

      //EncStream := TMemoryStream.Create;
      DecRegInfo(RegInfo,EncKey,TStream(DecMemory2));
      //EncStreamByKey(SourMemory,TStream(DecMemory2),KeyMemory1);

      if Append then
        DecStream.Seek(0,soEnd)
      else
        DecStream.Seek(-sizeof(TmemoEncKey)-sizeof(TRegInfo),soEnd);
      DecMemory2.Seek(0,0);
      DecStream.CopyFrom(DecMemory2,sizeof(TRegInfo));
      KeyMemory1.Seek(0,0);
      DecStream.CopyFrom(KeyMemory1,sizeof(TmemoEncKey));

      KeyMemory1.Free;
      DecMemory2.Free;
  end;
  procedure GetRegCn(AUserName: string;var ARegInfo: TRegInfo);
  var
    i,j,k: integer;
    n,m,TemByte: byte;
  begin
    n := 0;
    ARegInfo.UserName := AUserName;
    ARegInfo.RegCode[0] := ARegInfo.Sn[0];
    ARegInfo.RegCode[1] := ARegInfo.Sn[1];
    ARegInfo.RegCode[2] := ARegInfo.Sn[2];
    ARegInfo.RegCode[3] := ARegInfo.Sn[3];

    //AUserName := AUserName + AUserName;
    for i := 1 to length(AUserName) do
    begin
      for j := 0 to 3 do
      begin
         for k := 1 to length(ARegInfo.Sn[j]) do
         begin
         TemByte := ord(AUserName[i]);
         if TemByte > 122 then
          TemByte := TemByte div 2;
          m := ord(ARegInfo.RegCode[j][k]) xor TemByte;
          if (m in[48..57]) or (m in[65..90]) or (m in[97..122]) then
            ARegInfo.RegCode[j][k] := chr(m)
         end;
      end;
    end;
  end;
  procedure GetRegCode(var AFSn: FSn);
  var
    EncStr: string;
    i: integer;
    temChar: char;
    tembyte: byte;
  begin
    for i := low(AFSn) to high(AFSn) do
    begin
      EncStr := EncStr+AFSn[i];
    end;

    temChar := EncStr[1];
    for i := 1 to length(EncStr) do
    begin
      if i <> length(EncStr) then
      begin
        tembyte := ord(EncStr[i]) xor ord(EncStr[i+1]);
        if (tembyte in[48..57]) or (tembyte in[65..90]) or (tembyte in[97..122]) then
          EncStr[i] := chr(temByte)
        else
          EncStr[i] := EncStr[i+1];
      end
      else
      begin
        tembyte := ord(EncStr[i]) xor ord(temChar);
        if (tembyte in[48..57]) or (tembyte in[65..90]) or (tembyte in[97..122]) then
          EncStr[i] := chr(temByte)
        else
          EncStr[i] := temChar;
      end;
    end;

    AFSn[0] := Copy(EncStr,0,length(AFSn[0]));
    AFSn[1] := Copy(EncStr,length(AFSn[0]),length(AFSn[1]));
    AFSn[2] := Copy(EncStr,length(AFSn[0])+length(AFSn[1]),length(AFSn[2]));
    AFSn[3] := Copy(EncStr,length(AFSn[0])+length(AFSn[1])+length(AFSn[2]),length(AFSn[3]));
  end;

  procedure GetRegCode1(var AFSn: FSn);
  var
    EncStr: string;
    i: integer;
    temChar: char;
    tembyte: byte;
  begin
    for i := low(AFSn) to high(AFSn) do
    begin
      EncStr := EncStr+AFSn[i];
    end;

    temChar := EncStr[1];
    for i := 1 to length(EncStr) do
    begin
      if i <> length(EncStr) then
      begin
        tembyte := ABS((ord(EncStr[i]) and ord(EncStr[i+1])));
        if (tembyte in[48..57]) or (tembyte in[65..90]) or (tembyte in[97..122]) then
          EncStr[i] := chr(temByte)
        else
          EncStr[i] := EncStr[i+1];
      end
      else
      begin
        tembyte := ABS(ord(EncStr[i]) and ord(temChar));
        if (tembyte in[48..57]) or (tembyte in[65..90]) or (tembyte in[97..122]) then
          EncStr[i] := chr(temByte)
        else
          EncStr[i] := temChar;
      end;
    end;

    AFSn[0] := Copy(EncStr,0,length(AFSn[0]));
    AFSn[1] := Copy(EncStr,length(AFSn[0]),length(AFSn[1]));
    AFSn[2] := Copy(EncStr,length(AFSn[0])+length(AFSn[1]),length(AFSn[2]));
    AFSn[3] := Copy(EncStr,length(AFSn[0])+length(AFSn[1])+length(AFSn[2]),length(AFSn[3]));
  end;
  
  procedure DecRegCode(var AFSn: FSn);
  var
    i: integer;
    EncStr: string;
  begin
    for i := low(AFSn) to high(AFSn) do
    begin
      EncStr := EncStr+AFSn[i];
    end;
    for i := 0 to length(EncStr) do
    begin
      GetRegCode(AFSn);
    end;
    GetRegCode1(AFSn);
  end;
end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产91清纯白嫩初高中在线观看 | 国产网站一区二区| 免费在线观看一区| 精品日韩在线观看| 成人a免费在线看| 亚洲一区自拍偷拍| 久久久久久久久伊人| 97久久精品人人澡人人爽| 日本不卡一区二区三区 | 五月天中文字幕一区二区| 日韩欧美在线123| av成人免费在线| 伦理电影国产精品| 亚洲一区二区三区国产| 亚洲在线视频网站| 亚洲影院理伦片| 亚洲成在线观看| 国产精品美女久久久久久久网站| 欧美美女一区二区三区| 北条麻妃国产九九精品视频| 成人网页在线观看| 久久精品72免费观看| 精品亚洲免费视频| 亚洲国产综合在线| 亚洲免费在线观看视频| 久久久久久久久久久久久女国产乱 | 波多野结衣一区二区三区 | 成人亚洲一区二区一| 91.com在线观看| 国产·精品毛片| 99久久国产综合精品麻豆| 色香蕉久久蜜桃| 高清不卡在线观看av| 色综合中文字幕国产| 成人激情免费视频| 欧美日韩在线观看一区二区| 不卡的av中国片| 欧美群妇大交群中文字幕| 91麻豆高清视频| 99免费精品视频| 欧美精品日韩综合在线| 国产日韩综合av| 久久久国产午夜精品| 樱桃视频在线观看一区| 亚洲欧美激情视频在线观看一区二区三区 | 最新国产の精品合集bt伙计| 国产亚洲欧美中文| 午夜精品一区二区三区电影天堂| 国内精品写真在线观看| 韩日欧美一区二区三区| 91成人免费在线视频| 欧美性受xxxx黑人xyx性爽| 在线视频综合导航| 欧美日韩一级片网站| 久久精品夜色噜噜亚洲a∨| 亚洲图片欧美一区| 成人精品视频.| 精品国产伦一区二区三区免费| 日韩美一区二区三区| 久久亚洲一区二区三区四区| 久久久亚洲精品石原莉奈| 亚洲精品一二三四区| 青娱乐精品视频| 91成人在线观看喷潮| 国产欧美一区二区三区沐欲| 日本不卡免费在线视频| 91麻豆国产自产在线观看| 2014亚洲片线观看视频免费| 亚洲bt欧美bt精品| 一本色道久久综合亚洲aⅴ蜜桃| 欧美成人vps| 日韩国产精品久久久久久亚洲| 91极品视觉盛宴| 日韩美女啊v在线免费观看| 国产寡妇亲子伦一区二区| 国内精品国产三级国产a久久| 日本精品视频一区二区三区| 国产精品女主播在线观看| 国产一区二区三区蝌蚪| 91日韩一区二区三区| 国产精品传媒视频| 免费精品视频在线| 欧美一级欧美三级| 国产精品免费看片| 国产999精品久久| 国产欧美视频一区二区三区| 国产精品99久久久久久有的能看| 91免费版在线看| 亚洲视频一二三区| 日本伦理一区二区| 国产不卡高清在线观看视频| 国产欧美一二三区| 99综合影院在线| 亚洲免费在线观看视频| 欧美日韩国产小视频在线观看| 亚洲国产综合人成综合网站| 91 com成人网| 国内精品国产三级国产a久久| 精品成a人在线观看| 国产91精品欧美| 自拍偷拍国产精品| 欧美男男青年gay1069videost| 亚洲成人免费视频| 欧美精品一区二区久久婷婷 | 欧美日韩综合在线免费观看| 亚洲sss视频在线视频| 日韩欧美国产一区在线观看| 国产精品一级黄| 亚洲精品免费在线观看| 正在播放一区二区| 不卡一卡二卡三乱码免费网站| 一区二区三区在线免费视频| 国产成人福利片| 一区二区三区久久| 欧美xxxx老人做受| 99久久精品国产毛片| 日韩国产高清影视| 亚洲国产精品高清| 国产精品456| 亚洲一二三专区| 精品国产露脸精彩对白| 99精品视频在线观看| 免费精品99久久国产综合精品| 国产精品久久久久久久久久久免费看| 欧美在线观看视频一区二区| 精久久久久久久久久久| 一区二区三区在线不卡| 久久久久亚洲蜜桃| 欧美日韩亚洲综合在线| 懂色中文一区二区在线播放| 午夜精品一区二区三区三上悠亚| 欧美国产日韩在线观看| 日韩一级二级三级精品视频| 99久久国产综合色|国产精品| 九九精品视频在线看| 亚洲成人免费视频| 中文字幕亚洲视频| 精品视频1区2区| 成人h动漫精品一区二区| 久久精工是国产品牌吗| 日韩精品成人一区二区在线| 精品国产a毛片| 7777精品伊人久久久大香线蕉超级流畅 | 国产精品12区| 免费高清在线视频一区·| 中文字幕二三区不卡| 精品国产免费一区二区三区香蕉| 欧美日韩一区 二区 三区 久久精品| 成熟亚洲日本毛茸茸凸凹| 石原莉奈在线亚洲二区| 亚洲图片你懂的| 中文字幕在线不卡一区二区三区| 2023国产精品视频| 精品国产免费久久| 2023国产精华国产精品| 精品免费视频.| 日韩欧美的一区| 日韩小视频在线观看专区| 欧美精品亚洲一区二区在线播放| 在线观看亚洲精品视频| 在线观看日产精品| 91美女在线看| 一本久道中文字幕精品亚洲嫩| www.日韩精品| 色一区在线观看| 欧美在线观看视频一区二区| 在线精品观看国产| 欧美久久久久久久久| 欧美一级高清大全免费观看| 欧美一二三在线| 2021久久国产精品不只是精品| 久久综合999| 中文在线资源观看网站视频免费不卡 | 99久久99久久精品免费看蜜桃 | 成人av网站免费观看| 99久久婷婷国产综合精品电影| 91免费看片在线观看| 欧美日韩精品高清| 91精品国产入口| 国产亚洲美州欧州综合国| 中文字幕不卡在线播放| 一个色在线综合| 免费不卡在线视频| 国产不卡高清在线观看视频| 波多野结衣亚洲| 在线成人高清不卡| 久久久国产一区二区三区四区小说| 国产精品视频一二| 亚洲图片欧美一区| 国模一区二区三区白浆| 99精品国产热久久91蜜凸| 欧美日韩国产123区| 久久久久久免费毛片精品| 一区在线中文字幕| 日本色综合中文字幕| 成人蜜臀av电影| 6080yy午夜一二三区久久| 国产日产精品1区| 亚洲成av人片www| 成人午夜视频在线|