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.
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.
gak ada gambarnya ya gan???
BalasHapus