Geri Git   ForumSinsi - 2006 Yılından Beri > Bilgisayar,Teknoloji & İnternet Dünyası > Yazılım & Donanım

Yeni Konu Gönder Yanıtla
 
Konu Araçları
crack, partiv, yapılır

Crack Nasıl Yapılır ? - Part-IV

Eski 11-28-2007   #1
RaHaTSiZ
Varsayılan

Crack Nasıl Yapılır ? - Part-IV



Günümüzde bir çok program ‘registration (kayıt olma)’ bug ına sahiptir Bu bug, program çalıştırıldığında geçerli bir kod girilmesini isteyen bir ekran şeklinde belirecektir Doğru kod girilmediğinde program çalışmayacaktır Bu durumda, debugger’lar Code Reversing ( Kod değiştirme) işlemi için kullanılmaktadır [12]

Bir çok Reverse Engineer ( exe kodu değiştiren kişi-cracker ) tarafından tercih edilen debugger olması ve örnek program kırılımında da kullanılması sebebiyle burada Soft-ICE debugger’ından bahsedilmektedir:

531 Soft-ICE
Soft-ICE, düşük seviyeli (hardware-level) bir yazılım debug etme programıdır Soft-ICE’ın geliştirilme sebepleri şunlardır [13]:

Yüksek seviyeli (software-level) debugger ların gerçekleştiremediği ya da çok yavaş gerçekleştirdiği debug mekanizmalarına (düşük seviyeli breakpointler koyma, memory protection, kilitlenen programlardan çıkma vb) 80386 sanal makine özelliği sağlar
Güçlü bir hata kontrolü sağamak için yeni bir debugger kullanımını öğrenmek gerekmez Soft-ICE eski debugger larla çalışabilme imkanı verir
Kullanımı kolay bir ekrana sahiptir Ekranı öncelikle diğer debugger larla beraber çalışılabilecek şekilde küçük olarak gelir Tek başına çalıştırılmak istendiğinde ekran büyütülebilir Her iki durumda da komutlar ekrana sığabilecek şekilde düzenlenmiştir
------------------------------------
5311 Özellikleri

Soft-ICE programının sağladığı özellikler de şu şekildedir [13]:

• Hafıza okuma/yazma, port okuma/yazma, hafıza düzenlemeleri ve interruptlar esnasında gerçek zamanlı durma noktaları (breakpoint),

• Sembolik ve kaynak seviyeli debugging,

• Eski debugger larla çalışabilme özelliği,

• I/O portlarının ayarlanması, hafızada adres çakışması gibi sorunlar çıkarmadan kurulabilme imkanı,

• Kullanıcıya öğrenim kolaylığı sağlayan dinamik bir Help,

• DOS harici işletim sistemleri ve kendisini boot edebilen programlarda hata ayıklamaya izin veren soft boot (yeniden başlatma) imkanı,

• Diğer programlara ihtiyaç duymadan(stand-alone) kullanılabilme imkanı sağlar

5312 Kurulumu ve gerekli ayarlamaların yapılması
Soft-ICE’ın kurulumu esnasında ilk ekran ve register ekranı geçildikten sonra, debugger’ın kurulacağı dizinin belirlenmesini isteyen bir ekran gelecektir Şekil 56’da bu ekran görüntüsü görülmektedir Burada browse düğmesi yardımıyla debugger’ın kurulması istenen dizin belirlenebilir

Soft-ICE kurulduktan sonra autoexecbat dosyasında şöyle bir satırın olması gerekmektedir:
C:Progra~1NuMegaSoftIc~1winiceexe

Burada, kurulan klasör veya sürücü farklı olabilir fakat Soft-ICE’ın mutlaka Windows’tan önce başlaması gerektiğinden, bu satırın winiceexe dosyasını göstermesi gerekmektedir Eğer satır yoksa, autoexecbat dosyasına eklenmelidir [5]

Eğer Softice 'ı kullanım amacımıza uygun şekilde ayarlamak için winicedat dosyasının değiştirilmesi gerekmektedir Bu dosya Softice' ın kurulduğu dizindedir Bu dosya herhangi bir text editörü ile açılıp, değiştirilebilir Dosyanın değiştirilmiş hali aşağıda verilmiştir
PENTIUM=ON ;Eğer bilgisayarınız pentium ise bunu On yapın aksi halde Off 'u
Winicedat dosyası

NMI=ON ; Eğer bilgisayar pentium ise On, aksi halde Off olmalıdır

ECHOKEYS=OFF
NOLEDS=OFF
NOPAGE=OFF
SIWVIDRANGE=ON
THREADP=ON
LOWERCASE=OFF
WDMEXPORTS=OFF
MONITOR=0

