PDF Machine v1.9

amois

Program Url: CHIP Kasim 2001 CD si
Program Tipi: PDF Maker

Araçlar:

 

SoftICE

Basit (x)  Orta (x)  Zor ( )  Pro ( )

Başlangıç

Dokumanlarinizi PDF formatina ceviren bir program.

 

Yazı

 

Install sirasinda "Registration Code" umuzun olup olmadigini soruyor. Sallama degerler girelim.
[bpx messageboxa] --> Enter --> [F11] --> [F10]

:004249D6 mov ebp, esp                     <-- [d esp] --> gecerli kod
:004249D8 call 004260F7
:004249DD mov eax, dword ptr [eax+04]
:004249E0 test eax, eax
:004249E2 je 004249F9                      <-- iyi cocuk
:004249E4 push [ebp+10]
:004249E7 mov edx, dword ptr [eax]
:004249E9 mov ecx, eax
:004249EB push [ebp+0C]
:004249EE push [ebp+08]
:004249F1 call dword ptr [edx+0000008C]    <-- hata
:004249F7 jmp 00424A09                     <-- buradayiz


Cok basit bir bicimde gecerli kodu bulduk. Ornegin; amois --> 14164-17***

KeyGen algoritmasini cozmeye calisalim. Sallama degerler girdikten sonra --> [bpx hmemcpy]
Bu noktadan sonra [F10] ile takip edip ve memory kontrol yaparak, programin girdigimiz user name degerini nerede isleme tabii tuttugunu bulmamiz gerek.

:004022B5 push edx
:004022B6 push eax                         <-- [d eax] --> girdigimiz user name
:004022B7 call 00401FA0                    <-- serial hesapla
:004022BC mov eax, dword ptr [esi+5C]
:004022BF push eax
:004022C0 lea eax, dword ptr [esp+10]      <-- [d eax] --> serial
:004022C4 push eax


[bpx 4022B7] --> icine girelim --> donguye girdigimiz yerleri inceleyelim.

:004020B3 lea eax, dword ptr [edx-01]
:004020B6 and eax, 80000001
:004020BB jns 004020C2
:004020BD dec eax
:004020BE or eax, FFFFFFFE
:004020C1 inc eax
:004020C2 jne 004020D1                          <-- tek ise zipla
:004020C4 movsx ecx, byte ptr [esi+edx]         <-- ecx = a o s g i k m o q s
:004020C8 imul ecx, edx                         <-- sira no ile carp
:004020CB add dword ptr [esp+18], ecx
:004020CF jmp 004020DC
:004020D1 movsx eax, byte ptr [esi+edx]         <-- eax = m i f h j l n p r t
:004020D5 imul eax, edx                         <-- sira no ile carp
:004020D8 add dword ptr [esp+14], eax
:004020DC lea edi, dword ptr [esp+1C]           <-- edi = amoisfghijklmnopqrst
:004020E0 or ecx, FFFFFFFF
:004020E3 xor eax, eax
:004020E5 inc edx
:004020E6 repnz
:004020E7 scasb
:004020E8 not ecx
:004020EA dec ecx
:004020EB lea eax, dword ptr [edx-01]
:004020EE cmp eax, ecx                         <-- 20 harf oldu mu ?
:004020F0 jb 004020B3


Girdigimiz "User ID", "a" dan "t" ye kadar 20 harften olusan kumenin uzerine yaziliyor. Ortaya yeni bir dizilim cikiyor. Her harf, kendi ascii degeri ve sira nosu ile carpilip bir deger bulunuyor. Sira nosu tek olanlar bir degere, cift olanlar baska bir degere ataniyor.

:004020F2 mov ecx, dword ptr [esp+14]
:004020F6 mov edx, dword ptr [esp+18]
:004020FA mov eax, dword ptr [esp+000000EC]
:00402101 add ecx, 00001473                    <-- ecx = ecx + 5235 = 17***
:00402107 add edx, 00000C38                    <-- edx = edx + 3128 = 14164


Sonucta, teklerin toplamina 3128, ciftlerin toplamina 5235 eklenerek iki farkli sayi bulunuyor. Bu iki sayinin arasina "-" isareti konunca gecerli password ortaya cikiyor. KeyGen imizi yine AutoLISP de yazacagim.

(DEFUN C:PDF ()
(atoms-family 0)
(setq  kume "abcdefghijklmnopqrst"
       user_id (getstring "\nUser ID=")
       user_id_uzun (strlen user_id)
       kalan (substr kume (+ 1 user_id_uzun))
       sonuc (strcat user_id kalan)
       sayac 1 tek_toplam 0 cift_toplam 0)
(repeat 10
(setq  tek (ascii (substr sonuc sayac 1))
       cift (ascii (substr sonuc (+ 1 sayac) 1))
       tek_toplam (+ tek_toplam (* tek sayac))
       cift_toplam (+ cift_toplam (* cift (+ 1 sayac)))
       sayac (+ 2 sayac))
)
(setq  tek_toplam (+ tek_toplam 3128)
       cift_toplam (+ cift_toplam 5235))
(princ "Serial=")(princ tek_toplam)(princ "-")(princ cift_toplam)(princ)
)

 

Son Notlar

Bir programı kullanarak para kazanıyorsanız, programı satın alın.