Пишем кейген для DateX 1.0 на Delphi

Discussion in 'Реверсинг' started by Solide Snake, 1 Jul 2007.

  1. Solide Snake

    Solide Snake Banned

    Joined:
    28 Apr 2007
    Messages:
    382
    Likes Received:
    820
    Reputations:
    69
    Итак, в сети я не видел туториалов на 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)
     
    #1 Solide Snake, 1 Jul 2007
    Last edited: 3 Jul 2007
    2 people like this.
  2. ProTeuS

    ProTeuS --

    Joined:
    26 Nov 2004
    Messages:
    1,239
    Likes Received:
    542
    Reputations:
    445
    топику в разделе реверсинга место...

    Moder: ok, топик перенесён в реверсинг.
     
    #2 ProTeuS, 3 Jul 2007
    Last edited by a moderator: 3 Jul 2007
    5 people like this.