Как изменить код игры

The Codeby

ООО Кодебай

Как изменить код программы, если потерян исходник

Бывают ситуации, когда под рукой нет исходника, а Вам срочно требуется внести изменения в коде, написанной ранее Вами программы. Например, дано приложение «TextEdit.exe» — текстовый редактор, написанный на языке c#, который имеет простой пользовательский интерфейс, состоящий из двух кнопок и текстового поля.

При нажатии на кнопку “Чтение” из файла 1.txt считываются и выводятся все строки в окно элемента управления textBox, а при нажатии на кнопку “Запись” данные из текстового поля сохраняются в файле 2.txt

Для хранения путей в программе используются две текстовых переменных: filePathIn и filePathOut

Прошёл год, как программа была написана и отдана заказчику, но вдруг ему потребовалось изменить имя папки, в которой должны храниться оба файла, c 123 на Text. Задача простая, но прошло уже много времени, и исходник был потерян, что делать в такой ситуации?

Для начала вспомним, как образуется .NET сборка

Полученный в результате компиляции файл (сборка) содержит внутри себя метаданные, манифест, код на языке IL (MSIL).

Метаданные — описывают типы данных и их члены

Манифест описывают саму сборку

MSIL код, полученный в результате компиляции файла исходного кода

То есть перед вами тот же исходник, только в другом формате. И для того, чтобы поработать с ним, Вам понадобиться специальный инструмент, который позволяет просматривать и редактировать данные внутри сборки.

Данный инструмент входит состав пакета .Net Framework SDK, который является бесплатным и устанавливается вместе с Visual Studio (включая Express версию). С помощью него вы можете, как просматривать внутреннее содержимое сборки, так и изменять его.

Для удобства работы создадим отдельную папку, например: ”c:
ewasm” и поместим в неё файл TextEdit.exe

Затем в меню “Пуск” открываем папку: «Visual Studio Tools»

Запускаем командную строку разработчика

Откроется консоль, вводим первую команду: ildasm. Для выполнения команды нажмите клавишу Enter.

Появиться главное окно программы.

Переместим файл сборку TextEdit.exe в окно дизассемблера ILASM, в результате отобразиться её внутреннее содержимое.

Убедимся, что в ней содержатся нужные нам данные (пути к файлам).

Два поля на месте, теперь взглянем на метаданные.

Для доступа к метаданным Вы так же можно использовать сочетание горячих клавиш: Ctrl+M. Затем с помощью кнопки Find, найдём имя одного из файлов.

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

Выберите пункт меню File -> Dump

Появится меню. В данном примере, все пункты меню оставим без изменений и просто нажмём кнопку OK.

Появится диалоговое окно

Выберем ранее созданную папку “newasm”, затем укажем имя и тип файла и нажмём на кнопку “Сохранить”

В результате в папке “newasm” должно появиться несколько новых файлов

Закрываем окно ildasm, а так же удаляем файл Textedit.exe, больше он нам не понадобиться. Теперь нас интересует полученный файл texted.il и для начала откроем его любым текстовым редактором, например блокнотом.

Снова воспользуемся поиском (Ctrl+F)

Так же видим найденные строки, которые содержат пути к файлам.

Изменим текущее имя папки 123 на новое название Text, для обоих файлов

Сохраняем внесённые изменения и закрываем блокнот.

Изменения внесены и теперь нужно преобразовать файл txted.il обратно в исполняемый файл (.exe) Для этого нам понабиться второй инструмент ILASM, ассемблер, который так же входит в состав пакета SDK и не требует отдельной установки.

Возвращаемся в консоль

Вводим вторую команду:

Первый параметр: /exe — указывает компилятору, что на выходе мы хотим получить файл с расширением .exe. Затем указываем файл, который содержит MSIL-код. С помощью второго параметра /output — указываем имя и расширение нового файла.

Читайте также:  Как найти граффити в вк

Если компиляции прошла успешно, то в окне консоли вы должны увидеть сообщение, которое выделено на картинке, а внутри папке “newasm” должен появиться новый файл TextEdit.exe, который теперь уже содержит новые пути к файлам.

Вот таким не сложным способом можно выйти из данной ситуации, при этом не имея исходника под рукой.

