老文章档案 · 2003 年

主页秀 3.2 KEYGEN-DIKEN

破解教程 · 算法分析 · 2003-09-03 · 作者:人气: · 出处:赢政天下整理收藏)

program CrDLLShow ;

uses

Windows,

Messages,

CommCtrl;

{$R software.RES}

var WinClass: TWndClassA;

Inst: HINST;

hWindow: HWND;

TheMessage: TMsg;

Image: HWND;

hImage: HBITMAP;

htitle:HWND;

editName:HWND;

editOrg: HWND;

editCode:HWND;

cmbGen: HWND;

cmbabout: HWND;

cmbExit: HWND;

PaintStruct: TPaintStruct;

PaintDC: HDC;

OldFont: HFONT;

hFont1: HFONT;

function strtoint(istr:string):integer;

var

index,len:integer;

str:string;

re:integer;

begin

str:=istr;

len:=length(str)+1;

re:=0;

index:=1;

// 'AB0'

repeat

if str[index] in ['0'..'9'] then re:=re*16+ord(str[index])-$30

else re:=re*16+ord(str[index])-$41+10;

inc(index);

until index=len;

strtoint:=re;

end;

function inttohex(ivalue:DWORD;ibits:integer):string;

var

str:string;

value:DWORD;

bits,index:integer;

begin

str:='';

value:=ivalue;

bits:=ibits;

repeat

case (value and $F) of

0..9:str:=chr(value and $F +$30)+str;

10:str:='A'+str;

11:str:='B'+str;

12:str:='C'+str;

13:str:='D'+str;

14:str:='E'+str;

15:str:='F'+str;

end;

value:=value shr 4;

until value=0;

value:=length(str);

for index:=value to bits-1 do str:='0'+str;

inttohex:=str;

end;

function check(istr:string):Boolean;

var

ok:Boolean;

str:string;

len,count:integer;

begin

OK:=False;

str:=istr;

len:=length(str)+1;

count:=1;

repeat

if not ((str[count] in ['0'..'9']) or (str[count] in ['A'..'F'])) then

OK:=True;

inc(count);

until ((count=len) or (ok));

check:=not OK;

end;

procedure Gen();

var

str:string;

StrName:string;

lenOrg,lenName:integer;

index,len,init:integer;

UID:string;

strCode:string;

code:array[1..6] of byte;

RCode:integer;

begin

//×¢²áÂëÉú³É´úÂë

//serB&nz|mfM1/5(!sd$Mq.{s]+sFjtKpzSdtzoXqmb^Al@dv:s?x/..|b!pz*ls;rn|lf$vi^Axpe)rx5aic&9/2m5lsi4@0dmZw94cmqpfhw

//(53)+2+();

str:='www.okayle.com';

UID:='';strName:='';strCode:='';

lenName:=getwindowtextlength(editName);

lenOrg:=getwindowtextlength(editOrg);

for index:=1 to lenName do strName:=strName+' ';

for index:=1 to lenOrg do UID:=UID+' ';

GetWindowTextA(editName,pchar(strName),50);

GetWindowTextA(editOrg,pchar(UID),50);

UID:=UID+'00000-00000-00000-00000-00000';

//8D8D----3

UID:=copy(UID,1,5)+copy(UID,7,5)+copy(UID,13,4);

if check(UID) then

begin

len:=length(UID);

for index:=6 downto 1 do

begin

init:=strtoint(copy(UID,len-3,2));

RCode:=strtoint(copy(UID,len-1,2));

RCode:=RCode xor ord(str[index]);

len:=len-2;

RCode:=RCode-Init;

if RCode<0 then

RCode:=RCode+$FF;

Code[index]:=RCode;

end;

strName:=strName+' ';

len:=length(strName);

if len>9 then

begin

//370531

strName:=copy(strName,1,8)+'8760';

{ code[1]:=$33; code[2]:=$37; code[3]:=$30;

code[4]:=$35; code[5]:=$33; code[6]:=$31;}

RCode:=random($100);

strCode:=inttohex(RCode,2);

for index:=1 to 6 do

begin

RCode:=(RCode+Code[index]);

if RCode>$FF then RCode:=RCode-$FF;

RCode:=RCode xor Ord(strName[index]);

strCode:=strCode+inttohex(RCode,2);

end;

for index:=1 to 6 do

strCode:=strCode+char(random(10)+$30);//+'19791126';

end;

end

else