PHYSMB=64 ;Buradaki değer bilgisayardaki gerçek RAM boyutunu gösterecek şekilde ayarlanır
SYM=1024 ;Kaynak kodundaki sembolleri saklamak için 1Mb lık yer ayırır
HST=256 ;Geçmiş komutları saklamak için 256 K yer ayırır
TRA=8
MACROS=32
DRAWSIZE=2048

;Bundan sonraki yerler tavsiye edilen ayarlardır
;Mevcut sisteme uygun şekilde değiştirilebilir

X; = Softice'tan çık Noktalı virgül enter'a basılması gerektiğini belirtiyor
wl; = Sofice'ta lokal değişkenler penceresini açıp kapatır
code on; = Dissamble edilmiş kodun hexadecimal değerini gösterir
altscr off; = Softice'ın herşey için aynı ekranı kullanmasını sağlar
Lines 57; = Pencerenin boyutunu ayarlar
wc; = Softice kod penceresinin boyutunu belirtir
wd; = Softice hexadecimal penceresinin boyutunu belirtir
wr; = Register(kaydedici) ları pencerenin tepesinde gösterir
faults off; = Windows'un çökmesi halinde Softice'ın çalışmasını engeller

INIT="X;"
INIT="wl;code on; altscr off; lines 57; wc 32; wd 8; wr; faults off;"

F1="h;" ;Bu ayarlar fonksiyon tuşlarını tanımlar
F2="^wr;"
F3="^src;"
F4="^rs;"
F5="^x;"
F6="^ec;"
F7="^here;"
F8="^t;"
F9="^bpx;"
F10="^p;" ; F10 (Kod içinde adım adım dolaşma) kırarken çok kullanılır
F11="^G @SS:ESP;" ;F11 Call (çağrı) dan program rutinine dönülmesini sağlar
F12="^p ret;"
SF3="^format;"
CF8="^XT;"
CF9="TRACE OFF;"
CF10="^XP;"
CF11="SHOW B;"
CF12="TRACE B;"
AF1="^wr;"
AF2="^wd;"
AF3="^wc;"
AF4="^ww;"
AF5="CLS;"
AF8="^XT R;"
AF11="^dd dataaddr->0;"
AF12="^dd dataaddr->4;"
CF1="code on; altscr off; lines 57; wc 32; wd 8; wr; wl; ww 2; faults off"
CF2="^wr;^wd;^wc;"

; WINICEDAT
; (SIW95WINICEDAT)
; for use with SoftICE Version 32 (Windows 95)
; 14 July 1997
; Path, Soft-Ice'ın kurulduğu mevcut dizin ve dosya ile değiştirilmelidir

EXP=c:windowssystemkernel32dll ;Buradaki satırlar Soft-ICE 'ın otomatik olarak
EXP=c:windowssystemuser32dll ;yükleyeceği dll'leri gösterir Hangi
EXP=c:windowssystemgdi32dll ;rutinlerin program tarafından kullanıldığını
EXP=c:windowssystemcomdlg32dll ;bildirirGenelde bir çok program bu dll'leri
EXP=c:windowssystemshell32dll ; kullanır Bu yüzden bu dll'lerin Softice EXP=c:windowssystemshell232dll ; tarafından yüklenmesi gerekmektedir

Winicedat 'a yapılan her değişikliğin etkili olabilmesi için Windows'un yeniden başlatılması gerekir Mevcut Winicedat dosyasında bu değişiklikler gerçekleştirilerek Soft-ICE'ın kullanım amacına uygun şekilde çalışması sağlanmış olur [5]

Soft-ICE'ın kullanımında yaygın bir sıkıntı da, debugger'ın istenilen şekilde başlatılması için autoexecbat dosyasının değiştirilmesidir Soft-ICE'ın Windows'la birlikte mi yoksa istenildiği zaman mı başlatılacağını belirlemek için, autoexecbat ve configsys dosyaları aşağıda verilen şekilde değiştirilebilir Soft-ICE'ın Windows'la birlikte yüklenmesinin dezavantajı, her an aktif olması ve bizim isteğimiz dışında da açılabilmesidir Gerçekleştirilen değişiklikler sayesinde, Windows her başlatıldığında bilgisayarın nasıl açılması gerektiğini soracaktır [5]

Bu satırlar autoexecbat ve configsys dosyalarının sonuna eklenmelidir Dosyanın başına eklendiğinde sorun çıkarır [4,5]

Autoexecbat dosya örneği
Rem -----Buradan itibaren kopyalanır-------
goto %config%
REM Soft-ICE'ı başlat - softice in kurulu oldugu yere dikkat edilmelidir
:SICE
C:PROGRA~1NUMEGASOFTIC~1WINICEEXE
REM Soft-ICE olmadan baslat
:NORM
Rem ----Buradan kesilir------