Вложения

The Codeby

ООО Кодебай

Сергей
Четверг на 02:09
Здравствуйте, когда пытаюсь открыть файл exe в редакторе LD DASM у меня появляется ошибка «отсутствует допустимый заголовок CLR поэтому дизассемблирование невозможно» что это? и можно как нибудь исправить?

admin
Пятница на 10:09
Программа (файл) на каком языке написана?

Иван
Суббота на 10:09
Добрый день. Такая же ситуация. Пытаюсь открыть файл exe в редакторе LD DASM у меня появляется ошибка «отсутствует допустимый заголовок CLR поэтому дизассемблирование невозможно». Файл написан на Delphi.

admin
Воскресенье на 09:09
Привет.
Эта утилита предназначена только для просмотра кода написанного на языке IL (MSIL) — это промежуточный язык, в который компилируется код .NET языков. Полученный в результате компиляции файл (сборка) содержит CLR заголовок. Затем, во время запуска приложения, выполняется вторая компиляция, которая превращает полученный код IL в машинный.

В дельфи сборка не содержит CLR заголовок и код, если не ошибаюсь, сразу преобразуется в машинный.

Иван
Понедельник на 12:09
А как-то нормально можно посмотреть код, если есть уже окончательный exe и несколько dll проекта?

admin
Понедельник на 09:09 ПП
Что значит «нормально посмотреть код» ?

Иван
Среда на 03:09 ПП
Ну чтобы взять код себе в другой проект

admin
Четверг на 11:09
Есть вроде какие-то, но не помню названия, потому что не использую их.

Анатолий
Четверг на 12:02 ПП
Можете, помочь как я хочу переписать лаунчер для игры, что бы изменить проверку файлов но не могу никак открыть его. Пробывал через ресторатор 2007 но оно не может прочитать пату файлов точнее отобразить язык.

Как я программно могу менять значения в другой программыигры? ведь нет никакого изначального "api". я подозреваю, что изменения происходят на низком уровне, то есть изменяются данные в памяти.. но как они тогда узнают адреса? и что именно этот адрес принадлежит именно этой программеигре??

1 ответ 1

"я подозреваю, что изменения происходят на низком уровне"

Верно подозреваете:) Но есть немного и другие штучки.

А так, давайте рассмотрим одну онлайн игру. Смысл такой, есть игроки тоесть танки. У танков есть определенное действие, например стрельба, передвижение.

Выходит: 1 программа сервер, которой мы отправляем данные, а она обрабатывает их. И неограниченное количество клиентов которые эти данные и шлют(перемещение танков).

В клиент программе присутствуют обычные нам ограничения. Например: вы можете выстрелить только 1 раз в 2 секунды. Тоесть пользователь нажал на пробел->проверка на таймер->если все ок то отправляем серверу комманду что мы выстрелили.

Вот пример небольшой игры. Как создать под нее чит? Требуется детально продебагить код программы, ее действия. Существуют множество утилит делающие это, они используя низкоуровневое апи могут определить какие программа вызывала функции, что писала в переменные.

И искать изьяны. Например: если клиент при нажатии на клавишу вперед отправляет напрямую кординаты нахождения танка, то почему-бы не отправить свои нужные кординаты:) Или если клиент отправляет с какой скоростью движется танк, определяя природные условия, то почемубы не отправить скорость нужную. Вот на таких недочетах и строятся читы.

Если игра оффлайн: дело становится проще, мы имеем лишь 1 прогу. Мы сможем также продебагить программу, продизасемблировать (тоесть разобрать прогу на исходный код) и установить нужные нам значения, например человек может подниматся по лестнице с такой-то нужной нам скоростью.

Посещало ли вас желание взломать игру на Андроид? Мы уверены, что и не раз. Согласитесь, есть такие игры, которые, как старательно не проходи, до финала не доберешься: либо здоровье закончится в самый неподходящий момент, либо разработчик потребует плату, чтобы открыть следующий уровень, либо еще что-нибудь. Не бесит ли? Благо, ушлые любители игр, когда смартфонов-то еще и не было, находили различные уязвимости, которые позволяли облегчить игровой процесс.

