Şimdi Ara

Harddiskimin MBR sindeki başlangıç kodlarını okumak istiyorum yardım lütfen kafayı fena taktım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
10
Cevap
0
Favori
724
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • bilgisayar ilk başlatıldığında bios ilk boot edilmiş sürücü olan harddisk e yöneltir işlemciyi. işlemci de harddisk in 512 byte lık ilk sektörünü okur. o sektörün ilk 446 byte ındaki kodları okur. buraya kadar bildiklerimde hata yok sanırım. kaynak olarakhttp://en.wikipedia.org/wiki/Master_boot_record bura baktım. ADRC Harddisk Hex Editor sayesinde harddisk in ilk sektöründeki hexadecimal cinsinden kodları gördüm. ilk 446 byte ı biyere kaydedip W32DASM programı ile diassembler ettim. ama W32DASM programıyla diassembler ederken tereddütte kaldım. acaba yanlış programla mı diassembler ediyorum diye. çünkü program adı üstünde windows32 bit diassembler programı. şimdi bilgisayar açıldığında işlemci harddiskin ilk sektöründeki bu kodları okurken işlemcinin hangi modları açık? yani o kodları okurken 32 bit olarak mı okuyor yoksa 16 bit olarak mı? uzun lafın kısası ben o ilk sektördeki açılış kodlarını tam olarak nasıl öğrenebilirim?
    inşallah derdimi anlatabilmişimdir :[



    _____________________________
    METİN OKTAY - FATİH TERİM - BÜLENT KORKMAZ - HASAN ŞAŞ - SABRİ SARIOĞLU




  • güncel...
    _____________________________
    METİN OKTAY - FATİH TERİM - BÜLENT KORKMAZ - HASAN ŞAŞ - SABRİ SARIOĞLU
  • güzel bir soru ama gördüğüm kadarı ile bu forum da bunu cevap laya bilecek kişi çok az...
    _____________________________
    İmza metni...
  • Amaç MBR yi okumak değilmi. Son cümlenden bu anlaşılıyor.

    http://mirror.href.com/thestarman/asm/mbr/MBRWiz.html

    Bu programı çek, daha sonra dos modunda zip i açtığın yerde;

    mbrwiz /save=bir dosya ismi yaz

    Çıkan dosyanın içi mbr kaydı işte. 512byte lik bir dosya olacak. İlk 446 sı açılış kodun, sonraki 64 ü bölüm tablosu, sonrası da sihirli sayı 2 byte. (55aa)

    Herhangi bir hex editörü ile açıp bakabilirsin.

    Umarım doğru anlamışımdır.
    _____________________________

    "Bizi bilen bilir, bilmeyende kendi gibi bilir"
    Hz.Mevlana

  • quote:

    Orijinalden alıntı: 2smoke

    Amaç MBR yi okumak değilmi. Son cümlenden bu anlaşılıyor.

    http://mirror.href.com/thestarman/asm/mbr/MBRWiz.html

    Bu programı çek, daha sonra dos modunda zip i açtığın yerde;

    mbrwiz /save=bir dosya ismi yaz

    Çıkan dosyanın içi mbr kaydı işte. 512byte lik bir dosya olacak. İlk 446 sı açılış kodun, sonraki 64 ü bölüm tablosu, sonrası da sihirli sayı 2 byte. (55aa)

    Herhangi bir hex editörü ile açıp bakabilirsin.

    Umarım doğru anlamışımdır.

    onu bende anladım zaten de sen benim sorumu anlamamışsın
    _____________________________
    METİN OKTAY - FATİH TERİM - BÜLENT KORKMAZ - HASAN ŞAŞ - SABRİ SARIOĞLU




  • Doğrudur, pek anlaşılmıyor sorunun amacıda kendisi de.

    Şöye bir tavsiye verebilirim, belki işinize yarar. Virtualbox un source unu çekin, içinden bakın, açılış diskine ne gibi bir işlem uyguluyormuş o blok için.
    _____________________________

    "Bizi bilen bilir, bilmeyende kendi gibi bilir"
    Hz.Mevlana

  • quote:

    Orijinalden alıntı: 2smoke

    Doğrudur, pek anlaşılmıyor sorunun amacıda kendisi de.

    Şöye bir tavsiye verebilirim, belki işinize yarar. Virtualbox un source unu çekin, içinden bakın, açılış diskine ne gibi bir işlem uyguluyormuş o blok için.


    mbr de 446 byte lık kısmında kodlar var. bu kodların hexadecimal biçimini görebiliyorum. ama bu hexadecimal kodların assembly e çevrilmiş halini öğrenmek istiyorum. amacım ise bilgisayarın düğmesine bastıktan itibaren windows hangi kodlarla açıldığı ve çalıştığını öğrenmek. bu 446 byte lık kodları öğrendikten sonra bu kodlar işlemciyi windowsun önyükleyicisine yönlendirecek. sonra o kodları öğrenecem. sonra o kodlar windowsun çekirdeğine(kernel) yönlendirecek. sonra onu öğrenecem sonra..... diye gidecek ve windowsun nasıl kodlandığını ve windowsun işlemciyi, rami, ekran kartını diğer tüm donanımları nasıl kullandığını öğrenmeye çalışacam. amacım bu. ama en baştan gitmeye karar verdiğim için bunu öğrenmek istedim.
    _____________________________
    METİN OKTAY - FATİH TERİM - BÜLENT KORKMAZ - HASAN ŞAŞ - SABRİ SARIOĞLU




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • Şu soruyu sor kendine, açılması gereken sistem windows mu, dos mu, linux mu veya başka bir işletim sistemimi. Buna ney karar veriyor. Nerden biliyorsun windows un başlayacağını o blok okunduktan sonra. Ya da o blok henüz oluşturulmamışsa ne olacak ?, Ekrana gelen blok olmadığına dair msj nerden geliyor o zaman ? MFT de MBR kadar önemli mi, MFT dağılırsa MBR den okunan kod bir işe yarar mı. Sor da sor.

    İlginç bir çalışma olacak herhalde, bunun yolunu bulursan bizi de bilgilendir. Mikroişlemci programlamayı bilen biri olsa belki daha kolay olur bu iş senin için. x86 ve x64 mimarilerini çok iyi bilmek lazım. vs.vs..

    Kolay gelsin.
    _____________________________

    "Bizi bilen bilir, bilmeyende kendi gibi bilir"
    Hz.Mevlana

  • quote:

    Orijinalden alıntı: 2smoke

    Şu soruyu sor kendine, açılması gereken sistem windows mu, dos mu, linux mu veya başka bir işletim sistemimi. Buna ney karar veriyor. Nerden biliyorsun windows un başlayacağını o blok okunduktan sonra. Ya da o blok henüz oluşturulmamışsa ne olacak ?, Ekrana gelen blok olmadığına dair msj nerden geliyor o zaman ? MFT de MBR kadar önemli mi, MFT dağılırsa MBR den okunan kod bir işe yarar mı. Sor da sor.

    İlginç bir çalışma olacak herhalde, bunun yolunu bulursan bizi de bilgilendir. Mikroişlemci programlamayı bilen biri olsa belki daha kolay olur bu iş senin için. x86 ve x64 mimarilerini çok iyi bilmek lazım. vs.vs..

    Kolay gelsin.

    bios her zaman ilk boot edilen harddisk, cd-rom, usb bellek vs neyse bizim ilk bootumuz harddisk olduğuna göre harddiske yönlenir ve işlemci her zaman ilk boot edilen sürücünün ilk sektörünü okur çünkü bios böyle programlanmıştır. işletim sistemi yüklenirken kendine göre mbr yi ayarlar. yani kendi önyükleyicisinin adresini mbr ye yazar. mbr den sonra da işlemci mecburen o işletim sisteminin önyükleyicisine yönelir.
    eğer sen harddiski formatlarsan ilk sektördeki bilgiler kaybolmaz. çünkü formatlama işleminde kısayollar silinir. o bilgiler kalır. ama sen boş gibi görürsün. işlemci illk sektörü okuduktan sonra o önyükleyici bulamayacağından onla ilgili bi hata msj ı gelir.
    mft ise sanıyorum windows tarafından mbr yüklendikten sonra yükleneceği için eğer mbr kodlarını anladıktan sonra, sonraki aşamaları öğrenmeye geçince mutlaka o da karşıma çıkacaktır. ama önce mbr.
    x86 ve x64 mimarilerinden ziyade windows un yazıldığı assembly komut setini bilmem gerekiyor. onu ise bunu öğrenirken paralelinde öğrenicem. zaten komut seti direk mimariyle ilgili bişey. çünkü oradaki assembly komutları genel amaçlı kaydediciler, işaret kaydedicileri, bayrak kaydedicileri, gdtr, ldtr vs... gibi kaydedicileri kullanıyor. bunları biliyorum. korumalı modu da genel olarak biliyorum. yani mimari açından yeterli bilgileri bildiğimi düşünüyorum.
    ama şu hexadecimal olarak gördüğüm kodları assembly a dönüştürmenin yolunu bulmam lazım. assembly olarak görünce de dediğim gibi paralel olarak ta o gördüğüm kodları öğrenicem.
    sorum devam ediyor yardımlarınızı bekliyorum...
    _____________________________
    METİN OKTAY - FATİH TERİM - BÜLENT KORKMAZ - HASAN ŞAŞ - SABRİ SARIOĞLU




  • Virtualbox u inceledinmi, sonuçta senin yapmak istediğin şeyi yapmış işte adamlar. Al kaynağına bak, nasıl okuyor ne yapıyor.

    01 [BITS 16]
    02 [org 0x7C00]
    03
    04 start:
    05 mov si,MSG
    06 call print_string
    07 jmp $
    08
    09 print_string:
    10 mov al,[si]
    11 or al,al
    12 jz .end
    13 inc si
    14 call print_char
    15 jmp print_string
    16 .end:
    17 retn
    18
    19 print_char:
    20 mov ah,0x0E
    21 mov bl,0x07
    22 mov bh,0x00
    23 int 0x10
    24 retn
    25
    26 ;data
    27 MSG db 'Done!',0x0A,0
    28
    29 TIMES 510 - ($ - $$) db 0
    30 DW 0xAA55

    MBR yazan kod mesela bu. VB yi araştır. Sol el ile sağ kulağını tutma. Formatında ne olduğunu biliyorum merak etme sen.



    < Bu mesaj bu kişi tarafından değiştirildi 2smoke -- 27 Şubat 2011; 13:13:53 >
    _____________________________

    "Bizi bilen bilir, bilmeyende kendi gibi bilir"
    Hz.Mevlana

  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.