Kayıt
22 Nisan 2007
Mesajlar
1.361
Beğeniler
0
Ş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();
}
 
Yukarı Alt