Читайте также:  Как проверить повер банк мультиметром

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

Что такое взлом игры, для чего это делается, какие могут быть последствия?

Для начала немного теории. Что же скрывается за словами “взломать игру на Андроид”. Простыми словами – процесс, во время которого вносятся изменения в программный код игры посредством сторонних средств или вручную с целью получения каких-либо преимуществ. Для чего это делается, думаем, каждый из вас знает. Если нет, то вот лишь краткий список:

  1. открытия новых уровней, доступ к которым ограничил разработчик, требуя дополнительной платы;
  2. приобретение внутриигровой валюты без необходимости оплаты реальными деньгами;
  3. быстрая прокачка персонажа;
  4. получение других привилегий, которые в каждой игре выражены по-разному.

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

Взламываются игры в огромном количестве. Геймеры не шибко-то хотят платить за вещи, которые представлены картинкой на экране смартфона. Поэтому у пиратов всегда полно работы. Взлому может быть подвержена, как оффлайн-игра (не требующая подключения к интернету), так и онлайн (в режиме кооператива с другими игроками). Более просто дела обстоят со взломом игр, которые не нуждаются в постоянном подключении к сети, а вот те, что всегда требуют от пользователя доступ во всемирную паутину, требует более щепетильного подхода.

Онлайн-игры постоянно отслеживают действия пользователя, а информация о прохождении содержится также на серверах.

Тем не менее, под давлением взломщиков не всегда и они способны устоять. Тем, кто решил «ломануть» очередную ферму на Андроид, следует помнить о том, что разработчики подобные действия пресекают на корню. Как правило, в качестве наказания выступает бан аккаунта без возможности восстановить прогресс.

Взлом Андроид игр – изменяем системные файлы

Начнем, пожалуй, с этого способа, так как он довольно универсален, не требует поиска приложений, да и довольно прост.

Однако есть один нюанс – вам потребуется получить ROOT -права для вашего устройства. Они нам понадобятся, чтобы получить доступ к файлам системы, так как по умолчанию Android каждого первого не допускает ковыряться в ее коде. О ROOT -правах, способах их получения и прочих моментах мы уже рассказывали в другой статье, поэтому вновь повторяться не будем.

Обратите внимание: При получении прав суперпользователя вы теряете гарантию на свое Андроид-устройство.

Итак, будем считать, что вы получили ROOT -права и полностью готовы взламывать игры на Android . Что делаем дальше:

  1. скачиваем файловый менеджер, советуем Root Explorer;
  2. в игре запоминаем значение, которое будем подвергать изменениям (к примеру, количество золота);
  3. игру полностью закрываем (вызовите список последних приложений и закройте процесс);
  4. запускаем файловый менеджер;
  5. находим папку « Date », в ней еще одну директорию « Date »;
  6. откроется окно, где вы увидите папки, в которых хранятся данные ваших игр;
  7. по названия находим папку игры, которую будем взламывать;
  8. далее придется проверить две папки «shared_prefs» и « files », в одной из которых будет нужный нам документ;

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

  1. как нашли нужную строчку, как правило, после « value » необходимо изменить значение на желаемое;

Не жадничайте! Слишком большие значения могут вывести игру из строя.

  1. сохраняем файл.

Собственно, можете насладиться плодами своего взлома.

Взлом Андроид игр – используем приложения

Несмотря на кажущуюся простоту первого способа, далеко не каждый пользователь рискнет лезть в программный код игры. Поэтому разного рода разработчики (и известные, и не очень) «наклепали» сотни программ, которые должны свести этот процесс к минимуму действий. Однако в случае с приложениями нельзя точно предугадать: сработает или нет. Для взлома конкретной игры на Андроид нередко приходится перебрать несколько подобных инструментов.

Читайте также:  Как посмотреть новости в инстаграмме
Приложения для взлома игр без ROOT -прав

