07-01-2010
|
#12
|
Şengül Şirin
|
Cevap : Program Kırma Yöntemlerinin Eğitim Amaçlı İncelenmesi
2 3 8 Programın seri numarasının hesaplanışı
Programın serial’ının nasıl hesaplandığını görmek için 00424789 deki call a F8 ile girilebilir Hesaplama şu şekilde gerçekleşmektedir İlk başta isim en az 5 karakter mi diye bakılıp, daha sonra boydan 4 çıkartılır ve 4 karakterden sonraki her karakter 5DFEE4A4H ile xor edilip toplanır Assembly de yazılacak olursa, kod şu şekilde olur :
mov edi, offset szName ; İsmi edi ye yolla
push edi
call lstrlen ; Listele
cmp eax, 5 ; 5 ten düşükse işlemi durdur
jl ExitProc0
add eax, -4 ; 4 çıkart
xor ebx, ebx ; ebx i sıfırla
lea edi, szName ; İsmi al
mov esi, 5DFEE4A4H ; Numarayı esi ye yolla
Hesapla:
cmp ebx, eax ; Sona gelindi mi ?
jae Goster
xor esi, [edi+ebx] ; Değilse Xor la
inc ebx ; Ebx i artır
jmp Hesapla
Goster:
mov eax,esi ; Serial eax 'ta
__________________
Arkadaşlar, efendiler ve ey millet, iyi biliniz ki, Türkiye Cumhuriyeti şeyhler, dervişler, müritler, meczuplar memleketi olamaz En doğru, en hakiki tarikat, medeniyet tarikatıdır
|
|
|