strCode:='Error Pre-Serial';

setWindowTextA(editCode,pchar(strCode));

end;

{ Custom WindowProc function }

function WindowProc(hWindow: HWnd; Message,wParam,lParam: Integer): Integer; stdcall;

begin

Result := 0;

{ Checks for messages }

case Message of

WM_CREATE: begin

hImage := LoadBitmap(Inst,PChar('software'));

end;

WM_COMMAND: begin

if HWND(lParam) = cmbGen then Gen();

if HWND(lParam) = cmbAbout then MessageBox(hWindow,'========CoDE bY DikEN========'

+#13

+#13

+'Contact me--->'

+#13

+' mail:thehellgate@263.net'

+#13

+' site:xsoftz.yeah.net'

+#13

+' QQ:99674724'

+#13

+#13

+' ^_^'+#13#13

+'==================DiKeN=====',

'About',MB_OK);

if HWND(lParam) = cmbExit then SendMessage(hWindow,WM_DESTROY,0,0);

end;

WM_PAINT:begin

{ Paint Colors text: Label1 }

PaintDC := BeginPaint(hWindow,PaintStruct);

//Draw a line

MovetoEx(PaintDC,20,55,nil);

LineTo(PaintDC,400,55);

MovetoEx(PaintDC,10,210,nil);

LineTo(PaintDC,400,210);

MovetoEx(PaintDC,10,212,nil);

LineTo(PaintDC,400,212);

hFont1 := CreateFont(-11,0,0,0,FW_BOLD,0,1,0,DEFAULT_CHARSET,0,0,0,0,'MS Sans Serif');

OldFont := SelectObject(PaintDC,hFont1);

SetBkColor(PaintDC,GetSysColor(COLOR_BTNFACE));

SetTextColor(PaintDC,RGB($33,$99,$33));

TextOut(PaintDC,125,220,Pchar('CoDe bY DiKeN With Delphi'),25);

SetTextColor(PaintDC,RGB($00,$00,$CC));

TextOut(PaintDC,110,235,Pchar('xsoftz.yeah.net'),15);

TextOut(PaintDC,210,235,Pchar('xcrypt.yeah.net'),15);

SelectObject(PaintDC,OldFont);

end;

WM_DESTROY: begin

DeleteObject(hFont1);

PostQuitMessage(0);

Exit;

end;

else

Result := DefWindowProc(hWindow, Message, wParam, lParam);

end;

end;

begin

{ Register Custom WndClass }

Inst := hInstance;

with WinClass do

begin

style := CS_CLASSDC or CS_PARENTDC;

lpfnWndProc := @WindowProc;

hInstance := Inst;

hbrBackground := color_btnface + 1;

lpszClassname := 'MyWindowClass';

hIcon := LoadIcon(Inst, 'MAINICON');//IDI_APPLICATION);

hCursor := LoadCursor(0, IDC_ARROW);

end; { with }

RegisterClass(WinClass);

// Create Main Window =========

hWindow := CreateWindowEx(WS_EX_WINDOWEDGE,

'MyWindowClass',

'ºôÎü[okÁË!]ϵÁÐ Ö÷Ò³Ðã 3.2 KeyGen-DiKeN',

WS_VISIBLE or WS_MINIMIZEBOX or WS_SYSMENU,

193,140,415,280,0, 0, Inst, nil);

// Create a static image ===========================================

Image:= CreateWindow('Static','', WS_VISIBLE or WS_CHILD or SS_BITMAP,

20,15,32,32, hWindow, 0, Inst, nil);

SendMessage(Image,STM_SETIMAGE,IMAGE_BITMAP,LParam(hImage));

// Create a label (static) =========================================

//Create the title

htitle:=Createwindow('Static',

'ºôÎü[okÁË!]ϵÁÐ Ö÷Ò³Ðã 3.2',

WS_VISIBLE or WS_CHILD or SS_LEFT,

60,24,360,15, hWindow, 0, Inst, nil);

hFont1 := CreateFont(-11,0,0,0,FW_BOLD,0,0,0,DEFAULT_CHARSET,0,0,0,0,'MS Sans Serif');

SendMessage(htitle,WM_SETFONT,hFont1,0);

//Create the software author

htitle:=Createwindow('Static',

'Okayle 3 -- ºôÎüÈí¼þ¹¤×÷ÊÒ[ÈÎÒã/ÕÔÓñ±ò]',

WS_VISIBLE or WS_CHILD or SS_LEFT,

175,58,360,15, hWindow, 0, Inst, nil);

