امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
دسترسی به محتویات یک بایت از حافظه
نویسنده پیام
Administrator آفلاین
تازه وارد

ارسال‌ها: 1
موضوع‌ها: 1
تاریخ عضویت: آذر ۱۳۸۷

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
دسترسی به محتویات یک بایت از حافظه
سلام دوستان

چطوری میشه در c محتویات ادرس یک بایت از حافظه رو چاپ کرد برای مثال

ادرس 00421130 محتویاتش رو چاپ کرد- که حالا یک کاراکتر یا عدد و یا

هر چیزی باشه....

اینکار رو میخوام در c انجام بدم ...
۲۷-آذر-۱۳۸۷, ۱۳:۱۵:۰۱
ارسال‌ها
پاسخ
mahbooob آفلاین
كاربر دو ستاره
**

ارسال‌ها: 221
موضوع‌ها: 24
تاریخ عضویت: شهریور ۱۳۸۷

تشکرها : 1422
( 2312 تشکر در 367 ارسال )
ارسال: #2
RE: دسترسی به محتویات یک بایت از حافظه
میتتونی اون آدرسو بریزی توی یک متغیر(باید اشاره گر باشه) و بعد با استفاده از عملگر * محتویاتشو بخونی
مثل:


int *xptr;
xptr=0x00421130;
cout<<*xptr; ;k
۳۰-آذر-۱۳۸۷, ۰۰:۵۱:۳۶
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000, lord_viper, HoseinVig, فاطمه وطن دوست
ajlajlajl آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,192
موضوع‌ها: 70
تاریخ عضویت: مهر ۱۳۸۴

تشکرها : 932
( 2618 تشکر در 1020 ارسال )
ارسال: #3
RE: دسترسی به محتویات یک بایت از حافظه
اونوقت اين روش فقط ميتونه حافظه خود برنامه رو بخونه ديگه؟
براي خوندن حافظه رم فكر كنم بايد از توابع API استفاده كرد.

میزان رای دشمن است!
[تصویر:  cff100.png]
۳۰-آذر-۱۳۸۷, ۱۱:۵۵:۱۵
وب سایت ارسال‌ها
پاسخ
mahbooob آفلاین
كاربر دو ستاره
**

ارسال‌ها: 221
موضوع‌ها: 24
تاریخ عضویت: شهریور ۱۳۸۷

تشکرها : 1422
( 2312 تشکر در 367 ارسال )
ارسال: #4
RE: دسترسی به محتویات یک بایت از حافظه
توی بعضی از سیستمها مقادیر اشاره گر به صورت اعدادصحیح مبنای 16 و در بعضی دیگشون بصورت اعداد صحیح مبنای 10 هست.یه راه ساده برای اینکه ببینین سیستتم شما چطوریه:
int x;
int * xptr;
xptr=&x;
cout<<"the value of xptr:"<<xptr;

یا ساده تر از اون:
int x;
cout<<"the address of x:"<<&x;

اینطوری میتونین توی خروجی شکل ذخیره را ببینین.



نقل قول: اونوقت اين روش فقط ميتونه حافظه خود برنامه رو بخونه ديگه؟
فکر نمیکنم فقط برای حافظه ی خود برنامه باشه...
۰۱-دى-۱۳۸۷, ۰۹:۲۷:۱۶
ارسال‌ها
پاسخ
تشکر شده توسط : فاطمه وطن دوست
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #5
RE: دسترسی به محتویات یک بایت از حافظه
(۰۱-دى-۱۳۸۷, ۰۹:۲۷:۱۶)mahbooob نوشته است: اونوقت اين روش فقط ميتونه حافظه خود برنامه رو بخونه ديگه؟
فکر نمیکنم فقط برای حافظه ی خود برنامه باشه...
[/quote]
اين روش فقط ميتونه حافظه خود برنامه رو بخونه
براي خوندن حافظه رم بايد از توابع API استفاده كردمثل ReadProcessMemory
۰۱-دى-۱۳۸۷, ۱۱:۲۷:۱۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mahbooob
hoax3r آفلاین
كاربر دو ستاره
**

ارسال‌ها: 63
موضوع‌ها: 2
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 38
( 93 تشکر در 46 ارسال )
ارسال: #6
RE: دسترسی به محتویات یک بایت از حافظه
البته این قضیه همچین به این راحتی ها هم نیست یعنی ویندوز چنین اجازه ای به برنامه نویس نمیده تا راحت هر آدرسی رو خواست با اشاره گر ها بخونه
هر پروسه اصطلاحا یک Virtual Address Space داره که به قسمت های کوچیکی به نام page تقسیم شده که این page ها دسترسی های متفاوتی دارن
و همیجوری نمیشه آدرس رو ریخت تو اشاره گر و خوندش، و حتی خیلی از بازه های آدرسی فقط به صورت مجازی موجودن و در واقع ممکنه اصلا چنین آدرسی نباشه

بهتره یه جستجویی در مورد Windows Memory Management بکنین

کد:
http://msdn.microsoft.com/en-us/library/aa366779(VS.85).aspx

و عمکرد این توابع رو ببینیند
VirtualQuery
VirtualQueryEx
ReadProcessMemory
۰۱-دى-۱۳۸۷, ۱۲:۴۳:۴۶
ارسال‌ها
پاسخ
تشکر شده توسط : mahbooob


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  [سوال] تخصیص حافظه به رشته و ارسال به تابع؟ one hacker 2 3,268 ۰۶-اردیبهشت-۱۳۹۰, ۱۷:۲۸:۲۲
آخرین ارسال: one hacker
  دسترسي مستقيم به حافظه صفحه مونيتور sh_teta 7 5,582 ۱۳-تير-۱۳۸۷, ۱۹:۵۳:۴۹
آخرین ارسال: Mamad2003
  دسترسی مستقیم به هارد کامپیوتر؟؟؟ amir00 1 2,510 ۱۲-تير-۱۳۸۷, ۱۶:۴۴:۱۸
آخرین ارسال: Mamad2003
  تخصیص حافظه و پاک کردن آن در سی black-scorpion 4 3,784 ۲۷-آبان-۱۳۸۶, ۱۴:۲۳:۳۷
آخرین ارسال: black-scorpion
  دستکاری حافظه ajlajlajl 4 3,087 ۰۱-شهریور-۱۳۸۶, ۱۴:۰۰:۰۴
آخرین ارسال: ajlajlajl
  کنترل حافظه RAM ajlajlajl 0 1,636 ۱۷-فروردین-۱۳۸۶, ۱۶:۲۱:۳۱
آخرین ارسال: ajlajlajl
  دسترسی برنامه به خودش! arian_vc 8 4,752 ۰۶-فروردین-۱۳۸۶, ۱۲:۴۶:۴۷
آخرین ارسال: arian_vc
  گرفتن حافظه دايناميك از نوع استاتيك؟! kamran11958 1 1,905 ۱۲-بهمن-۱۳۸۵, ۱۸:۱۸:۵۶
آخرین ارسال: arian_vc
at دسترسی به خواص کنترل Iron_Fist 7 4,142 ۲۹-شهریور-۱۳۸۵, ۱۹:۵۹:۳۲
آخرین ارسال: arian_vc
  استفاده از صوت به صورت بایت به بایت h_sadeghynejad 1 2,143 ۰۸-شهریور-۱۳۸۵, ۱۱:۵۷:۲۸
آخرین ارسال: arian_vc

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS