Amiga Dünyası sayı 25, sayfa 22

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 22

BARE S

Beermon

Yeni utility'miz, güzel bir monitör programı ve ismi de Beermon. Monitör programı terimi sizi şaşırtmasın, programla ekran olarak kullandığımız monitörün uzaktan yakından bir ilişkisi yok. Herhalde bu monitörü yazan cracker'lar biradan çok hoşlanıyorlar! Commodore 64'lerden bildiğiniz gibi monitör programlarıyla bilgisayarın hafızasını inceleyebilir ve değişiklikler yapabiliriz. Ayrıca her monitör programının file ve track yükleme gibi özellikleri olduğundan doğru bir kullanım sonucunda istediğimiz file'ı değiştirebiliriz. Bunun için file'ı yüklememiz ve değiştireceğimiz yeri bulup sadece orayı editledikten sonra tekrar file'ı diskete yazmamız yeterli. Bu şekilde dilediğiniz yabancı dille yazılmış programları da Türkçeleştirebilirsiniz. Daha gelişmiş programcılar ise monitör programlarını, programlarının çalışmasını yakından inceleyip hata bulmak için kullanıyorlar. Tabii aynı şekilde crack yapmak da mümkün. Zaten cracker'ların en çok kullandığı programlar da çeşitli monitör programlarıdır. Programı çalıştırdığımızda, karşımıza gri bir ekran çıkacaktır.