SendMessage(htitle,WM_SETFONT,hFont1,0);

//Create the URL

htitle:=Createwindow('Static',

'www.okayle.com',

WS_VISIBLE or WS_CHILD or SS_LEFT,

304,73,360,15, hWindow, 0, Inst, nil);

SendMessage(htitle,WM_SETFONT,hFont1,0);

//Create the Serial Number Label

htitle:=Createwindow('Static',

'User Name:',

WS_VISIBLE or WS_CHILD or SS_LEFT,

54,95,360,15, hWindow, 0, Inst, nil);

SendMessage(htitle,WM_SETFONT,hFont1,0);

//Create the Organization Label

htitle:=Createwindow('Static',

'Pre-Serial:',

WS_VISIBLE or WS_CHILD or SS_LEFT,

47,122,110,15, hWindow, 0, Inst, nil);

SendMessage(htitle,WM_SETFONT,hFont1,0);

//Create the Registration Code Label

htitle:=Createwindow('Static',

'Serial:',

WS_VISIBLE or WS_CHILD or SS_LEFT,

50,149,110,15, hWindow, 0, Inst, nil);

SendMessage(htitle,WM_SETFONT,hFont1,0);

// Create an edit field ============================================

editName:= CreateWindowEx(WS_EX_CLIENTEDGE, 'Edit',

'xsoftz.yeah.net',

WS_CHILD or WS_VISIBLE or WS_BORDER or WS_TABSTOP or ES_AUTOHSCROLL or WS_EX_STATICEDGE,

130,90,230,23, hWindow, 0, Inst, nil);

SendMessage(editName, EM_LIMITTEXT, 8, 8);

//the org Edit

editOrg:= CreateWindowEx(WS_EX_CLIENTEDGE, 'Edit',

'xcrypt.yeah.net',

WS_CHILD or WS_VISIBLE or WS_BORDER or WS_TABSTOP or ES_AUTOHSCROLL or WS_EX_STATICEDGE,

130,117,230,23, hWindow, 0, Inst, nil);

SendMessage(editName, EM_LIMITTEXT, 49, 0);

//the Registration Edit

editCode:= CreateWindowEx(WS_EX_CLIENTEDGE, 'Edit',

'Error Pre-Serial',

WS_CHILD or WS_VISIBLE or WS_BORDER or WS_TABSTOP or ES_AUTOHSCROLL or ES_READONLY,

130,144,230,23, hWindow, 0, Inst, nil);

// Create a button =================================================

cmbGen := CreateWindow('Button','&Generate',WS_VISIBLE or WS_CHILD or BS_PUSHLIKE or BS_TEXT or WS_TABSTOP,

32,180,100,20, hWindow, 0, Inst, nil);

// Create a button =================================================

cmbabout:= CreateWindow('Button','&About',WS_VISIBLE or WS_CHILD or BS_PUSHLIKE or BS_TEXT or WS_TABSTOP,

142,180,100,20, hWindow, 0, Inst, nil);

// Create a button =================================================

cmbExit:= CreateWindow('Button','E&xit',WS_VISIBLE or WS_CHILD or BS_PUSHLIKE or BS_TEXT or WS_TABSTOP,

252,180,100,20, hWindow, 0, Inst, nil);

// Create Font Handle ===================================================

hFont1 := CreateFont(-11,0,0,0,0,FW_BOLD+200,1,0,DEFAULT_CHARSET,0,0,0,0,'MS Sans Serif');

SetFocus(editName);

UpdateWindow(hWindow);

{the standard message loop}

while GetMessage(TheMessage,0,0,0) do begin

if not IsDialogMessage(hWindow,TheMessage) then begin

TranslateMessage(TheMessage);

DispatchMessage(TheMessage);

end;

end;

end.

(出处:赢政天下整理收藏)

相关文章:

·语音界面2.0算法分析及注册机源码!

·侠客系统修改器1.21破解手记--算法分析

·中文拨号上网计时计费器 V4.12注册算法分析

·ClockWise 3.22e注册码算法分析

·CoolClock V1.02注册算法分析

·Directory Scanner v1.5 注册算法分析

·Disk Chief 1.2 简单注册算法分析

·EffeTech HTTP Sniffer 3.2注册算法分析

·eLib2.01算法分析

·EZ MP3 Recorder 1.15 注册算法分析

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史