PDA

View Full Version : Krijimi i nj KeyGen!


BERLINERBOY
15-03-04, 01:07
Pra si te krijoni nje keygen te thjesht nga nje program i quajtur W3Filer 32 V1.1.3 W3Filer esht nje web downloader i lezecem. (ma mer menja se duet ta keni nigju)

Shpresoj tja keni haberin:
1) si te perdorni Debugger (ne kte rast , SoftIce)
2) si te crack-ni ne pergjisi (protection routines, patching, etj etj)
3) si te perdorni Disassembler (kto njohuri ndihmojn)
4) Assembly
5) Turbo Pascal (tm)

veglat e punes:

1) SoftIce 3.0.0/01 (ose me te re)
2) WD32Asm (nuk esht e then ta keni sezbo)
3) W3Filter 1.3
4) Turbo Pascal (versioni ska shum renci)

fillojm?

Hapi W3Filter 1.3... ky progam ka i serial qe duet tja fushes qe ta aktivizosh (seriali im qeka 873977046 le mos ta harrojm se na duet te seksioni Debuggerit)

Veni nji emer dhe nji kod regjistrimi
Boni nji BP te GetDlgItemTextA dhe shkypti OK
(po jua shkurtoj un pak punen te rutina reg. jan kto:)

:00404DB2 8D95A8FAFFFF lea exd, dword ptr [ebp+FFFFFAA8]
:00404DB8 52 push edx ---> User Name
:00404DB9 E80B550000 call 0040A2C9 ---> Reg.
:00404DBE 38C408 add esp 00000008 ---> ????
:00404DC1 85CO test eax, eax ---> Ident nqs 0
:00404DC3 7D17 jge 00404DDC ---> reg fail nqs 1

Le te fusim CALL 40A2C9 dhe te shofim ca esht brenda saj.

* Referenced by a CALL at Addresses:
|:00404DB9 , :00407F76
|
:0040A2C9 55 push ebp
:0040A2CA 8BEC mov ebp, esp
:0040A2CC 81C4B0FEFFFF add esp, FFFFFEB0
:0040A2D2 53 push ebx
:0040A2D3 56 push esi
:0040A2D4 57 push edi
:0040A2D5 8B5508 mov edx, dword ptr [ebp+08]
:0040A2D8 8DB500FFFFFF lea esi, dword ptr [ebp+FFFFFF00]
:0040A2DE 33C0 xor eax, eax
:0040A2E0 EB16 jmp 0040A2F8

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040A2FB(C)
|
:0040A2E2 0FBE0A movsx ecx, byte ptr [edx] ----> pjesa interesante :D
:0040A2E5 83F920 cmp ecx, 00000020 ----> ECX jan karakteret e user name.
:0040A2E8 740D je 0040A2F7 ----> ta shofim,
:0040A2EA 8A0A mov cl, byte ptr [edx] ----> kjo vetem kopjon
user name nga
[EDX], te [ESI], pa SPACE!

:0040A2EC 880C06 mov byte ptr [esi+eax], cl
:0040A2EF 42 inc edx
:0040A2F0 40 inc eax
:0040A2F1 C6040600 mov byte ptr [esi+eax], 00
:0040A2F5 EB01 jmp 0040A2F8

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040A2E8(C)
|
:0040A2F7 42 inc edx
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0040A2E0(U), :0040A2F5(U)
|
:0040A2F8 803A00 cmp byte ptr [edx], 00
:0040A2FB 75E5 jne 0040A2E2 ----> (ja morem vesh procesin)
prap le te vazhdojm me gjet kodin
:0040A2FD 56 push esi ----> user name esht shtyr

* Reference To: USER32.CharUpperA, Ord:0000h
|
:0040A2FE E80F330000 Call User!CharUpper ---> kete rradh user name esht ne upercase
:0040A303 56 push esi ---> user name tani ktu

* Reference To: cw3220mt._strlen, Ord:0000h
|
:0040A304 E86F300000 Call 0040D378 ---> gjatsia emrit
:0040A309 59 pop ecx
:0040A30A 8BC8 mov ecx, eax ---> ECX=gjatsi
:0040A30C 83F904 cmp ecx, 00000004 ---> gjatsia=4
:0040A30F 7D05 jge 0040A316 ---> le te shkojm te kjo adres
:0040A311 83C8FF or eax, FFFFFFFF
:0040A314 EB67 jmp 0040A37D

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040A30F(C)
|
:0040A316 33D2 xor edx, edx
:0040A318 33C0 xor eax, eax
:0040A31A 3BC8 cmp ecx, eax
:0040A31C 7E17 jle 0040A335 ---> (thjesht nje kontrollim)

