Solide Snake
01.07.2007, 16:46
Итак, в сети я не видел туториалов на DateX 1.0, но кейген найти можно без особых проблем. Но давайте напишем его сами:)
Я не буду описывать то, как найти адрес 4AC712, который является адресом начала генерации сернама. Смотрите, по адресу 4aC717 в еах заносится ваш сгенерированный сернам, а дальше идут вычисления:
016F:004AC712 MOV [004B567C],EAX <-в 4b567c наш сернам
016F:004AC717 MOV EAX,[004B567C] <-в еах сернам
016F:004AC71C ADD EAX,BYTE +05 <-eax=eax+5
016F:004AC71F IMUL EAX,EAX,08088405 <-множим на 8088405h
016F:004AC725 INC EAX <-eax+1
016F:004AC726 MOV ECX,3B9ACA00 <-ecx=3b9aca00h
016F:004AC72B CDQ <-cdq
016F:004AC72C IDIV ECX <-делим ecx
016F:004AC72E MOV EAX,EDX <-eax=edx
016F:004AC730 CDQ <-cdq
016F:004AC731 XOR EAX,EDX <-ксорим eax и edx
016F:004AC733 SUB EAX,EDX <-eax=eax-edx
016F:004AC735 MOV [004B5680],EAX <-записываем наш РН!
Как видете вычисления не особо сложные. Далее...
Пишем кейген без VCL...но не на WinAPI, а на KOL. Рабочий кейген у меня на KOL 28,5 Кб без сжатия. Со сжатием UPX 1.24 - 16,5 Кб.
Вот сам кейген:
procedure TForm1.EditBox1Change(Sender: PObj);
var sn,res:cardinal;
p:cardinal;
begin
sn:=str2int(editbox1.text);
p:=$3B9ACA00;
asm
mov eax, sn
add eax,5
imul eax,eax, $8088405
inc eax
mov ecx, p
cdq
idiv ecx
mov eax,edx
cdq
xor eax,edx
sub eax,edx
mov res,eax
end;
editbox2.Text:=int2str(res);
end;
Я не стал всё это переводить в паскаль, и оставил всё в ассемблере. Как мы видим, в еах засовываем сернам, а на выходе в res из еах. Попробуйте это на VCL, разницы в результате никакой.
ahteam.org (c)
Я не буду описывать то, как найти адрес 4AC712, который является адресом начала генерации сернама. Смотрите, по адресу 4aC717 в еах заносится ваш сгенерированный сернам, а дальше идут вычисления:
016F:004AC712 MOV [004B567C],EAX <-в 4b567c наш сернам
016F:004AC717 MOV EAX,[004B567C] <-в еах сернам
016F:004AC71C ADD EAX,BYTE +05 <-eax=eax+5
016F:004AC71F IMUL EAX,EAX,08088405 <-множим на 8088405h
016F:004AC725 INC EAX <-eax+1
016F:004AC726 MOV ECX,3B9ACA00 <-ecx=3b9aca00h
016F:004AC72B CDQ <-cdq
016F:004AC72C IDIV ECX <-делим ecx
016F:004AC72E MOV EAX,EDX <-eax=edx
016F:004AC730 CDQ <-cdq
016F:004AC731 XOR EAX,EDX <-ксорим eax и edx
016F:004AC733 SUB EAX,EDX <-eax=eax-edx
016F:004AC735 MOV [004B5680],EAX <-записываем наш РН!
Как видете вычисления не особо сложные. Далее...
Пишем кейген без VCL...но не на WinAPI, а на KOL. Рабочий кейген у меня на KOL 28,5 Кб без сжатия. Со сжатием UPX 1.24 - 16,5 Кб.
Вот сам кейген:
procedure TForm1.EditBox1Change(Sender: PObj);
var sn,res:cardinal;
p:cardinal;
begin
sn:=str2int(editbox1.text);
p:=$3B9ACA00;
asm
mov eax, sn
add eax,5
imul eax,eax, $8088405
inc eax
mov ecx, p
cdq
idiv ecx
mov eax,edx
cdq
xor eax,edx
sub eax,edx
mov res,eax
end;
editbox2.Text:=int2str(res);
end;
Я не стал всё это переводить в паскаль, и оставил всё в ассемблере. Как мы видим, в еах засовываем сернам, а на выходе в res из еах. Попробуйте это на VCL, разницы в результате никакой.
ahteam.org (c)