Ekranın üst kesiminde programın ismi ve bilgisayara takılı olan CPU ve FPU modellerinin kodları görülebilmekte. Bunun dışında chip memory'nin boyutu da bilgi olarak gözükmekte (Gfxmem). İkinci bilgi satırında monitör programının copper listesindeki ekran adresi, CLI ya da Workbench ekranının ve programın yerleşim adresi gibi ufak tefek yardımcı bilgiler mevcut. Ardından gelen birkaç satırda D0-D7 ve A0-A7 register'larının içerikleri hexadecimal olarak görülebilir. En altta ise özel sistem bilgileri yer almakta. Bunlar stack bölgesinin hafızadaki yerini ve boyutunu gösteren çeşitli bilgiler (USP-User Stack Pointer) bulunuyor. Bilgisayarınızda hızlandırıcı kart ya da gelişmiş bir CPU varsa, buna ait birtakım bilgileri de en alt satırdan alabiliriz. Burada CACR, CPU'nun cache memory boyutunu, CAAR ise cache memory'nin hafızadaki yerini gösterir. Satırdaki diğer bilgiler flag'lerdir. Bunlardan en son beş tanesi ayrı yazılmıştır. Bu beş flag, assembler'da kullanılan 5 temel flag'dır. Gelelim programımızın komutlarına; bunları kısa kısa açıklayacağım. Zaten kullanımları da çok kolay. Çoğu komutlar parametre gerektirmekte. Bu parametrelerden köşeli parantez ([]) içinde olanları mutlaka girmeniz gerekiyor. Tırnak parantezler (<>) içinde olanlar ise opsiyonel parametreler. Opsiyonel parametreleri girmeseniz de olur. Son olarak bir de sayı sisteminin normalde decimal olduğunu belirtmekte fayda var. Eğer hexadecimal bir sayı kullanacaksanız, bunun başına <$> işareti koymalısınız. Aynı şekilde decimal için istenir: sayının başına bir <#> işareti ekliyorsunuz. <%> işareti ise, binary sistemde sayı girildiğini tanımlamak için kullanılıyor. Memory dump ya da binary yükleme gibi komutlarda, sayılar başlarına işaret konmadan hexadecimal olarak girilmelidir. Zaten en kolayı da bu bence. m <start> <end>: <start> ve <end> adres aralığında hafıza içeriğini ekranda sayısal olarak gösterir. En solda o satırdaki byte'ların başlangıç adresi görülebilir. <:> işaretinden sonra da 0 adresten itibaren 16 byte hexadecimal olarak yazılıdır. En son kolonda, o satırdaki bilgiler bir de ASCII tablosundaki karşılıklarıyla ekrana basılır. Eğer bir byte'ın hexadecimal kodu, ASCII karakter tablosunda basılamayacak bir karaktere denk geliyorsa, bu karakter yerine <.> basılır. T <start> <end> <target>: <start> ve <end> arasındaki bilgi bloğunun kopyasını, <target> adresinden sonrasına yerleştirir. f <start> <end> <word>: <start> ve <end> adresleri arasını <word> değeriyle doldurur. <word>, word sınırları ($0 - ya da -$7ffe - $7FFE) içinde kalan bir sayı olabilir. f <start> <end> <b> <b>: <start> ve <end> adresleri arasında kalan bölgede <b> değerini arar. Birden fazla <b> değerinden oluşan bir dizi girilmişse, o dizi aranır. Bu byte'ın/byte dizisinin bulunduğu adresler ekrana hexadecimal olarak yazılır. F <adr> ile belirtilen adrese yapılan branch (dallanma) komutlarının bulunduğu adresleri bularak ekrana yazar. p <start> <period>: Hafızanın <start> ve <end> aralığını sample olarak çalar. <period> sesin örnekleme hızını belirten periyot değeridir. Bu girilmezse ses, standart örnekleme hızına göre çalınır. B <rgb0> <rgbi>: Zemin (<rgb0>) ve yazı (<rgbi>) renklerinin değiştirilmesini sağlar. Bu değerleri işaretsiz hexadecimal sayı olarak girmelisiniz. r <reg> <val>: İstenilen adres ya da data register'ının içeriğinin değiştirilmesini sağlar. <reg> ile değiştirmek istediğiniz register'ı belirtmeniz gerekmekte (d0-d7 ya da a0-a7). Tabii ilk açılış ekranında görülen cache memory ve stack pointer ile ilgili olan register'ları da değiştirmek mümkündür. Bunlar için register ismini büyük harflerle yazmalısınız. <val> ise değiştirilecek olan, yazılacak olan değerdir. v: Sistem vektör adreslerini gösterir. Bu vektör adresleri sırayla şöyledir: copper'daki bazı özel durum register'ları, $0-$40 aralığında bulunan ve zero page olarak da adlandırılan bölge içeriği, 1-7 numaralı interrupt rutinlerinin hafızadaki yerleri ve 0-15 numaralı trap rutinlerinin hafızadaki yerleridir. dm: Çalışmada kullanılan sayı sistemini değiştirir. Eğer sistem decimal ise hexadecimal, hexadecimal ise de decimal olacaktır. K <Fn, "...">: Fonksiyon tuşlarına komut atamaya yarar. Komutları görmek için parametre olmadan sadece K komutunu girmeniz yeterlidir. Fonksiyon tuşu numarasını Fn ile belirtmeniz gerekmekte (F1-F10). Tırnaklar içinde yer alan string ise, o fonksiyon tuşuna basılınca gerçekleştirilecek komut dizisidir. Bir fonksiyon tuşuna birden fazla komutu da atayabilirsiniz. Bunun için komutları kullanım sıralarıyla, aralarına birer <|> (<SHIFT>4<>) işareti koyarak girmelisiniz. dir <name>: <name> ile belirtilen directory'nin içersinde yer alan file'ların ismini gösterir. <name> verilmezse, o an aktif olan directory içerisindekileri gösterecektir. v <sync>: Disket senkronizasyon değerini değiştirmenizi sağlar. Bu şekilde senkronizasyon değeri değişik bir disketten de okuma yapabilir ya da istediğiniz file'ı o diskete yazabilirsiniz. format <name> <g> <f>: Aktif drive'a takılı olan disketi formatlamanızı sağlar. <g> flag'ı kullanılırsa disketin sadece boot ve root block'ları formatlanır ve bitmap sektörü de temizlenir. <f> flag'ı ise disketi FFS file sistemine göre formatlar. Bu mod KickStart v1.3'ten sonra geçerlidir. M: Disketin bitmap blokunun içeriğini gösterir. Bitmap blok'ta disketteki her sektörün dolu olup olmadığı kayıtlı olduğundan disketin ne kadar dolu olduğunu buradan öğrenebilirsiniz. s <adr> <trk> <num>: <adr> adresinden sonraki <num>* 11

Klavyeyle gezinmek için ← ve → tuşları.