مشاهده نسخه کامل
: یک سوال در مورد cpp
god of war 2
14-03-2009, 18:02
سلام.سوالم این بود که چجوری میشه در cpp به یک آدرس از حافظه RAM مثلا 0374351c مقدار داد.ممنون.
باید از API استفاده کنی اول با VirtualProtect از اون آدرس دسترسی نوشتن بگیری (البته اگه آدرس معتبری باشه)
بعد با memcpy روش می نویسی ، توضیحات بیشتر در مورد این دو تابع رو بهتره از MSDN ببینید
این یک مثال به این صورت است که در آدرسی که گفتین به طول 5 بایت مقدار 0x90 رو مینویسه
اینجا من فرض کردم که میخوای آدرسی از پروسه خودت رو تغییر بدی، اگه روی حافظه پروسه های دیگه بخوای بنویسی
یکم فرق میکنه اگه ایجوری بگو برات توضیح میدم
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
god of war 2
14-03-2009, 21:19
اگه ممکنه روش نوشتن بر روی حافظه پروسه های دیگر و هم بگید.ممنون.
AloneWolf
14-03-2009, 23:08
با سلام.
اگر منظورتون از پروسه های دیگر همون برنامه های در حال اجرا غیر از برنامه ی خودتان می باشد ،
باید بهتون بگم که این امر در ویندوز شدنی نیست ، زیرا بعد از دستور دسترسی به خانه ای از حافظه
غیر از خانه های برنامه ی خودتان سیستم عامل شما را به عنوان یک برنامه ی نفوذ گر شناسایی خواهد کرد
و اجازه دسترسی برای نرم افزار شما صادر نخواهد کرد ، حتی ممکن است برنامه ی شما را ببندد.
برای نوشتن روی حافظه دیگر پروسه ها باید با استفاده از تابع OpenProcess یه هندل از اون پروسه بگیری اینجا از VirtualProtectEx و WriteProcessMemory استفاده میکنیم
این یه مثال برای اینکار، باید PID پروسه ی مورد نظر رو گرفت برای همین کدنویسیش یکم بیشتر شده
پروسه رو program.exe در نظر گرفتم.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
god of war 2
15-03-2009, 16:34
مشکلم حل شد.خیلی ممنون.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.