Pull to refresh
19
0
Send message
Напомнило мой первый «серьёзный» взлом.

Взломав пару Windows приложений по статьям с Cracklab для новичков, мне захотелось побороть одну игрушку, вроде бы она называлась Mummy Maze, не помню.

Игра от обычного приложения отличается тем, что у неё труднее цепляться к различным событиям. Если программа требующая регистрацию выводит MessageBox через WinAPI, то игра это делает какими-то своими способами.

Собственно, тогда я не знал и этого: я знал только магию замены инструкций jz на jnz и обратно. Из отладчиков я знал только WinDbg.

Открыв ехе-шник игры в WinDbg, я трассировал программу до первого встретившегося jz или jnz, запоминал адрес инструкции в буфер обмена, заменял прыжок на противоположный, и смотрел, что получилось. Иногда программа падала, иногда выполнялась как обычно — приходилось ждать несколько секунд, пока у неё заполнится симпатичная полоса загрузки и отобразится «Please register».
Завершал выполнение программы, прыгал на запомненный в буфере адрес, ставил точку останова и перезапускал на выполнение снова, трассируя до очередного jz/jnz.

Таким образом я сидел три вечера до поздней ночи, пока от ощущения тошноты, уставших глаз, да и пальцев, не приходилось ложиться спать. Но на третью ночь, дав себе очередное «последнее обещание», что ещё разок, и спать, игра вдруг сжалилась надо мной, и выдала после загрузки что-то вроде «Спасибо за регистрацию».

Радости моей не было предела, чистая эйфория! Я прыгал по своей комнате и мысленно кричал — вслух не мог, так как все давно спали.

Здорово мне тогдашнему повезло, конечно: ведь я пребывал в священной уверенности, что в любой программе всегда есть один единственный переход, исправив который, можно взломать любую программу, главное его найти. Сделай разработчики логику проверок чуть сложнее, я бы ещё долго тыкал в trace into, и в итоге сдался и меня постигло разочарование.
Понравилась Ваша статья, пока читал, даже поймал себя на мысли, что тороплюсь: будто чем быстрее прочитаю, тем быстрее главный герой получит свою скидку на операцию. )

После запуска бота мышку невозможно вывести за пределы игрового поля — она будет вечно прыгать по указанным точкам, даже при запуске диспетчера задач. Признаюсь, что я из этой ситуации вышел с помощью перезагрузки…

Теперь, чтобы остановить бота нужно просто нажать Win+D.


Люблю для этой цели использовать Num Lock. Проверить, горит ли он, можно одной строчкой.
тоже помню одну подставу
Самый первый раз, когда я вошёл в игру, задавал вопросы в городе «что тут как», какой-то парень позвал меня поближе к охранникам и попросить ударить его. Я доверчиво это сделал, и тут же меня насмерть сразило заклинание стражника.

— и что ты этим хотел показать?
— а то, что здесь нельзя никому доверять!

Это было очень смешно и пафосно.



если админы живые, что же они ее не пилят?

Я так понял, что благодаря открытию этого сервера, игра как раз и начала потихоньку пилиться — нужный человек получил исходники и ресурсы в свои руки. Но занимается он игрой в свободное от работы время, денег она ему не приносит.

Какими чувствами руководствуются, администрируя полу-живую игру?

Часть админов остаются в игре из патриотизма, привязанности к ней. Некоторые — чтобы иметь игровое преимущество.
Не сочетается с последним тегом к статье. ) Без шуток: очень красиво, но слишком круто для целей, которые я перед собой ставил. Спасибо.
Я не
решил совместить хакерство и прокачку «честного» персонажа

Мне было любопытно сунуть нос во внутренности игры, а дальше само как-то получилось.

Было бы веселее
убивать людей одной командой, получать админские права

Согласен, было бы веселее, но чисто интуитивно думаю, что в протокол игры, доступный на клиентской стороне, не заложены такие возможности. Да и о таких вещах мне бы сразу пришлось рассказать администрации, и статьи бы не было.
Так как это игра «моего детства», мне будет приятно, если статья повлияет на игру положительно. Не думаю, что кого-то в 21 веке сильно может заинтересовать такой олдскулл, но чем чёрт не шутит.

А если помечтать, и предположить, что часть волны пользователей Хабра останется в игре, это будет вообще прекрасно, я верю, что общая адекватность происходящего в игре от этого явления поднимется.

Information

Rating
Does not participate
Registered
Activity