Существует две группы приложений-взломщиков: которые требуют права суперпользователя и которым они не нужны. Вторые отличаются простотой в использовании, но меньшей эффективностью. Итак, что мы можем вам порекомендовать:

  • CreeHack. Довольно известная программа для взлома игр Андроид, ключевой особенностью которой является отсутствие необходимости получения ROOT -прав. Используется для совершения бесплатных покупок внутри игр и приложений. Обратите внимание, что с помощью CreeHack нельзя взломать онлайн-игры. Кроме того, разработчик приложения прекратил поддержку приложения, поэтому новые игры «ломануть» оно не способно. На форуме 4 PDA вы можете ознакомиться с полным списком игр, которые могут быть взломаны CreeHack.

Как пользоваться CreeHack:

  1. Для начала отключите сервисы Google (сделать это можно в настройках устройства, а именно – «Приложения», где находим само приложение Google Play и остальные сервисы, нажимаем кнопку «Остановить»);
  2. Отключите передачу данных и Wi – Fi ;
  3. Запустите CreeHack;
  4. Откройте любую игру или приложение, произведите покупку.
  • APK Editor. Интересное и очень многофункциональное средство, которое подойдет не только для взлома игр, но и для изменения локаций, перевода, удаления рекламы и прочих операций. Возможностей действительно огромное количество, поэтому рекомендуем тщательно изучить тему, посвященной данной программе. В ней вы найдете подробные инструкции, в которой расписаны все действия для тех или иных операций. APK Editor доступна в платной и бесплатной версии.
Приложения, чтобы взломать игру на Андроид с ROOT -правами

Большинство программ для взлома игр на Android требуют права суперпользователя. Однако и функциональность их значительно шире, нежели в средствах, рассмотренных выше. О ROOT -правах мы уже оговорились выше, поэтому сразу перейдем к доступным приложениям.

  • Freedoom . Наверное, самое известное приложение для бесплатного взлома Андроид-игр. Используется главным образом для совершения внутриигровых покупок (продвинутых версий игр, монет, алмазов и так далее). Точнее сказать – Фридом эмулирует банковскую карту, с которой якобы происходит оплата покупок. Приложение работает с огромным количеством приложений, на большинстве популярных девайсов.

Инструкция для взлома игр через Freedoom максимально проста:

  1. Запускаем приложение;
  2. Жмем на кнопку «Старт»;
  3. Запускаем игру или программу, в которой совершаем покупки;
  4. Все.

Как видите, все элементарно. Однако обратите внимание, что во время работы Freedoom перестает работать Google Play . При его запуске будет выводиться сообщения о том, что вы не подключены к Интернету. Чтобы он вновь заработал, нажмите на кнопку «Стоп» в Freedoom.

Как взломать игру на Андроид с помощью GAME KILLER

  • GAME KILLER. Еще один популярный инструмент, принцип работы которого основывается на ArtMoney . Используется уже не для внутриигровых покупок, а для накрутки золота и другой валюты.

Работает примерно так же, как и компьютерный аналог:

  1. Запускаем GAME KILLER;
  2. Открываем игру, которую будем взламывать;
  3. Нажатием на иконку ключа, попадаем в меню GAME KILLER ;
  4. Выбираем то, что будем взламывать (например, алмазы), указывая текущее количество в соответствующую строку;
  5. Совершаем покупку в игре, чтобы количество монет изменилось (главное, чтобы баланс не стал нулевым);
  6. Вновь переходим к GAME KILLER , указывая измененное количество монет (к примеру, было 10, 2 потратили, значит, ищем 8);
  7. Приложение должно выдать 1-2 результата – значит, все получилось (если имеем больше результатов, возвращаемся вновь к 5 пункту);
  8. Указываем желаемое значение.
Скачиваем уже взломанные игры на Андроид

Не подходит ни один из способов? Так может просто скачать взломанную игру на Android ? Да, и такое возможно. Многие пользователи, взломав приложение, размещают его в открытом доступе. Как правило, распространяются они бесплатно, а количество внутриигровой валюты выставлено на максимум. Вам остается только скачать игру.

Заметьте, в Google Play взломанных игр нет, а из сторонних источников вы качаете их на свой страх и риск. Некоторые ресурсы, вводя пользователя в заблуждение предлогом установить бесплатно взломанную игру, подсовывают на смартфон вирус. Поэтому будьте бдительны. Где безопасно качать? Мы уже рассказывали о подобного рода сайтах в отдельной статье.

Adblock
detector