Configsys dosya örneği
Rem -----Buradan itibaren kopyalanır-------
REM Menüyü olustur
[MENU]
MENUITEM NORM,Windows 98
MENUITEM SICE,SoftICE ile Windows 98
MENUDEFAULT NORM,5
[NORM]
[SICE] Rem ----Buradan kesilir-----

5313 Kullanımı

Kurulum tamamlandıktan ve gerekli düzenlemeler gerçekleştirildikten sonra, programın debug edilmesine geçilir Soft-ICE ile debug edilecek program açıldıktan sonra, Ctrl+D yardımı ile Soft-ICE editörüne geçilir Program, breakpointler ile durdurulur En fazla kullanılan breakpointler, bpx getwindowtexta ve bpx getdlgitemtexta’dır Bu fonksiyonların sonundaki a karakterleri, 32 bit programlar için kullanılacağını göstermektedir Breakpoint konulduktan sonra fonksiyon tuşları yardımıyla kodlar incelenip, düzeltmeler yapılabilir [13]

Bazı durumlarda, bpx getwindowtexta breakpointi konduğunda hata mesajı alınabilir Bunun sebebi, Soft-ICE'ın bu API'yi tanımamasıdır Bu API'nin tanıtılması şu şekilde olacaktır [4]:

Soft-ICE programı ilk kurulduğunda,

1 Symbol loader'a girip Edit menüsünden 'Soft-ICE initilization settings' yazan bölüme 'x: lines 40; wd; wr; wc 20; code on;' yazılır Buradaki 40 ve 20 rakamları kullanılan ekran çözünürlüğüne göre ayarlanabilir 'Code on' komutu assembly komutlarının yanında heksadesimal olarak makine kodlarının da yer almasını sağlayarak, patch hazırlanırken yardımcı olacaktır

