هک بازی انفجار
با سلام و ادب خدمت تمامی عزیزان.
در این مطلب میخوام راجع به هک بازی انفجار باهاتون صحبت کنم که آیا روشی برای بدست آوردن ضریب بازی انفجار قبل از شروع آن وجود دارد یا خیر؟
در اول بگم:تمامی ربات ها و نرم افزار های فروشی جهت هک این بازی کاملا دروغ بوده و یا اگر کارایی داشته باشن بعد از مدتی ضرر خواهند کرد،پس تا امروزه هیچ نرم افزاری برای هک این بازی نوشته نشده و اگه نوشته بشه توسط برنامه نویسان آن استفاده خواهد شد،نه با مبلغ اندک بفروش برسد.
پس مطلب نوشته شده در این باره که ما می خواهیم عنوان کنیم دور از تخیل و کاملا واقعی می باشد،پس در ادامه با ما باشید…
*برای مفهوم بودن موضوع باید کمی از موضوعات تخصصی یا نیمه تخصصی کامپیوتر در جریان باشید،که در ابتدا توصیه میکنم مقاله الگوریتم md5 بازی انفجار رو مطالعه فرمایید.
ابتدا از قسمت تاریخچه من یک مثال رو برای شما در اینجا کپی میکنم:
و مقدار md5 و HASH دور ضریب 21 را در جدول زیر قرار میدهم:
2.21 | ضریب |
058807e1ffe2cd31c10daf83d78e4d37 | MD5 |
8ccd3175e7a44a7c4ca76456e0b0ea352aa490a573941ad886064df15c1a24e1 | HASH |
خب بزارید در ابتدا اولین نکته ای که از این بازی می توان دریافت و خیلی جالب می باشد رو براتون عنوان کنم.
میدانیم که مقدار MD5 قبل از شروع هر دور به ما داده می شود. و مقدار ضریب و HASH بعد از اتمام دور.با توجه به الگوریتم بازی انفجار شما اگر بتوانید از روی MD5 به کارکتر اول HASH دستیابی پیدا کنید خواهید توانست رنج عدد رو شده رو محاسبه کنید.
در این مثال کارکتر اول HASH عدد 8 میباشد.این رشته یک رشته از نوع هگزادسیمال یا 16 بیتی است.
ببینید اعداد معمولی در مبنی ده دهی هستند: مثل اعداد طبیعی: 0و1و2و…9 از صفر شروع و تا 9(9 بیشترین ارزش و 0 کمترین ارزش).
در مبنی دسیمال بعد از 9 از حرف A تا F نیز ارزش های بیشتری ورود دارند.
پس یک عدد در مبنی هگزادسیمال اینطوری بیان می شود:( صفر کمترین ارزش و F بیشترین ارزش)
0123456789ABCDEF
در نهایت بطور خلاصه بگم هر چه ارزش کارکتر اول HASH رو شده بعد از بازی بیشتر باشه ضریب رو شده بیشتر خواهد بود(به اثتثنی ضریب صفر که از الگوریتم بازی تبعیت نمی کند).
*این یک باگ در برنامه نویسی این بازی بحساب می آید و در نسخه جدید اسکریپت بازی انفجار توسط سایت بوستا بیت اصلاح شده است(در نسخه جدید این بازی از ارزش کارکتر اول HASH نمیتوان به ضریب حدودی اون دور رسید.)
ولی آیا رسیدن به اولین کارکتر hash قبل از شروع بازی امکان پذیر است؟
در پاسخ باید بگویم خیر،پیدا کردن این کارکتر راهی جز یافتن کل رشته هش شده(HASH) به ازای MD5 قبل از بازی ندارد.
خب بریم سر موضوع خودمون که آیا راهی برای یافتن هش بعد از بازی از روی MD5 قبل از بازی وجود دارد یا خیر؟
جواب مثبت است.بله تعجب نکنید راهی وجود دارد که در اینجا من ایده رسیدن به این راه رو می نویستم ولی نیاز به یک تیم اجرایی و سخت افزار های قدرمتند جهت یافتن ضریب قبل از بازی خواهید داشت.
تنها راه منطقی شکستن md5، حمله Brute-force attack به این الگوریتم می باشد.
بطور واضح تر بگم یعنی چک کردن تمامی حالاتی که ما را از MD5 قبل از بازی به HASH بعد از بازی می رساند.این راه عملی و ممکن است و دلیل ارستقای الگوریتم بازی انفجار و نمایان نبودن الگوریتم در نسخه جدید این بازی همین است.ولی همچنان نسخه مشکل دار و دارای باگ این بازی روی اکثر سایت های فارسی زبان استفاده می شود.
خب ایده رسیدن به hash از طریق MD5:
باید با استفاده از یک الگوریتم موازی(Parallel) تمام حالات ممکن برای رسیدن به از md5 به هش مورد نظر رو بررسی کنید،که ملیاردها یا بیشتر حالت ممکن است و در 6 ثانیه قبل از بازی توسط cpu این عمل غیر ممکن است ولی با استفاده از برنامه نویسی موازی بر روی GPU براحتی نهایتا تا قبل از گذشت 2 ثانیه از 6 ثانیه مهلت میتوانید مقدار دقیق ضریب رو محاسبه کنید.
برای شروع نیازمندید که برنامه نویسی موازی روی کارت گرافیک رو یاد بگیرید و در ادامه نیز تعداد زیادی کارت گرافیک بصورت موازی بر روی یک سیستم قوی نیازمندید(با حدود 40 تا 50 ملیون تومان شما خواهید توانست این سیستم و برنامه رو بصورت سخت افزاری تهیه و اجرا نمایید)
بصورت موازی یافتن HASH از روی MD5 قبل از بازی در کسری از ثانیه قابل محاسبه است.و نهایتا 1 ثانیه فرآیند Get result طول خواهد کشید.
امیدوارم از خواندن این مقاله علمی نهایت لذت رو برده باشید.
و حتما قبل از پیاده سازی باید تیم خوب و کارهای حساب شده ای رو برای رسیدن به جواب انجام دهید.
موفق و موید باشید