Tani para se te vazhdojm instruksionet e tjera EDX = 00000000h
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040A333(C)
|
:0040A31E 0FBE1C06 movsx ebx, byte ptr [esi+eax] ---> EBX <--- karakteret ne user name, offset EAX.
:0040A322 C1E303 shl ebx, 03 ---> kto jan karakteret nga 03h... (majeni men)
:0040A325 0FBE3C06 movsx edi, byte ptr [esi+eax] ---> tani
EDI <--- karakteret ne user name , offset EAX.
:0040A329 0FAFF8 imul edi, eax ---> Shumzon karakteret me offset nga user name (maeni men0
:0040A32C 03DF add ebx, edi ---> shton rezultatet tek EBX
:0040A32E 03D3 add edx, ebx ---> EDX=EDX+EBX!!! Kjo ishte CORE e REGISTRATION ROUTINE
:0040A330 40 inc eax ---> rrite EAX me nji ( +1 ose karakteri qr vjen pas)
:0040A331 3BC8 cmp ecx, eax
:0040A333 7FE9 jg 0040A31E ---> nese ECX

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040A31C(C)
|
:0040A335 A120674100 mov eax, dword ptr [00416720] ---> hmm po kjo car esht :) ?!
:0040A33A C1F803 sar eax, 03 ---> Sjkruani SIce '? EAX'

Upsss e mbani mend kte numrin ne EAX?! jo pergjo po ky esht seriali, (nese nuk e kuptoni perqendrrouni mir dhe kuptojeni me kujdes se car bem)... Tani e dim qe esht
SHR EAX me 03 (SHR e ngjashme me SAR)

:0040A33D 03D0 add edx, eax ---> shton rezultatet SHR me 03h
:0040A33F 52 push edx ---> nga kto un mund tju them se numri regjistrimit esht tek EDX por i paraqitur tek HEX

* Possible StringData Ref from Data Obj ->"%lx"

:0040A340 685EF54000 push 0040F55E
:0040A345 8D95B0FEFFFF lea edx, dword ptr [ebp+FFFFFEB0]
:0040A34B 52 push edx

* Reference To: USER32.wsprintfA, Ord:0000h
|
:0040A34C E8E5320000 Call 0040D636 ---> kjo ben HEX2STR vjeren e EDX dhe e con tek HEX
:0040A351 83C40C add esp, 0000000C
:0040A354 8D8DB0FEFFFF lea ecx, dword ptr [ebp+FFFFFEB0] ---> shkruaj 'd ecx' ---> ky esht numri regjistrimit dhe esht i mjaftushem per ne, vazhdimi esht per te karasuar vlerat e numrin regjistrrimit me numrin ton.
:0040A35A 51 push ecx

* Reference To: USER32.CharLowerA, Ord:0000h
|
:0040A35B E8B8320000 Call 0040D618
:0040A360 8D85B0FEFFFF lea eax, dword ptr [ebp+FFFFFEB0]
:0040A366 50 push eax
:0040A367 FF750C push [ebp+0C]

* Reference To: cw3220mt._strcmp, Ord:0000h
|
:0040A36A E875300000 Call 0040D3E4
:0040A36F 83C408 add esp, 00000008
:0040A372 85C0 test eax, eax
:0040A374 7405 je 0040A37B
:0040A376 83C8FF or eax, FFFFFFFF
:0040A379 EB02 jmp 0040A37D

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040A374(C)
|
:0040A37B 33C0 xor eax, eax
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:0040A314(U), :0040A379(U)
|
:0040A37D 5F pop edi
:0040A37E 5E pop esi
:0040A37F 5B pop ebx
:0040A380 8BE5 mov esp, ebp
:0040A382 5D pop ebp
:0040A383 C3 ret


Per te ber keygen-in tuaj:

Pasi e kuptuat si kuntsionin programi ne gjetjen e kodit te regjistrimit ju mund te shkruani keymarker-in tuaj ose te bazoeni tek ky imi qe kam ber me posht (tek TURBO PASCAL).


Program W3FilerKeygen;
var
Key,SerialNum,EB,ED,digit:Longint;
I,x:Byte;
Name,KeyHex:String;
begin
Writeln(' W3Filer32 V1.1.3 Keymaker');
writeln('U crack nga Emri-Juja');
Write('Emri juaj qe zgjodhet:'); { Lexoje emrin}
readln(Name);
Write('Numri serialit:');
readln(SerialNum); {Na duhet numri serialit per llogarira}
Key:=0;
x:=0;
For I:=1 to length(Name) do
begin
Name[I]:=upcase(Name[i]);
If Name[I]<>' ' then begin
eb:=ord(Name[I]) shl 3; {EB = Name[I] Shl 03h}
Ed:=ord(Name[I]); {ED = Name[I]}
ed:=ed*(x); {ED=ED*Offset}
inc(x);
eb:=eb+ed; {shto ED tek EB}
Key:=Key+EB; {shto EB tek KEY}
end;
end;
Key:=Key+(SerialNum shr 3); { shto SerialNum shr 03h tek Key}
{ Ktu e ben punen HEX2STRING }
KeyHex:='';
repeat
digit:=Key mod 16;
key:=key div 16;
If digit<10 then KeyHex:=Chr(Digit+ord('0'))+KeyHex;
If digit>10 then KeyHex:=Chr(Digit-10+ord('a'))+KeyHex;
until key=0;
writeln('Key Juaj:',KeyHex);
writeln(' Argetouni!');
end.

(BERLINERBOY) I am No nr 1 I am very god