2 Winicedat dosyasını not defteri ile açarak, başında EXP ibaresi olan tüm satırların önündeki noktalı virgül ( işaretleri kaldırılmalıdır Bu durumda Soft-ICE, Windows API'lerinden haberdar olacaktır Ayrıca Soft-ICE'ta iken başı hatırlanan bir API'yi bulmak için 'exp' komutu kullanılabilir Mesela, 'exp getwindow' komutu ile getwindow ile başlayan tüm API'ler sıralanacaktır

Soft-ICE'ın kurulmasına rağmen etkili bir şekilde kullanmayı öğrenmek, zaman ve uygulama gerektirir Soft-ICE'a geçmek için daha önce de söylendiği üzere, Ctrl+D tuşları kullanılır Bu tuşlara basılması bütün programları durdurarak Soft-ICE ekranına geçilmesini sağlar Softice'a geçildiğinde birkaç pencere ve değişik bilgiler görülür Alttaki pencere komutların yazıldığı input penceresidir Soft-ICE'ta kullanılan bazı komutların görevleri [13];

x = Soft-ICE'tan çıkar
bpx = Soft-ICE' a belli API kodlarında dur emri verir
bpm = Soft-ICE' a belli bellek bölgelerinde dur emri verir
bpr = Belli hafıza bölegelerinde dur emri verir
d = Belleği ve yazılı olan değerleri gösterir
e = Bellekteki değerleri değiştirir
cls = Input penceresini temizler
s 0 l ffffffff 'text' = Hafızada text yazısını arar

Bu komutlar, program içinde aşağıdaki şekilde kullanılır:

bpx getdlgitemtexta ;Soft-ICE' a bu API kodunu görünce dur komutunu verir
bpm 0157:0009AC2D ;Soft-ICE' a verilen bellek adresine erişildiğinde dur komutunu verir
bpr 0157:00643345 0157:00643345 ;İki adres arasında bir adrese erişildiği zaman dur komutunu verir
d 00456787 ; Verilen bellek adresinde tutulan değerleri gösterir
d eax ; eax register(kaydedici) ının belirttiği yerdeki belleği gösterir

Input penceresinde kullanılan komutların görevleri de aşağıda verilmiştir:

bl = O andaki breakpointleri gösterir ((00) BPX #0028:09876543 C=01 gibi)
bc = O anda konulmuş breakpoint'leri temizler (bc 1 bir nolu breakpointi siler)
bd = Breakpoint'i kapatır (bd 0 0 nolu breakpointi kapatır)
be = Breakpoint'i açar (be 0, kapatılan 0 nolu breakpointi açar)
? = Belli bir register veya sayının değerini gösterir ( ? 23 # gibi)

Soft-ICE’ın kullanımı için gerekli fonksiyon tuşlarının görevleri de aşağıdaki şekildedir:

F1 : Genel Help’i görüntüler "^H;"

F2 : Register penceresini getirir "^WR;"

F3 : Mevcut kod modunu değiştirir "^SRC;"

F4 : Ekranı yeniler "^RS;"

F5 : Programa dönüşü sağlar "^X;"

F6 : Kursörü komut ve kod pencereleri arasına konumlandırır "^EC;"

F7 : Kursörün bulunduğu satıra gider "^HERE;"

F8 : Satır satır çalıştırma "^T;"

F9 : Kursörün bulunduğu satıra durma noktası(breakpoint) koyar "^BPX;"

F10 : Program basamakları "^P;"

F11 : Dönüş adresine gider "^G @SS:SP;"

F12 : Soft-ICE’ın versiyon numarasını görüntüler "^VER;"

Soft-ICE' la program kırma tekniği, komutlar ve fonksiyon tuşları yardımıyla kodlar incelenerek kırılacak programın gerçek seri numarasının bulunmaya çalışılmasına dayanır







SONUÇ



Bir programın kanunlar dahilinde ve tam versiyon olarak kullanılabilmesi için satın alınması gerekir Günümüzde Internet'te ya da bilgisayar dergileri tarafından verilen CD'lerde shareware veya freeware programlara erişmek mümkündür Bunlar üretici firmaların programları tanıtmak ve alınmasını sağlamak için başvurdukları bir yöntemdir Shareware programlar, belli bir süre sonunda ya belirli bir miktar ücret ödeyip bu yazılımın satın alınmasını ya da kullanıcının bilgisayarından silinmesini talep etmektedirler Bunun yanında freeware programlar için para ödenmesi gerekmemektedir Artık bilgisayar programlarının maddi açıdan alınmasının zorlaşması, her yeni çıkan programı almanın imkansız olması nedeniyle shareware programların da koruma kodları kaldırılarak para ödenmeden kullanımı sağlanabilmektedir Günümüzde piyasaya yeni çıkan programların birkaç gün içerisinde kırılıp, crack patch’inin internete konulduğu görülmektedir Fakat bu işlem, devletler hukukları altında korunan programcının hakları ve telif ücretleri açısından illegal bir durumdur

Program kırabilmek için programcılıktan ve Assembly dili komutlarından biraz anlamak gerekir Ayrıca program kırılımı sırasında kullanılan Disassembler, Hex Editör ve Debugger gibi programların kullanımını öğrenmek gerekmektedir Bu tezde, kırılıma yardımcı programların tanıtımı yapılmış, ayrıca programlardan şifre, fonksiyon, zaman ve CD korumalarının kaldırılma aşamaları gösterilmiştir

Program kırmaktaki tek amaç, programa bedavadan sahip olmak olmamalıdır Çünkü, program mutlaka daha önce başka biri tarafından kırılmıştır ve crack'ini ya da full versiyonunu internetten bulmak mümkündür Asıl amaç, kullanılan programların bizden habersiz neler yaptıklarını bilmek ve herşeyin kontrolümüz altında olmasını sağlamak olmalıdır





C:Progra~1NuMegaSoftIc~1winiceexe

Burada, kurulan klasör veya sürücü farklı olabilir fakat Soft-ICE’ın mutlaka Windows tan önce başlaması gerektiğinden, bu satırın winiceexe dosyasını göstermesi gerekmektedir Eğer bu satır yoksa, autoexecbat dosyasına eklenmelidi

Soft-ICE kurulduktan sonra autoexecbat dosyasında şöyle bir satırın olması gerekmektedir:
C:Progra~1NuMegaSoftIc~1winiceexe

Burada, kurulan klasör veya sürücü farklı olabilir fakat Soft-ICE’ın mutlaka Windows tan önce başlaması gerektiğinden, bu satırın winiceexe dosyasını göst

Soft-ICE kurulduktan sonra autoexecbat dosyasında şöyle bir satırın olması gerek
C:Progra~1NuMegaSoftIc~1winiceexe

Burada, kurulan klasör veya sürücü farklı olabilir fakat Soft-ICE’ın mutlaka Windows tan önce başlaması gerektiğinden, bu satırın winiceexe dosyasını göstermesi gerekmektedir

Alıntı Yaparak Cevapla
 
Üye olmanıza kesinlikle gerek yok !

Konuya yorum yazmak için sadece buraya tıklayınız.

Bu sitede 1 günde 10.000 kişiye sesinizi duyurma fırsatınız var.

IP adresleri kayıt altında tutulmaktadır. Aşağılama, hakaret, küfür vb. kötü içerikli mesaj yazan şahıslar IP adreslerinden tespit edilerek haklarında suç duyurusunda bulunulabilir.

« Önceki Konu   |   Sonraki Konu »


forumsinsi.com
Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ForumSinsi.com hakkında yapılacak tüm şikayetlerde ilgili adresimizle iletişime geçilmesi halinde kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde gereken işlemler yapılacaktır. İletişime geçmek için buraya tıklayınız.