مشاهده نسخه کامل
: متغیرهای ضدهَک!!
عادل سلیمی 20
29-05-2012, 10:49
سلام به همه دوستان
امیدوارم که دنیای بازیسازیتون پررونق باشه:46:
من یه مجموعه کد نوشتم توی گیم میکر که متغیر هایی رو باهاشون میشه ساخت که نشه هَکشون کرد
یعنی مثلا اونا رو تغییر بدین به 999999 و ....(دوستان بهتر از من میدونن)
از هَکرهای عزیز تقاضا میشه بیان یه کم با این ور برن ببینم میشه هَکش کرد یا نه(چون من خودم هَکر نیستم)
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
توی این فایل روی صفحه دوتا عدد میبینین که یکیشون رو با بالا و پایین و اون یکی رو با چپ رو راست میتونین تغییر بدین
god of war 2
29-05-2012, 12:02
این تصویر برای گزینه اول:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
گزینه دوم:
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
از 3 متغییر از نوع float 32 بیتی استفاده شده.
عادل سلیمی 20
29-05-2012, 12:35
از 3 متغییر از نوع float 32 بیتی استفاده شده.
چه باحال نیومده هَک شد :31:
اصل کارکرد این متغیر ها اینجوریه که اسمشون و جاشون ثابت نیست مرتبا تغییر میکنه.من موندم چه جوری متغیره رو پیدا کردی
چون تا بخوای پیداش کنی باید جاش عوض شده باشه
چه جوری هکش کردی؟
با چی هکش کردی ؟
هیچ مشکلی در بین هَک کردن پیش نیومد؟!
و این که بعد از تغییر عدد وقتی چپ و راست و میزدی عدد تغییر میکرد؟
(البته این هنوز نسخه ی اولیشه میخوام سوراخاشو کم کم بگیرم)
god of war 2
29-05-2012, 18:47
صل کارکرد این متغیر ها اینجوریه که اسمشون و جاشون ثابت نیست مرتبا تغییر میکنه.من موندم چه جوری متغیره رو پیدا کردی
چون تا بخوای پیداش کنی باید جاش عوض شده باشه
چه جوری هکش کردی؟
من تغییر مسیری مشاهده نکردم! و تغییر اسم هم میشه گفت هیچ تاثیری نداره چون متغییر فقط از آدرسی که در حافظه داره مشخص میشه و اصلا اسم در سطح حافظه هیچ معنایی نداره.
با چی هکش کردی ؟
ArtMony
هیچ مشکلی در بین هَک کردن پیش نیومد؟!
1 بار وقتی داشتم مقادیر متغییر هارو تغییر میدادم با یک پیغام از قبل طراحی شده مواجه شدم و برنامه بعد از اون بسته شد.دفعات بعد هر سه متغییر رو همزمان تغییر دادم و هیچ مشکلی پیش نیامد.
و این که بعد از تغییر عدد وقتی چپ و راست و میزدی عدد تغییر میکرد؟
بله
عادل سلیمی 20
29-05-2012, 22:34
من تغییر مسیری مشاهده نکردم! و تغییر اسم هم میشه گفت هیچ تاثیری نداره چون متغییر فقط از آدرسی که در حافظه داره مشخص میشه و اصلا اسم در سطح حافظه هیچ معنایی نداره.
پس تغییر نام باعث نمیشه که متغیر از دست رس خارج شه
باید جاش داخل حافظه عوض شه
چه جوری میشه آدرس متغیر رو عوض کرد؟ من توی همین برنامه گذاشتم که جای متغیر پی در پی از روی یه آبجکت به یه آبجکت دیگه میره و مرتبا اسمش عوض میشه با این حال باید آدرسش عوض شه
---------
با این اوصاف میشه براش ترینر زد؟ یا هر دفعه باید دوباره با نرمافزاری که گفتین آدرس رو پیدا کنین؟
(ممنون که همکاری کردین)
god of war 2
30-05-2012, 13:45
چه جوری میشه آدرس متغیر رو عوض کرد؟ من توی همین برنامه گذاشتم که جای متغیر پی در پی از روی یه آبجکت به یه آبجکت دیگه میره و مرتبا اسمش عوض میشه با این حال باید آدرسش عوض شه
در رابطه با Game Maker هیچ ایده و نظری ندارم.اما مثلا در زبانی مثل ++C ساده ترین راهی که الان به ذهنم میرسه اینه که از یک اشارگر استفاده کنید. مثلا تابعی در حلقه اصلی قرار بدید که بعد از هر فریم (یا در یک زمام معین) اجرا بشه و متغییری که اشارگر به آن اشاره میکنه رو در متغییر جدیدی کپی کنه, آدرس متغییر جدید به اشارگر داده بشه و متغییر قبلی پاک بشه.البته این کار اصلا توصیه نمیشه چون فوق العاده روی کارایی برنامه تاثیر منفی میزاره و باعث افت سرعت و افت کارایی و ... میشه.
کد زیر یک نمونه در ساده ترین حالت:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
هنوز شرکت های بزرگ بازیسازی هم در این زمینه به نتیجه خوبی نرسیدند.البته روش های زیادی هست ولی ضررش نسبت به سودش خیلی بیشتره.
با این اوصاف میشه براش ترینر زد؟ یا هر دفعه باید دوباره با نرمافزاری که گفتین آدرس رو پیدا کنین؟
الان دیگه هر کسی که حداقل دو بار با نرم افزار های -- بازی کار کرده باشه میتونه براحتی یک بازی رو -- کنه و اصلا نیازی به ترینر نیست.
و به احتما زیاد میشه براش ترینر ساخت البته من هیچوقت برای هیچ برنامه ایی ترینر نساخته ام.
Armin060
05-06-2012, 09:46
در رابطه با Game Maker هیچ ایده و نظری ندارم.اما مثلا در زبانی مثل ++C ساده ترین راهی که الان به ذهنم میرسه اینه که از یک اشارگر استفاده کنید. مثلا تابعی در حلقه اصلی قرار بدید که بعد از هر فریم (یا در یک زمام معین) اجرا بشه و متغییری که اشارگر به آن اشاره میکنه رو در متغییر جدیدی کپی کنه, آدرس متغییر جدید به اشارگر داده بشه و متغییر قبلی پاک بشه.البته این کار اصلا توصیه نمیشه چون فوق العاده روی کارایی برنامه تاثیر منفی میزاره و باعث افت سرعت و افت کارایی و ... میشه.
این کار اصلا فایده ای نداره چون موقع debug کردن یا اصلا جای متغییر عوض نمیشه ( debuger خیلی راحت اون تیکه از برنامه رو اجرا نمیکنه ) یا اینکه اگر هم عوض بشه debuger میبینه که عوض شده. ( شاید کلا دو سه دقیقه تو کار -- کردن واسه یه اماتور تاخیر بندازه! )
god of war 2
05-06-2012, 18:25
این کار اصلا فایده ای نداره چون موقع debug کردن یا اصلا جای متغییر عوض نمیشه ( debuger خیلی راحت اون تیکه از برنامه رو اجرا نمیکنه ) یا اینکه اگر هم عوض بشه debuger میبینه که عوض شده. ( شاید کلا دو سه دقیقه تو کار -- کردن واسه یه اماتور تاخیر بندازه! )
درسته.البته هیچوقت کد بالا کاربرد نداره و فقط در حد یک مثال ساده هست.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.