Итак, в сети я не видел туториалов на DateX 1.0, но кейген найти можно без особых проблем. Но давайте напишем его сами Я не буду описывать то, как найти адрес 4AC712, который является адресом начала генерации сернама. Смотрите, по адресу 4aC717 в еах заносится ваш сгенерированный сернам, а дальше идут вычисления: Code: 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 Кб. Вот сам кейген: Code: 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)