Membuat Keygen Kode aktivasi dengan delphi

sebenernya dalam membuat kode aktivasi itu tergantung pada logika masing - masing orang. jadi ketika tingkat ke rumitan algoritma tinggi maka semakin sulit juga cracker atau semacam nya dalam membuat kode crack nya, begitu juga sebaliknya. berikut akan saya coba memberikan contoh tentang source membuat kode aktivasi dari delphi. :-z

sebelum terjun langsung ke source code ini, temen - temen saya saran kan untuk membaca terlebih dulu tentang bagaimana algoritma kode aktivasi ini disini.

berikut souce code nya :-z



unit unitdemo;


interface


uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, icekey,strutils;


type
  TForm1 = class(TForm)
    BitBtn3: TBitBtn;
    Edt2: TEdit;
    lbl1: TLabel;
    edt3: TEdit;
    lbl2: TLabel;
    edt4: TEdit;
    lbl3: TLabel;
    btnkeygen: TBitBtn;
    lbl4: TLabel;
    lbl5: TLabel;
    lbl6: TLabel;
    grp1: TGroupBox;
    lbl7: TLabel;
    lbl8: TLabel;
    edtaktivasi: TEdit;
    lbl: TLabel;
    btnaktivasi: TBitBtn;
    lblsukses: TLabel;
    snmnfhd: TEdit;
    Label1: TLabel;
    procedure BitBtn3Click(Sender: TObject);




    procedure FormCreate(Sender: TObject);
    procedure btnkeygenClick(Sender: TObject);
    procedure btnaktivasiClick(Sender: TObject);
  private
    { Private declarations }
  public
    keycek:string;
    { Public declarations }
  end;


var
  Form1: TForm1;
  sEncripted,s3 : string;
  i,ind :integer;
  
lis :TStringList;


implementation
uses eshardwareid, unitdemo3;


{$R *.dfm}


procedure TForm1.BitBtn3Click(Sender: TObject);
begin
        close;
end;










procedure TForm1.FormCreate(Sender: TObject);


begin
        eshardwareid.gethardwareid;
        Edt2.Text:=eshardwareid.HDDManufactur;
        edt3.Text:=eshardwareid.CPUID;
        edt4.Text:=eshardwareid.HDDSerialno;
        snmnfhd.Text:=eshardwareid.HDDManufactur + eshardwareid.HDDSerialno;




    sEncripted := '';
      lis := TStringList.Create;
      lis.Add('0');
      lis.Add('1');
      lis.Add('2');
      lis.Add('3');
      lis.Add('4');
      lis.Add('5');
      lis.Add('6');
      lis.Add('7');
      lis.Add('8');
      lis.Add('9');
      lis.Add('A');
      lis.Add('B');
      lis.Add('C');
      lis.Add('D');
      lis.Add('E');
      lis.Add('F');
      lis.Add('G');
      lis.Add('H');
      lis.Add('I');
      lis.Add('J');
      lis.Add('K');
      lis.Add('L');
      lis.Add('M');
      lis.Add('N');
      lis.Add('O');
      lis.Add('P');
      lis.Add('Q');
      lis.Add('R');
      lis.Add('S');
      lis.Add('T');
      lis.Add('U');
      lis.Add('V');
      lis.Add('W');
      lis.Add('X');
      lis.Add('Y');
      lis.Add('Z');
        for i := 0 to 15 do
      begin
        ind := lis.IndexOf(copy(snmnfhd.Text, i, 1)) + 3;
        IF(ind > 35) then
          ind := ind - 35;
        if(ind < 0) then
          ind := ind + 35;
        sEncripted := sEncripted + lis[ind];


      end;
end;






procedure TForm1.btnkeygenClick(Sender: TObject);
begin
    form2.showmodal;
end;


procedure TForm1.btnaktivasiClick(Sender: TObject);
   var
     sn, sn2:String;
     bdate:string;
begin
        s3:= Copy(sEncripted,5,4)+'-';
        s3:= s3+Copy(sEncripted,1,4)+'-';
        s3:= s3+Copy(sEncripted,9,4)+'-';
        s3:= s3+Copy(sEncripted,13,4);
        sEncripted := s3;
        //bdate:=Copy(eshardwareid.Biosdate,1,2) + Copy(eshardwareid.Biosdate,4,2) + Copy(eshardwareid.Biosdate,7,4);
       //bdate:=ReverseString(bdate);
       //sn := eshardwareid.HDDManufactur + eshardwareid.CPUID + eshardwareid.HDDSerialno;
       //sn2 := Form2.edtcrack.Text;
       if  edtaktivasi.Text = sEncripted then
       lblsukses.Visible := True
       else
       ShowMessage('Maaf Kode Aktivasi salah');
       //edtaktivasi.Text := sn;
end;


end.

1 komentar: