⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.pas

📁 crackme 源码系列
💻 PAS
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, jpeg, ExtCtrls;

type
  TForm1 = class(TForm)
    NameEdit: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    CodeEdit: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

//******  注册名 -> 注册码    换算函数  ******
//RegName为读入的注册名; RegCode为读入的注册码
function KeyGen(RegName: string): string;
var
  cz : integer;
//  textP, textCZ:string; //textCZ,textP,posP 都
//  i, posP:integer;      //为解密字符串所以变量
begin
  cz := ord(RegName[1])*ord(RegName[7])+
        ord(RegName[2])*ord(RegName[6])+
        ord(RegName[3])*ord(RegName[5]);
  cz := cz*cz xor ord(RegName[4]);
  if length(intTostr(cz))>6
  then Result := copy(intTostr(cz),1,7)
  else begin
         repeat
           cz := cz*cz;
         until length(intTostr(cz))>6;
         Result := copy(intTostr(cz),1,7);
       end;
//showmessage(Result);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  AESkey, DESkey, RegCode, Regcode1, RegCode2, RegCode3 : string;
  posN : integer;
begin
  if length(NameEdit.Text) < 7
  then ShowMessage('注册名长度必须为7位数')
  else begin
         ShowMessage('1。Name必须为7位数长度' +#13+
                     '2。Key必须选第三项[CZ]' +#13+
                     '3。Code必须为9位数长度');
         CodeEdit.Text := KeyGen(NameEdit.Text) + '79';
       end;                                   //intTostr(length(NameEdit.Text))+
                                              //intTostr(length(CodeEdit.Text));
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Form1.Close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -