- C R A C K I N G -
BU TÜR BEDAVA HİZMETLERİN DEVAMLILIĞINI SAĞLAMAK İÇİN LÜTFEN TIKLAYIN!
DEBUG İLE DOS ORTAMINDA, PROGRAM VE ANAHTAR DİSKETLİ PROGRAMLAR NASIL KIRILIR...
İÇİNDEKİLER:
-----------------
i) İçindekiler
ii) Kısa bilgi
I) Kırma işlemini nasıl yapacağız ?
Dos altında kırma işlemleri
IBM PC bolumu 1 altında kırma işlemleri
IBM PC bolumu 2 altında kırma işlemleri
II) Örnek kirilmiş programlar
Mean-18 by Accolade
Submarine By Eypx
Spaca Station Oblivation by Eypx
III) Dos altında yapılan işlemler için sorular
IV) Bottlari kırmak
V) Baslık ekranları oluşturmak
--------------------------------------------------------------------
Dune_Master`dan
------
Gerekli olan karakterleri öğrendim ve bunun sayesinde kırma işleminin
nasıl yapıldığını öğrendim.Bir çok benim bulduğum yararlı dosyaları
crack etmeye başlamıştım ve bunları kendi dosyalarıma ekliyordum.
ICQ 99 beta versiyonunu da ben kırdım ve dehşetle o programı( zaten nefret ederdim) haytımdan ve arkadaş çevremden sildim.
---------------------------------------------------------------------
BÖLÜM: 1
--------
Şimdi en kolayından başlayarak Dos altında çalışan DEBUG programından
başlayalım. Bu program bizim ilk başlayacağımız program ve bu programla
istediğimiz herhangi bir yere bakabilip onu istersek kırmamıza yardımcı
olacak ufak bir debuggirdir.
-----------------------------------------------------------------------
İçerik:
Case Study: A Colorful CLS
-----------------------------------------
Bu yazı Ekimde ortaya çıkmıştır. 14 Ekim 1986 Issue of Pc Magazine
(Vol 15.Num17) Written By Charles Petzold.Program kırmanın en zor yolu
programın gidişatını öğrenmektir.Örnek vermek gerekirse COMMAND.COM'u
inceleyerek başlayalım.Öncelikle ilk olarak dosya olsun program olsun
programın neresine bakacağımız olacak.CLS komutu bütün dahili DOS
komutlarından farklıdır.Sadece bu komuttur ki hiç bir yardımcı parametre
kullanmayan DOS ta diğer bütün komutların parametrelere ihtiyaçları
vardır. CLS komutu ekranı temizler ve cursoru en üste alır.Bu CLS komutu
esasında BIOS'tan gelmektedir.BIOS Interrupti 10h video ve CLS komutunu
kontrol eder.Ne zamanki herhangi bir dos mesela PC-DOS 2.0 yada daha
gelişmişin altında kullandığımızda adresler hep değişik olur.Örnek
olarak PC-DOS 3.1 komutları ile PC-DOS 2.0'in komutları arasında bazı
farklılıklar vardır.
LOAD COMMAND.COM INTO DEBUG
----------------------------
DEBUG COMMAND.COM ve de bunun registirini yap. Command.com'un uzunluğu
CX in içinde kayıt olmuştur.DOS 3.1 için COMMAND.COM'un değeri 5AAA'dir
Simdi bir arama komutu yap CD 10 bytes baksın
S 100 L 5AAA CD 10
6 tane adres gelecek karsına ve bütün clusterlar birbirleriyle
kapanacaktır.İlki 261dD.Şimdi bir adres alabilirsin ilk aramada ne
yaptığını görmek için ve kırmaya baslarsın.
U261B
İlk INT 10 AH Of'ye göre ayarlanmış buda Video bölümünü çağırır.
AL'nin değerini (Video modu olan) 3'ten küçük yada 7 ye eşit olduğunu
kontrol eder.Bunlar text modlarıdır ve daha sonra 262C'ye göre kırar
eğer bu (262C) ye göre kıramazsa tekrar INT 10 olarak bir video mod
açılır ve kendisi bir adres ekler 2629.Bu 262C kodu ilk olarak kara
bir sinir koyar.(INT 10 2630) daha sonra başka bir video bolumu gelir
( at 2634) buda ekranın derinliğini AH içinde register eder.Bu modu
çağırdıktan sonra DX kurar ve alt sağdaki sütun ve bolumu eşitler ve
daha sonra yine bir INT 10 ile at(2645) ekrani temizler ve cursoru
0. satir ve sütuna getirir buda (INT 10 at 2640).Ne zamanki bütün
ekran 0 değerinde kaydettiği zaman AL (ekranı temizleme komutu).BH'nin
değeri bos ekranda kullanılmaya başlanacaktır.Modofiye edilmemiş bir
COMMAND.COM 7 ye göre ayarlıdır.(Siyah üzerinde beyaz gibi) ve bu
adresi takip eder. 2640:
MOV BX, 0700
Eğer mavinin üzerine sari tercih ediyorsan (1E) Asseblara gidip bu
satiri değiştirmen lazım
A yazıp Entere basacaksın.
MOV BX , 1E00
ve bos bir satir yaratmış olacaksın üstteki komut ile ve simdi modifiye
ettiğin satiri save edebilirsin.
W
ve DEBUG'tan çıkarsın
Q
Ne yazık ki COMMAND.COM yeni versiyonunu yüklediğinde reboot etmeden
COMMAND yazacaksın. DOS'ta CLS komutu (ekranı temizleme komutu) ekranı
mavileştirecek ve karakterler sari olacaktır.Eğer bu olmazsa bilin ki
Ansi yüklüdür
.
-----------------------------------------------------------------------
İÇERİK: Cracking On the IBM PC Part I
Önsöz:
------
Uzun zamandan beri Apple bilgisayarlar için kırma şekilleri,metotları
görüyordum fakat hiç Pc'ye ait görmemiştim.Kararıverdim bu serileri
yazmak için.Bu bölümde INT 13 komutu ile ne yapıldığını nasıl
kopyalama işlerinin yapıldığını göreceğiz.
INT-13
-------
Bir çok copy koruması INT 13 komutunu kullanırlar.INT 13 okumak yani
illegal olarak formatlanmış trakleri yada sektörleri veyahut ta yazma
ve formatlama track veya sektörde kullanılır.INT 13 assemblerda çok
basit ve cok kullanilan bir komuttur.[AH3] komutu ise hangi
kullanılacağını ve bir çok başka register edilmiş veya edilmemiş bilgide
kullanılır.
INT 13 ile kırmak
------------------
INT 13 bütün DOS korumaların kopyalarını kırmak için kullanılır.Protekt
edilmiş( yani korunmuş) program INT 13 komutunu kullanıp normal bir track/sector'den
diske bilgi yüklemeye yarar. Ben en iyi yol olarak LOCKSMITH/PC buldum.
LS komutunu kullanan diski analiz etmek için ve altına herhangi bir
track/Sector yaz normal gözükmeyen.Bu yazacağın traklar protection
bir bölümüdür ve şimdi debug`a girelim.Dosyanın içine CD13'u yükle
ve herhangi bir adres yükle eğer hiç adres yazmadıysan bu bir yada 2
şey demek program copy korumalı değildir (doğrudur) yada programa
diğer kısmı yüklenmiyor.Başka bir yol daha: CD13 komutu kendi komutunda
gizli olabilir.Burada bir sektörün gizli olan kodu suna benzer:
-U CS:0000
1B00:0000 31DB XOR BX,BX
1B00:0002 8EDB MOV DS,BX
1B00:0004 BB0D00 MOV BX,000d
1B00:0007 8A07 MOV AL,[BX]
1B00:0009 3412 XOR AL,12
1B00:000B 8807 MOV [BX],AL
1B00:000D DF13 FUT WORD...
Bu bolümde [AL] kodu DF ye göre ayarlanıyor bu 1B00:0007 kısmına.
Ne zamanki XOR DF ve 12, sen CD (hex) almasın (INT opposite kadar
olarak) buda 13 ie'nin yanında bulunur buda sana CD13 veya INT-13'u
verir.Bu tur bir kod DEBUG 'un komutları arasında bulunmaz.
-----------------------------------------------------------------------
Gizli olan INT-13s yi bulmak
----------------------------
Bunu bulmanın en iyi yolu PC-WATCH [TRAP 13 works well also] denen
bir program kullanmak Bu program Interruptlari kırar.INT 13 kırmanın
başka bir yolu ise Debug programındaki [G]o komutunu kullanmak.
PC-WATCH ile kırılmış kısmı adrese göre ayarla.Ie, -G CS:000F
(kodu yukarıda göreceksin). Ne zamanki debug duracak INT-13 kırmış olacaksın
İlk olarak INT 13'u bulduğun zaman:
-----------------------------------
INT 13 ilk bulduğunda en zor bölümün en zor kısmı çözülmüş olur.
Her şey bilgisayarın geriye düşünüp şifreyi bulup kırmasıdır.
İlk önce dosyanın içinde şifreye bakmak lazım ve daha sonra INT 13.
CARRYFLAG olan şeylere bakin yada herhangi bir CMP AH'ye register
olmuş.Eğer JNE veya JC ve daha sonra adresi kırmaya baslar.Simdi
burada bir karar vermek lazım ki program olarak proteklenmis bir
trackmi yoksa normal bir trackami bakması.Eğer CMP AH,0 ve bu korumalı
bir trakta okunacaktır.Eğer program bayrak için ayarlanacaksa ve daha
sonra disk kopyalama işlemi yapılmaya başlanacaktır.Simdi bu kodları
inceleyelim.
INT 13 (herhangi bir sektörü okur)
JC 1B00 (Korumayı bulur)
INT 19 (Resetler)
1B00 (programın geri kalan kısmı)
Program INT komutu taşır ama bir hata bulur (gerçek olmayan,sahte
formatlanmis sektor) ve daha sonra taşımalı bayrak ayarlanır.Bilgisa-
yar diğer bolümde CARRYFLAG'a ayarlanmış ve bil ki koruma kırılmıştır.
Bu bolum "JC 1B00" komutunu değiştirir."JMP 1B00" komutuna.
NOT: Koruma yolu programın bir bölümünde bulunur.
---------------------------------------------------------------------------
EXE dosyalarını kırmak:
-------------------------
Herkes bildiği gibi DEBUG exe dosyalarını okuyabilir fakat yazamaz
onlara.Ne zamanki koruma kipi bulunduğu zaman ve test edildiği zaman
kayıp (Debug'da [D]ump komutunu kullan) kayıt için t& -10 bytes INT 13'teki
kod için Dos'a cik ve dosyanın ismini .ZAP diye değiştir ve tekrar DEBUG'i
yükle.Programda 20+bytes kodu ve kayıtlı adresi bul ve daha sonra bu
bolumu yükle ve normal olarak editle.Dosyayı save et ve dos'a geri don
ve daha sonra o dosyayı .EXE olarak değiştir ve dosya kırılmış oldu.
------------------------------------------------------------------------------
DISK I/O (INT-13)
-------------------
Bu interrupt AH'yi kullanır kullanılan şeyi bulsun diye.Burada aşağıda
bir bolum var ki bu kısımdan açıklıyor.
AH=0 Diski resetler
AH=1 Diski hakkında bilgiye okur AL'nin içinde
AL Error
-----------------
00 - Basarili
01 - Hatalı komut INT verilen
02 - Adres bulunmamıştır.
03 - Protekli diske yazma komutu
04 - İstenilen sektor bulunmuyor.
08 - DMA çalışmaktadır.
09 - DMA aya aittir.
10 - okurken diskte CRC hatası
20 - Kontrol kartı bozuk
40 - Hasta operasyonu bozuk
70 - Kopyalama hatası
AH=2 Sectorleri okur:
Input: Dahili
------
DL= Drive numarası (0 - 3)
DH= Kafa numarası (Oor 1)
CH= Trak Numarası
Cl= Sektor numarası
AL= #sektor okunan
ES:BX: adresi yükler
Output:Harici
AH: Hatalı numara
[Carry Flag Set]
AL: #sektor okunan
AH=3 yazma (parametreler. yukarıdaki gibi)
AH=4 kontrol (parametreler. yukarıdaki gibi -ES:BX)
AH=5 Format (parametler . yukarıdaki gibi -CL,AL)
ES:BX format menusu
2.bölüme.Buck INT 13'u çağırır ve INT13 başka programlar içinde
kullanılmaktadır.
-----------------------------------------------------------------------------
Cracking Devam II
İçerik: Cracking On the IBM PC Part II
Önsöz:
-------
Evet millet copy şekillerini geçiyoruz. Copy Class 101 (dos file).Bunu
nasıl kırarız.Direktoriyi seen ediyoruz.CD13 için EXE dosyaları aranıyor.
Bu bölümde Overlayleri kırmayı ve crack içinde locksmith kullanmayı öğretecem.
-------------------------------------------------------------------------------
Overlaylere bakmak
----------------------
Eğer CD13'u EXE dosyasının içinde bulamazsan bunun 4 nedeni olur.
1) EXE ana dosyadan yüklenmiş olabilir.
2) EXE dosyasında hata oluşabilir.
3) CD 13 kirilmiş veya EXE dosyasının içinde gizli olabilir.
4) Yanlış dosyaya bakıyor olabilirsin.CASE 1 hakkında tartışmak istemiyorum
çünkü bir çok UNP dosyası PROLOCK ve SOFTGUARD in içindedir.Eğer bunları
göstermezsen aptalsın!!!!.Eğer Case 3 varsa 1.bolümdeki teknikleri kullan
ve en bastan basla.Eğer Case 4 varsa kendini sutla.Bilirsin ki program
overlay kullanır fakat bunları diskte göremezsin.Norton ile diskin düzgün
tarafına bakmaya çalış.Eğer bunları bulamazsan PC-WATCH'u kullan
(Bu program bütün krakircilarin kullandığı ve bütün Interruptlari kırar.)
------------------------------------------------------------------------------
PC Watch'u kullanarak
Overlayları bulmak
-------------------------------------------
PCWATC'u başlat ve soldaki Sütundaki bütün satırları inceler ve daha
sonrada sağdaki sütunu incele DOS21'i bulana kadar.Dosyayı aç ve seç
Simdi programı kırılsın diye çalıştır.Oyunu oyna protection kontrol
edilene kadar.PcWatch'un dışına hangi dosyayı yüklediğine bir bak.
Bu en iyi kontrol yöntemidir.
Eğer olmadıysa bütün dosyalara bir bak.
------------------------------------------------------------------------------
Overlaylari bulduğun zaman
----------------------------
Güzel,eğer dosyalar bir dos dosyası ise bunlar kırılması gerekebilir.
Bunun hakkında telaşa kapilmayin.EXE dosyası DEBUG bir overlay dosyası
yazabilir.1.bölümde kırma işleminin nasıl olduğunu açıklamıştım.Benim
tavsiyem bu ise başlamadan önce bir backup almak yoksa üzülebilirsiniz ve
overlaylari kırmanın bir zor olacağını da göreceksiniz.
------------------------------------------------------------------------------
Kilitlemek ve Kırmak
----------------------
Kopyalamak/LockSmith bir disk utility programı olarak by AlphaLogic kırma
işleminde baya iyidir.Bu program kırma işlemini analiz eder ve nasıl
olduğunu söyler ve korumanın nerde olduğunu söyler.Ben bunu yararlı
buldum.Kırma işlemine başlamadan önce diski bir analiz edip protectionun
nerde olduğuna bir baktım.2 inci olarak da programın neye baktığı.Size
tavsiyem eğer locksmith programınız yoksa onu almanız.
------------------------------------------------------------------------------
II. Bölüm:
------------
Evet şimdi hadi bu bazı bilgiler hakkında yani krackerlar hakkında konusalım
Mesela hakkında konusalım.Mesela Mean-18 Golf By Accolade
İçerik: MEAN-18 UnProtect For CGA/EGA versiyon
--------------------------------------------
Bu kırma işlemi kod tarafından orijinal disketin üzerindeki bozuk
sektörleri göstermesidir ve bunların illegal veya legal olmasıdır.Kodu
INT 13 diskin üzerini kontrol eder ve eğer bir bozuk sektör yoksa işlem
devam eder.Kırılmak istenen kod GOLF.EXE ve ARCH.EXE'nin içinde olsun.Bu
dosyaların içine bakıldığında bunu görebilirsiniz.Bu koşullarda testin
başlangıcı kodlar ve kırma işlemi ile başlanmalıdır.Bu metot bize DOS'taki
DEBUG programını yada Norton's Utility (NU) da ayni isi yapmaktadır.
Bütün dosyaları MEAN-18 diskinden temiz bir diskete Dostaki Copy komutunu
kullanarak yapalım.Daha sonra disketin içine DEBUG dosyalarını da atalım.
İlk olarak GOLF.EXE'nin ismini değiştirelim
REN GOLF.EXE GOLF.DEB
Daha sonra GOLF.DEB dosyasını DEBUG içine yüklemeliyiz.
A:> DEBUG B:GOLF.EXE
Kodun bulunması için su komutu yazmalısınız
- S CS:100 FFFF CD 13
Dosyayı INT!# için ara.Eğer her şey iyi gidiyorsa karsınıza 2 tane adres
belirecek.
XXXX:019C
XXXX:01A8
XXXX bu numaranın olduğunu "." belirtir. Daha sonra bu şifreyi kırmak için
"U" komutunu kullanarak gerekir.
- U CS:019C
INT 13
JB 01E9
MOV AL,[BX+01FF]
PUSH AX
MOV AX,0201
INT 13
POP AX
JB 01E9
CMF A4F7
JN2 01B5
Bu programı kırmak için kullanacağınız bir yoldur.
- A CS:019C
Bu komut yeni girdiğin komutların klavye tarafından adreste
gösterilmesidir. CS:019C başlayın, ve diğer 21 byte CS:01B0 komutu ile
bitirin ve daha sonra no op "NOP" (90h) girin ve simdi XXXX:01B1 bu
adreste enter`a basın essamble komutunun sonunda
XXXX:019C NOP
XXXX:019D NOP
.
.
.
XXXX:01AE NOP
XXXX:01AF NOP
XXXX:01B0 NOP
XXXX:01B1
Bu simdi INT 13'un olduğu yeri kontrol eder.
Nasıl bir HEX 019C byte'ta olduğunu 01B0'a doğru olduğunu 90HEX'e ayarlı
olduğunu kontrol eder.
- D CS:019C
Eğer bu varsa patch dosyasını diske yaz
-W
Bu patch dosyasını GOLF'u çalıştırdığınız exe'ye yazar yani GOLF.EXE'ye
yazan GOLF dosyasını şimdiki gibidir.Her yerden çalıştırılabilir.Simdi Q
yapıp DOS'a geri don.Bu aşamayı ARCH.EXE içinde yapılacak ama değişik bir
uzunluk,adres gibi (XXXX adresin bir kısmını belirler) bunlar farklıdır.
İlk olarak XXXX:019C adresinde INT13'u bulabilirsiniz ve diğeri ise
XXXX:01A8 de olabilir.Simdi tekrar 21 byte patch edecen ve 019C ile
başlayıp 01B0 ile bitirecen.HEX olayını yaptıktan sonra 019C adresi ile
başlayın ve sonra tekrar dosyayı diskin içine "W" ve sonra "Q" ile çıkın.
Norton Utility'de bu patch dosyasını yazabilir.GOLF.EXE ve ARCh.EXE'yi
CD 13'te aramaya başlayalım 21 byteti değiştir.İlk CD byte ile basta 90
(bu bir Nop tarifidir). Doğru yerde olduğunu kontrol etmek için dosyaların
bytelari (iki sininde)
CD 13 72 49 8A 87 FF 01 50 B8 01 02 CD 13 58 72 3C 3C F7 75 04.
Bunları modifiye ettikten sonra modifiye edilmiş dosyayı diske yaz.
-------------------------------------------------------------------------------
By : Assembler Magic Writer
İçerik EPYX Submarine Unprotect
Sadece bir tane modifiye yapman lazım SUB.EXE'ye ve daha sonra DOS'taki
DEBUG'tan SUB.EXE'yi çalıştır.
DEBUG SUB.EXE
Bilgisayar "-" işaretle ise başlayacak.Registiri bir bak ("-") işaret
çıktıktan sonra "R" tuşuna bas biraz sonra aşağıdaki gibi bir iki satir
çıkacak.
AX=0000 BX=0001 CX=6103 DX=0000 SP=0080 BP=0000 SI=0000 DI=0000 DS=12CE
SS=37B2 CS:27FC IP=0010 NV UP EI PL NZ NA PO NC
27FC:0010 8CC0 MOV AX,ES
CS'nin değeri "27FC dir".Bu hexdecimal segment adres programının
başlangıcında bulunan koddur buda makinenin memorisine yüklenir.Senin
baktığın CS benimkinden her zaman farklı olur.Bu değerleri bir kenara yaz.
Senin gördüğün DS,ES ve SS benimkinden her zaman farklı değerdedir.Diğer
is olarak INT 13 bir aranak lazım.Bunlar BIOS Interruptlaridir (DOS değil)
programın ana kaynağını bulsun diye.Bu INT 13 diğer bilinmeyen kodları kırar.
Bu isin zor kısmı INT 13'u bulmaktır.DEBUG'a girdikten sonra
RCS yaz
Bu yeni bir CS değeri çıkaracaktır ortaya.
CS:27FC:
DS'nin değerini yazmak ile başlamalıyız.Örnek olarak ben "12CE"
yazdım.Yazdığın değer değişik olacaktır.Debug'a girdiğinde yine "-"
işareti göreceksin bu işaret "program hazır ne yapmak istiyorsan yap
anlamına gelmektedir" ve DEBUG dayken sunu yaz.
S CS:0 FFFF CD 13
Bu adres INT 13 çağıracak programın içindeki ilk 4 hane segment adresidir
ve de CS'nin değerine eşittir.Diğer 4 hane adresin gizli bolumudur buda
ilk ilginç olayıdır bizim için.Benim makinemde böyle karşına geliyorlar.
12CE:4307
12CE:431F
12CE:4335
Segment adresi belli olur ve diğer 3 gizli adres birbirinin içinde olur.
Simdi ilk gizli adrese bakalım.(Gördüğün gibi benimki "4307" bunu bir
kenara yaz. "U4307" yaz ve böylelikle ilk gizli adresin ortaya
çıkmış olacak eğer kırmadıysa şöyle gözükecek.
12CE:4307 CD13 INT 13
12CE:4309 4F DEC DI
12CE:430A 744C JZ 4358
.
.
12CE:431F CD13 INT 13
12CE:4321 4F DEC DI
.
.
12CE:4324 BF0400 MOV DI,0004
12CE:4326 B80102 MOV AX,0201
Benim bilgisayarımda 16 tane kırılmamış adres çıkardı.Seninkiler değişik
olur.Dikkat ettiysen ilk adres INT 13'u içeriyor buda diğer adresleri de
arkasından getiriyor.Simdi devam ve çorap söküğü gibi arkası gelecek.
Evet sevgili cracker adayları Coderiniz Dune_Master bu haftalık bu bilgileri sizlere veriyor. Dikkat burada anlatılanların tamamı eğitim amaçlıdır.Kötü niyetle kullanımdan dolayı ve/veya kullanamama,olabilecek her türlü sorunda dune_master mesuliyet kabul etmez!!! Lütfen unutmayın bu bilgileri kullanmak için ileri derecede bir ingilizceye ve bazı programlama alt dillerine hakim olmanız gerekir.Eğer yeni bir programcıysanız ve iyi değilseniz denemeyin bile!!!
E-Mail: dune_master@gamezonemail.com
DUNE_MASTER