1. Reklam


    1. joysro
      ledas
      jungler
      keasro
      zeus
      karantina

Bellekteki verileri okuma // C++


  1. Narqotic

    Narqotic Bilgiliyim rank8

    Kayıt:
    22 Nisan 2007
    Mesajlar:
    1.365
    Beğenilen Mesajlar:
    0
    Ödül Puanları:
    0
    Meslek:
    !!!
    Şehir:
    BeN SeNiN CaNıN İçİN ÖmRüMü BiR KiBRiTiN KaBıNDa T
    bellekteki verileri okuma // C++

    Açıklama: Alttaki program bellekteki verileri okuyor. Eğer veri okumak yerine veri yazmak istiyorsanız pokeb () fonk. aktif hale getirin. Ayrıca bellekte veriler segmentler halinde saklanır ve bunlar 65535 byte veri içerebilir. Altta da sadece, 0. segmentin yaklaşık bütün byte larına veri yazması tasarlanmıştır. Eğer diğer segmentlerede ulaşmak istiyorsanız ilk for döngüsünüde aktif hale getirin. Araştırıp bellek haritası bulabilirseniz eğer erişimleriniz daha bilinçli olur.

    NOT: Bellekte bulunan programlara zarar gelebilir, sistemde sorun oluşabilir veya o anki çalışmasına engel olunabilir. Duyurulur...


    #include <stdio.h>
    #include <iostream.h>
    #include <dos.h>
    #include <conio.h>

    main()
    {

    char *cr;
    int a,b,c,d;

    clrscr();

    // for(a=0;a<=250;++a) /*eğer bu döngüde, çalışırsa 0. segmentden sonraki segmentlerde çalışır. onun için 250 sayısını istediğiniz değer olarak ayarlayabilirsiniz. */
    // {
    for(b=0;b<=655;b++)
    {
    for(d=0;d<=100;d+=2)
    { /* bu iki döngü ise bir segmentte yer alan 65535 adet byte değerinin yaklaşık hepsine ulaşmak için kullanılıyor. */


    //pokeb(0x0000+a,(b*100)+d,32); /* pokeb fonksiyonumuz belleğin istediğimiz segment(1.kısım) ve o segmendin istediğimiz byte ına(2.kısım) istediğimiz değerin(3.kısım) ascii kodunu yazmak için kullanılıyor.*/
    // cr= (char *) 0x0000; *a=32; // pokeb() fonk. yerine işaretçide kullanabilirsiniz

    c=peekb(0x0000+a,(b*100)+d); /* peekb fonk. ise istediğimiz segmentin istediğimiz byte ndan veri okumak için kullanılıyor. */
    cout<<c<<" "; // peekb ile okunan değer ekrana yazılıyor.
    //cr= (char *) 0x0000; cout <<int(*a); // peekb() fonk. yerine işaretçileride kullanabilirsiniz.


    }
    }

    // }

    getch();
    }