ترفندهای هکرهای سوپر ماریو می تواند از نرم افزار در برابر باگ محافظت کند


به گفته دانشجویان دانشگاه بریستول، بازی‌بازانی که از اشکالات بازی‌ها سوء استفاده می‌کنند، می‌توانند به کارشناسان کمک کنند تا نرم‌افزارهای باگ را بهتر درک کنند.

این نوع از گیمرها که به عنوان “speedrunners” شناخته می شوند، می توانند بازی ها را با رفع اشکالات خود به سرعت کامل کنند.

دانش‌آموزان چهار بازی کلاسیک سوپر ماریو را مورد بررسی قرار دادند و 237 اشکال شناخته شده در آن‌ها را تجزیه و تحلیل کردند و نقاط ضعف مختلفی را طبقه‌بندی کردند. این تحقیق به بررسی این موضوع می پردازد که آیا این اشکالات مشابه باگ های مورد سوء استفاده در نرم افزارهای معمولی تر هستند یا خیر.

سوپر ماریو نینتندو یک بازی ویدئویی اساسی است. برای درک انواع اشکالات بهره برداری از سرعت دوندگان، آنها چهار مورد از اولین بازی های پلتفرمینگ ماریو را مورد بررسی قرار دادند – Super Mario Bros (1985)، Super Mario Bros. 3 (1988)، Super Mario World (1990) و Super Mario 64 (1996). در حالی که این بازی‌ها قدیمی هستند، هنوز هم توسط اسپیدرانرها به صورت رقابتی اجرا می‌شوند و رکوردهای جدیدی در اخبار گزارش شده است. این بازی‌ها همچنین به خوبی درک شده‌اند، که توسط اسپیدرانرها برای دهه‌ها مورد مطالعه قرار گرفته‌اند و اطمینان حاصل می‌کنند که تعداد زیادی اشکالات به خوبی تحقیق شده برای تجزیه و تحلیل وجود دارد.

در حال حاضر رکورد جهانی برای فتح سوپر ماریو ورلد 41 ثانیه است. این تیم شروع به درک 237 اشکال شناخته شده در آنها کرد و انواع ضعف ها را طبقه بندی کرد تا ببیند آیا می توانند به مهندسان نرم افزار کمک کنند تا برنامه ها را قوی تر کنند.

در بازی های پلتفرمینگ سوپر ماریو، ماریو باید شاهزاده هلو را با پرش از مسیر موانعی از پلتفرم های مختلف نجات دهد تا به هدفی برسد، از بدها دوری کند یا با پریدن روی سر آنها را شکست دهد. بازیکنان می توانند در طول مسیر برای باز کردن قفل توانایی های خاص، قدرت و سکه جمع آوری کنند تا امتیاز خود را افزایش دهند. سری بازی‌های ماریو یکی از محصولات شاخص نینتندو و یکی از تاثیرگذارترین سری بازی‌های ویدیویی در تمام دوران است.

دکتر جوزف هالت از دانشکده علوم کامپیوتر بریستول توضیح داد: «بسیاری از بازی‌های ویدیویی اولیه، مانند بازی‌های سوپر ماریو که بررسی کردیم، برای کنسول‌هایی نوشته شده‌اند که با سخت‌افزار یکنواخت‌تر شبیه رایانه‌های شخصی در سیستم‌های بازی مدرن تفاوت دارند.

«محدودیت‌های ناشی از سخت‌افزار، مانند حافظه محدود و اتوبوس‌ها، به این معنی است که بهینه‌سازی و ترفندهای تهاجمی برای اجرای خوب بازی‌ها مورد نیاز است.

بسیاری از این تکنیک‌ها (مثلاً نقشه‌برداری حافظه NES) به دلیل متفاوت بودن با تعداد برنامه‌نویس‌هایی که معمولاً انتظار دارند کارها انجام شود، بسیار مهم هستند و می‌توانند منجر به باگ شوند.

برنامه‌نویسی برای این سیستم‌ها نسبت به اکثر نرم‌افزارهای مدرن به توسعه تعبیه شده نزدیک‌تر است، زیرا نیاز به کار در اطراف محدودیت‌های سخت‌افزاری برای ایجاد بازی‌ها دارد.

دسته بندی اشکالات در نرم افزار به توسعه دهندگان اجازه می دهد تا مشکلات و اشکالات مشابه را درک کنند.

Common Weakness Enumeration (CWE) یک سیستم دسته بندی برای ضعف ها و آسیب پذیری های سخت افزاری و نرم افزاری است. این تیم هفت دسته جدید ضعف را شناسایی کرد که قبلاً مشخص نشده بود.

دکتر جوزف هالت از دانشکده علوم کامپیوتر بریستول توضیح داد: «ما دریافتیم که برخی از اشکالاتی که دونده‌های سرعت استفاده می‌کنند، طبقه‌بندی دقیقی در طبقه‌بندی نقص‌های نرم‌افزاری موجود ندارند و ممکن است انواع جدیدی از باگ‌ها در نرم‌افزارهای عمومی‌تر جستجو شوند. “

این تیم با یک کتاب کد نقاط ضعف نرم افزار موجود (CWE) را به صورت موضوعی تجزیه و تحلیل کردند – یک روش تحقیق کیفی برای کمک به دسته بندی پدیده های پیچیده.

دکتر هالت ادامه داد: نکته جالب این تحقیق این است که دانشگاه ها شروع به درمان و قدردانی از کارهایی که سرعت دوندگان انجام می دهند و مطالعه می کنند چیزی است که قبلاً واقعاً به طور جدی درمان نشده است.

“با مطالعه اشکالات اسپیدرانرها می توانیم بهتر بفهمیم که آنها چگونه این کار را انجام می دهند و آیا باگ هایی که استفاده می کنند همان اشکالاتی است که سایر نرم افزارها با آنها هک می شوند.

به نظر می رسد که سرعت دوندگان ترفندهایی دارند که ما قبلاً در مورد آنها نمی دانستیم.

اکنون تیم دست خود را به مطالعه بازی های ویدیویی پوکمون معطوف کرده است.



منبع

Matthew Newman

Matthew Newman Matthew has over 15 years of experience in database management and software development, with a strong focus on full-stack web applications. He specializes in Django and Vue.js with expertise deploying to both server and serverless environments on AWS. He also works with relational databases and large datasets
[ Back To Top ]