ProTüp Sürüm6.3 |
|
|
|
Program Tipi:Tüp takip programı |
|
OllyDbg v1.10 |
|
|
|
|
Program demo şeklinde.Her bölümünün demo limiti farklı.Ayrıca programcı uyanıklık yapmak istemiş.Limit sayılarını tam olarak degil,genelde bir altı ile kontrol ediyor.
Bu olayla kontrol noktalarını karıştırmak istemiş.Her güzelin bir kusuru olduğu gibi büyük hatalarda yapmış.Kontrol noktalarının biri bulundugu anda diğerleride kolaylıkla bulunuyor.
(İp uçları meydanda.Biraz dikkat olayı çözmek için yeterli oluyor.)
Simdi programa dönün.Kaydet tusuna bir daha basın.Breakpoint calıstı.Ollydbg ye döndük.
Kernel32.dll içindeyiz.F2 ile breakpointi kaldırın.ALT+F9 yapın ki buradan cıkalım.
Şimdi programın kullandıgı DLL dosyalarından biri olan msdasgl.dll ye gectik.Buradan program koduna gelene kadar CTRL+F9 yapın.
Program kodlarına geldik.Burada ya F8 ile trace edecegiz(çok uzun sürer)yada CTRL+F9 ile hata mesajı görülene kadar gidecegiz.
CTRL+F9 en iyisi.Uzun uzun ugrasmayın ben kestirme den söyleyeyim 15 sefer CTRL+F9 yapın sonra F8 ile devam edin.
Yukarıdaki yer stok-ürün işleri bölümünün demo limit kontrol yeri.
00603C87 |. 83F8 09 CMP EAX, 9
00603C8A 7E 23 JLE SHORT 00603CAF ==>Eşit ve küçükse kayda devam.
Programcının bize bıraktıgı ip ucuda ASCII "Bu işlem için yetkiniz yok!..."yazısı bütün limit kontrol yerlerinde var.
Trace ederken bu yazıyı görünce üst satırlara bakın.
PATCH :
00603C8A 7E 23 JLE SHORT 00603CAF ==>Eşit ve küçükse kayda devam.
00603C8A 7E 23 Jmp SHORT 00603CAF ==>Sonuc ne olursa olsun kayda devam.
Bütün bölümlerde yukarıdakileri uygularsanız ve JLE leri JMP yaparsanız.demo limitler kalkıyor.ultra32 ile programda
yazan DEMO yazılarınıda silin.
STOK-YER İŞLEMLERİ:
0060494A |. FF52 58 CALL NEAR DS:[EDX+58]
0060494D |. 83F8 04 CMP EAX, 4
00604950 7E 23 JLE SHORT 00604975
00604952 |. 8B06 MOV EAX, DS:[ESI]
00604954 |. 8B80 14040000 MOV EAX, DS:[EAX+414]
0060495A |. B2 01 MOV DL, 1
0060495C |. E8 8FA0E4FF CALL 0044E9F0
00604961 |. 8B06 MOV EAX, DS:[ESI]
00604963 |. 8B80 1C040000 MOV EAX, DS:[EAX+41C]
00604969 |. B2 01 MOV DL, 1
0060496B |. E8 A8E3E3FF CALL 00442D18
00604970 |. E9 DE020000 JMP 00604C53
00604975 |> 8B06 MOV EAX, DS:[ESI]
00604977 |. 80B8 14050000 00 CMP BYTE PTR DS:[EAX+514], 0
0060497E |. 75 11 JNZ SHORT 00604991
00604980 |. B2 03 MOV DL, 3
00604982 |. B8 E44C6000 MOV EAX, 00604CE4 ; ASCII "Bu işlem için yetkiniz yok!..."
STOK-YABANCI STOK
00607E03 |. FF52 58 CALL NEAR DS:[EDX+58]
00607E06 |. 83F8 04 CMP EAX, 4
00607E09 7E 23 JLE SHORT 00607E2E
00607E0B |. 8B06 MOV EAX, DS:[ESI]
00607E0D |. 8B80 14040000 MOV EAX, DS:[EAX+414]
00607E13 |. B2 01 MOV DL, 1
00607E15 |. E8 D66BE4FF CALL 0044E9F0
00607E1A |. 8B06 MOV EAX, DS:[ESI]
00607E1C |. 8B80 1C040000 MOV EAX, DS:[EAX+41C]
00607E22 |. B2 01 MOV DL, 1
00607E24 |. E8 EFAEE3FF CALL 00442D18
00607E29 |. E9 81020000 JMP 006080AF
00607E2E |> 8B06 MOV EAX, DS:[ESI]
00607E30 |. 80B8 14050000 00 CMP BYTE PTR DS:[EAX+514], 0
00607E37 |. 75 11 JNZ SHORT 00607E4A
00607E39 |. B2 03 MOV DL, 3
00607E3B |. B8 4C816000 MOV EAX, 0060814C ; ASCII "Bu işlem için yetkiniz yok!..."
ABONE:
005F9230 |. FF52 58 CALL NEAR DS:[EDX+58]
005F9233 |. 83F8 1D CMP EAX, 1D
005F9236 7E 2D JLE SHORT 005F9265
005F9238 |. A1 E0BB6600 MOV EAX, DS:[66BBE0]
005F923D |. 8B00 MOV EAX, DS:[EAX]
005F923F |. 8B80 14040000 MOV EAX, DS:[EAX+414]
005F9245 |. B2 01 MOV DL, 1
005F9247 |. E8 A457E5FF CALL 0044E9F0
005F924C |. A1 E0BB6600 MOV EAX, DS:[66BBE0]
005F9251 |. 8B00 MOV EAX, DS:[EAX]
005F9253 |. 8B80 1C040000 MOV EAX, DS:[EAX+41C]
005F9259 |. B2 01 MOV DL, 1
005F925B |. E8 B89AE4FF CALL 00442D18
005F9260 |. E9 F6070000 JMP 005F9A5B
005F9265 |> A1 E0BB6600 MOV EAX, DS:[66BBE0]
005F926A |. 8B00 MOV EAX, DS:[EAX]
005F926C |. 80B8 18050000 00 CMP BYTE PTR DS:[EAX+518], 0
005F9273 |. 75 11 JNZ SHORT 005F9286
005F9275 |. B2 03 MOV DL, 3
005F9277 |. B8 549B5F00 MOV EAX, 005F9B54 ; ASCII "Bu işlem için yetkiniz yok!..."
MASRAF/PRS.
MASRAF:
00615150 |. FF52 58 CALL NEAR DS:[EDX+58]
00615153 |. 83F8 1D CMP EAX, 1D
00615156 7E 23 JLE SHORT 0061517B
00615158 |. 8B07 MOV EAX, DS:[EDI]
0061515A |. 8B80 14040000 MOV EAX, DS:[EAX+414]
00615160 |. B2 01 MOV DL, 1
00615162 |. E8 8998E3FF CALL 0044E9F0
00615167 |. 8B07 MOV EAX, DS:[EDI]
00615169 |. 8B80 1C040000 MOV EAX, DS:[EAX+41C]
0061516F |. B2 01 MOV DL, 1
00615171 |. E8 A2DBE2FF CALL 00442D18
00615176 |. E9 65020000 JMP 006153E0
0061517B |> 8B07 MOV EAX, DS:[EDI]
0061517D |. 80B8 28050000 00 CMP BYTE PTR DS:[EAX+528], 0
00615184 |. 75 11 JNZ SHORT 00615197
00615186 |. B2 03 MOV DL, 3
00615188 |. B8 68546100 MOV EAX, 00615468 ; ASCII "Bu işlem için yetkiniz yok!..."
PERSONEL İŞLEMLERİ:
00615B2E |. FF52 58 CALL NEAR DS:[EDX+58]
00615B31 |. 83F8 1D CMP EAX, 1D
00615B34 7E 2D JLE SHORT 00615B63
00615B36 |. A1 E0BB6600 MOV EAX, DS:[66BBE0]
00615B3B |. 8B00 MOV EAX, DS:[EAX]
00615B3D |. 8B80 14040000 MOV EAX, DS:[EAX+414]
00615B43 |. B2 01 MOV DL, 1
00615B45 |. E8 A68EE3FF CALL 0044E9F0
00615B4A |. A1 E0BB6600 MOV EAX, DS:[66BBE0]
00615B4F |. 8B00 MOV EAX, DS:[EAX]
00615B51 |. 8B80 1C040000 MOV EAX, DS:[EAX+41C]
00615B57 |. B2 01 MOV DL, 1
00615B59 |. E8 BAD1E2FF CALL 00442D18
00615B5E |. E9 67010000 JMP 00615CCA
00615B63 |> A1 E0BB6600 MOV EAX, DS:[66BBE0]
00615B68 |. 8B00 MOV EAX, DS:[EAX]
00615B6A |. 80B8 2C050000 00 CMP BYTE PTR DS:[EAX+52C], 0
00615B71 |. 75 11 JNZ SHORT 00615B84
00615B73 |. B2 03 MOV DL, 3
00615B75 |. B8 305D6100 MOV EAX, 00615D30 ; ASCII "Bu işlem için yetkiniz yok!..."
BANKA/ÇEK
BANKA-HESAP İŞLEMLERİ:
0060D62E |. FF52 58 CALL NEAR DS:[EDX+58]
0060D631 |. 83F8 02 CMP EAX, 2
0060D634 7E 23 JLE SHORT 0060D659
0060D636 |. 8B06 MOV EAX, DS:[ESI]
0060D638 |. 8B80 14040000 MOV EAX, DS:[EAX+414]
0060D63E |. B2 01 MOV DL, 1
0060D640 |. E8 AB13E4FF CALL 0044E9F0
0060D645 |. 8B06 MOV EAX, DS:[ESI]
0060D647 |. 8B80 1C040000 MOV EAX, DS:[EAX+41C]
0060D64D |. B2 01 MOV DL, 1
0060D64F |. E8 C456E3FF CALL 00442D18
0060D654 |. E9 0F020000 JMP 0060D868
0060D659 |> 8B06 MOV EAX, DS:[ESI]
0060D65B |. 80B8 38050000 00 CMP BYTE PTR DS:[EAX+538], 0
0060D662 |. 75 11 JNZ SHORT 0060D675
0060D664 |. B2 03 MOV DL, 3
0060D666 |. B8 CCD86000 MOV EAX, 0060D8CC ; ASCII "Bu işlem için yetkiniz yok!..."
ÇEK-ALINAN ÇEK:
0060E932 |. FF52 58 CALL NEAR DS:[EDX+58]
0060E935 |. 83F8 09 CMP EAX, 9
0060E938 7E 23 JLE SHORT 0060E95D
0060E93A |. 8B06 MOV EAX, DS:[ESI]
0060E93C |. 8B80 14040000 MOV EAX, DS:[EAX+414]
0060E942 |. B2 01 MOV DL, 1
0060E944 |. E8 A700E4FF CALL 0044E9F0
0060E949 |. 8B06 MOV EAX, DS:[ESI]
0060E94B |. 8B80 1C040000 MOV EAX, DS:[EAX+41C]
0060E951 |. B2 01 MOV DL, 1
0060E953 |. E8 C043E3FF CALL 00442D18
0060E958 |. E9 9A040000 JMP 0060EDF7
0060E95D |> 8B06 MOV EAX, DS:[ESI]
0060E95F |. 80B8 38050000 00 CMP BYTE PTR DS:[EAX+538], 0
0060E966 |. 75 11 JNZ SHORT 0060E979
0060E968 |. B2 03 MOV DL, 3
0060E96A |. B8 DCEE6000 MOV EAX, 0060EEDC ; ASCII "Bu işlem için yetkiniz yok!..."
0060E96F |. E8 A088EDFF CALL 004E7214
ÇEK-VERİLEN ÇEK:
0060E932 |. FF52 58 CALL NEAR DS:[EDX+58]
0060E935 |. 83F8 09 CMP EAX, 9
0060E938 7E 23 JLE SHORT 0060E95D
0060E93A |. 8B06 MOV EAX, DS:[ESI]
0060E93C |. 8B80 14040000 MOV EAX, DS:[EAX+414]
0060E942 |. B2 01 MOV DL, 1
0060E944 |. E8 A700E4FF CALL 0044E9F0
0060E949 |. 8B06 MOV EAX, DS:[ESI]
0060E94B |. 8B80 1C040000 MOV EAX, DS:[EAX+41C]
0060E951 |. B2 01 MOV DL, 1
0060E953 |. E8 C043E3FF CALL 00442D18
0060E958 |. E9 9A040000 JMP 0060EDF7
0060E95D |> 8B06 MOV EAX, DS:[ESI]
0060E95F |. 80B8 38050000 00 CMP BYTE PTR DS:[EAX+538], 0
0060E966 |. 75 11 JNZ SHORT 0060E979
0060E968 |. B2 03 MOV DL, 3
0060E96A |. B8 DCEE6000 MOV EAX, 0060EEDC ; ASCII "Bu işlem için yetkiniz yok!..."
SATIN ALMA:
SATICI KAYIT:
006591A6 |. FF52 58 CALL NEAR DS:[EDX+58]
006591A9 |. 83F8 04 CMP EAX, 4
006591AC 7E 2D JLE SHORT 006591DB
006591AE |. A1 E0BB6600 MOV EAX, DS:[66BBE0]
006591B3 |. 8B00 MOV EAX, DS:[EAX]
006591B5 |. 8B80 14040000 MOV EAX, DS:[EAX+414]
006591BB |. B2 01 MOV DL, 1
006591BD |. E8 2E58DFFF CALL 0044E9F0
006591C2 |. A1 E0BB6600 MOV EAX, DS:[66BBE0]
006591C7 |. 8B00 MOV EAX, DS:[EAX]
006591C9 |. 8B80 1C040000 MOV EAX, DS:[EAX+41C]
006591CF |. B2 01 MOV DL, 1
006591D1 |. E8 429BDEFF CALL 00442D18
006591D6 |. E9 CC020000 JMP 006594A7
006591DB |> A1 E0BB6600 MOV EAX, DS:[66BBE0]
006591E0 |. 8B00 MOV EAX, DS:[EAX]
006591E2 |. 80B8 3C050000 00 CMP BYTE PTR DS:[EAX+53C], 0
006591E9 |. 75 11 JNZ SHORT 006591FC
006591EB |. B2 03 MOV DL, 3
006591ED |. B8 34956500 MOV EAX, 00659534 ; ASCII "Bu işlem için yetkiniz yok!..."
Patchmaker için kodlar:
APATCH
Address Size State Old New
005F9236 2. Active JLE SHORT 005F9265 JMP SHORT 005F9265
00603C8A 2. Active JLE SHORT 00603CAF JMP SHORT 00603CAF
00604950 2. Active JLE SHORT 00604975 JMP SHORT 00604975
00607E09 2. Active JLE SHORT 00607E2E JMP SHORT 00607E2E
0060D634 2. Active JLE SHORT 0060D659 JMP SHORT 0060D659
0060E938 2. Active JLE SHORT 0060E95D JMP SHORT 0060E95D
00615156 2. Active JLE SHORT 0061517B JMP SHORT 0061517B
00615B34 2. Active JLE SHORT 00615B63 JMP SHORT 00615B63
00616FAC 2. Active JLE SHORT 00616FDB JMP SHORT 00616FDB
006591AC 2. Active JLE SHORT 006591DB JMP SHORT 006591DB
Bu tutoriali yazmaktaki amacım programcılara ,programlarını daha iyi korumaları için yol göstermektir..
Son olarak şunu söyleyeyim:Bir programı kullanarak para kazanıyorsanız,o programı mutlaka satın alın.Emeğe değer verin...
Lisansız kullanımdan tutoriali hazırlayanlar sorumlu değildir.
Bu yazıda yazım yanlışları , bilgi hatası
olabilir.Eğer bir yanlış bulursanız bana mail atın düzeltmeye çalışırım.
E-Mail: kresuz