📖 учебник Основы: Взлом (Mod) Android-игр с Net Reflector

Sbenny.com доверяют 1,326,833 XNUMX XNUMX счастливых пользователей с 2014 года.
Зарегистрируйтесь

Sbenny

Сумасшедший ученый
Штатный сотрудник
Администратор
Отряд СБ Мод ⭐
✔ Утвержденный релизер
Активный пользователь
Прежде всего, ребята, если вы здесь, это потому, что вы хотите научиться взламывать игры для Android с помощью Net Reflector.

Исходя из своего опыта, я могу сказать, что взломать игры с помощью .NET Reflector очень легко по сравнению с другими методами, и если вы все еще не можете взломать какие-либо игры ПОСЛЕ ПРОЧИТАНИЯ ВСЕХ УЧЕБНЫХ ПОСОБИЙ, я могу вам помочь. Глянь сюда: Я научу вас, как взломать Android игры!


Прежде всего, вам необходимо знать требования, чтобы взломать .NET Reflector.

Требования:

1) Имейте файл .apk, который вы хотите взломать. Вы можете найти оригинальную версию каждой игры в нашей игровой зоне: Sbenny.com, ваш бесплатный провайдер приложений и игр для Android с MOD APK или, если вы предпочитаете, вы можете посмотреть в Google, чтобы найти нужную игру.
2) Установите WinRar на ваш компьютер. ( Скачать WinRar 32bit | Скачать WinRar 64bit )
3). Отражатель .NET. ( Скачать .NET Reflector 9.0 ). Если у вас есть проблемы с активацией трещины NET Reflector, пожалуйста, посмотрите на Руководство SusieQ о том, как загрузить и установить NET Reflector, (Запустите файл крэка от имени администратора, чтобы получить код ответа в Read-Me)
4) Иметь "Reflexil", плагин, необходимый для взлома файлов с помощью .NET Reflector. ( Скачать плагин Reflexil для .NET Reflector )
5) Иметь APK подписчик. Я лично использую подписавшего в один клик. ( Скачать в один клик apk signer )


Get Ready

Давайте подготовим наше рабочее пространство:

1) Первый шаг - заглянуть в наш файл .apk, чтобы убедиться, что его можно взломать с помощью этого метода. Что мы будем делать, это переименовать apk (я рекомендую вам включить расширение файла, чтобы сделать вашу жизнь проще: short.sbenny.com ) из .apk в .zip;
2) Дважды щелкните файл .zip, и вы сможете открыть его с помощью WinRar. Если нет, щелкните правой кнопкой мыши и выберите «Открыть с помощью ...», а затем выберите «WinRar»;
3) Попробуйте перейти в следующее местоположение: assets / bin / Data / Managed /. Если вы достигли этого успешно, и если вы видите много файлов .dll внутри него, то ДА, вы можете взломать эту игру (или вы можете ПОПРОБОВАТЬ взлом), используя .NET Reflector!
4) Теперь извлеките всю папку «Managed», куда хотите (у меня есть папка на моем рабочем столе, которую я использую исключительно для взлома игр, куда я помещаю все программное обеспечение, необходимое для их взлома).
5) Откройте «.NET Reflector», переместите ВСЕ ФАЙЛЫ .DLL из папки «Managed» внутри него (переместите их в ЛЕВОЕ поле Reflector).
6) Нажмите F3, затем нажмите Ctrl + M. Это активирует окно поиска и правильно настроит его для наших областей. Обратите внимание, что это должно быть сделано КАЖДЫЙ РАЗ, когда вы открываете .NET Reflector.
7) Запустите Reflector (если вы прочитали «ReadMe.txt» в папке Reflexil по моей ссылке для скачивания выше, вы уже знаете, как его запустить. В противном случае, хорошо, нажмите на значок шестеренки или перейдите в Инструменты -> Reflexil и нажмите в теме)

Хорошо, нам удалось все настроить правильно, и мы наконец-то можем приступить к взлому!

Давайте начнем

Итак, давайте внимательно прочитаем то, что я напишу ниже, так как это легко понять, если вы потратите достаточно времени на чтение, хорошо?

1) Первый шаг после того, как вы захватили файл .apk, - это открыть его с помощью WinRar (я лично переименовал расширение в .zip, чтобы автоматически открывать его с помощью WinRar, но вы можете просто щелкнуть правой кнопкой мыши по файлу .apk и выберите «Открыть с помощью ...» -> WinRar).


2) Перейдите по следующему пути внутри окна WinRar: assets / bin / data / Managed /, как на скриншоте ниже:

3) Извлеките (вы можете просто перетащить их) все файлы .dll этого архива в желаемую папку (или, чтобы быть быстрее, просто перетащите из нее всю папку «Управляемые» архива.


4) Теперь откройте NET Reflector, нажмите F3 и Ctrl + M (это нужно делать каждый раз, чтобы быстро настроить NET Reflector для нашего использования), загрузите плагин Reflexil, щелкнув значок шестеренки, и переместите все файлы. dll внутри окна .NET Reflector (слева, как на скриншоте ниже):

5) Теперь мы готовы к поиску, поэтому введите нужное ключевое слово в поле поиска и отредактируйте нужный код, как показано на скриншоте ниже. Смотри внимательно:

6) Чтобы отредактировать код, вам нужно щелкнуть правой кнопкой мыши нужную инструкцию, которую вы хотите изменить, и выбрать «Редактировать». Когда вы закончите редактировать, нажмите «Обновить», как на скриншоте ниже:

7) Теперь сохраним наш код. Для этого на левой панели .NET Reflector прокрутите вверх, пока не найдете имя измененной сборки, затем щелкните правой кнопкой мыши -> Reflexil -> Сохранить, как на скриншоте ниже:

8) Он добавит «.Patched» к исходному имени файла .dll, чтобы вы знали, какой из них изменен, а какой - исходный файл .dll. Теперь, чтобы убедиться, что мы изменили правильный код, давайте снова загрузим сборку в .NET Reflector, чтобы посмотреть, как она теперь выглядит. (этот шаг не является обязательным, но рекомендуется, если вы не на 100% уверены, что взлом правильно написан:

9) Хорошо, в моем примере коды были правильными, поэтому мы можем продолжить добавление измененного файла .dll в наш исходный файл .apk. Итак, мы снова открываем файл .apk с помощью WinRar и заменяем исходный «Assembly-Csharp.dll» (или любые другие файлы .dll, которые вы изменили) на файл, содержащий «.Patched», но, конечно, вам нужно переименовать файл на исходное название, иначе игра не загрузится. Итак, в моем примере я переименовал Assembly-Csharp.Patched.dll в Assembly-Csharp.dll, чтобы восстановить его исходное имя.

10) Теперь пришло время подписать его (или вы можете добавить заставку если хотите, перед подписанием файла .apk). Таким образом, мы перемещаем измененный файл .apk в ту же папку, что и файл "one_click_signer.cmd" (или, если вы используете другой подписчик apk, используйте свой метод для его подписи), затем мы открываем его двойным щелчком и командой Появится окно с подсказкой.
Все, что нам нужно сделать, это набрать:

Код:
"name of the apk file.apk"
и нажмите Enter, как на скриншоте ниже (не забудьте символы "", они являются частью кода, который вам нужно написать!):

11) Вот и все! Наш файл MOD APK готов! В этой папке вы найдете новый файл .apk, имя которого начинается с «signed-». Это подписанный файл .apk, которым вы, наконец, можете поделиться! Но сначала, конечно, протестируйте игру и убедитесь, что она работает должным образом. Если да, это означает, что вы хороший хакер и можете, наконец, загрузить файл .apk, чтобы поделиться им со всеми! Если файл .apk не работает должным образом или созданные вами коды не отображаются, не теряйте надежды! Просто попробуйте еще раз, изменив некоторые другие смещения! Удачи!



Часто задаваемые вопросы:

Если вам нужна помощь, как всегда, ответьте ниже, и я буду рад добавить дополнительную информацию или помочь вам! 🎆

У вас есть Int32?

Вы можете вернуть значение следующим образом:
ldc.i4 -> Int32 -> Your_Value (без ограничений)
в отставке

or

ldc.i4.s -> SByte -> Your_Value (максимум 128)
в отставке



У вас есть Int64?

Вы можете вернуть значение следующим образом:
ldc.i8 -> Int64 -> Ваше_значение
в отставке


У вас есть Один?

Вы можете вернуть значение следующим образом:
ldc.r4 -> Один -> Your_Value
в отставке


У вас есть двойной?

Вы можете вернуть значение следующим образом:
ldc.r8 -> Двойной -> Your_Value
в отставке


У вас есть "Логический"?

Я привык сравнивать логическое значение с вопросом. По сути, он что-то «спрашивает» у игры, и игра отвечает True (да) или False (нет).

Например: get_isVip «спросит» у игры, является ли пользователь VIP, и игра, вероятно, ответит «Нет, он не VIP !!!», так что мы можем здесь сделать?
У нас есть два пути. Первый (проще, но многому не научишься ..) - всегда возвращать True (да), а второй (не всегда применимо, но это «профи») - сделать игру такой, что ты - VIP. серьезно.

Но сначала давайте объясним, как вернуть в игре «Истина» или «Ложь».

Правда = ldc.i4.1 (или ldc.i4 -> Int32 -> 1)
Ложь = ldc.i4.0 (или ldc.i4 -> Int32 -> 0)

Помните, что вы всегда должны использовать ldc.i4 (а не ldc.r4, ldc.i8 и т. Д.), Иначе игра вылетит.

Итак, самый простой способ всегда возвращать True (или False) логическому значению - это заменить всю функцию:

[ИСТИНА]

ldc.i4.1
в отставке


[НЕПРАВДА]

ldc.i4.0
в отставке

Теперь поговорим о методе профи. Как мы уже говорили выше, все дело в том, чтобы заставить игру думать, что вы на самом деле VIP, поэтому логическое значение, естественно, вернет истинное значение, даже если мы оба знаем, что вы не VIP в игре (конечно, я поговорим о VIP, чтобы привести пример, вы можете заменить слово «VIP» чем угодно. Например, «get_isUnlocked» или просто «IsUnlocked» - это логическое значение для разблокировки элементов в игре и т. д. Это зависит от вас. правильное ключевое слово для взлома значения).

Иногда проводятся некоторые «проверки», чтобы убедиться, VIP вы или нет. Например, игра проверяет ваш VIP-уровень и, если он равен 0, возвращает false, а если он выше 0, возвращает true.

Это должно выглядеть так (очень простой пример) в окне декомпиляции NET Reflector:

get_isVip {

если (this.Player.get_vipLevel)> 0
{
возвращают правда
}
возвращают ложный

}

И в Reflexil (окно плагина внизу) вы должны увидеть что-то вроде:

0 ldarg.0
1 ldfld Player.get_vipLevel
2 ldc.i4 0
3 bge (6 -> ldc.i4.1)
4 ldc.i4.0
5 сб (7 -> сбн)
6 ldc.i4.1
7 ret


Теперь не так сложно понять, что говорит Рефлексил. Давайте сравним текст с декомпилированным кодом NET Reflector:

ldarg.0 -> "это."
ldfld -> загружает значение, в частности, значение vip уровня игрока
ldc.i4 0 -> это означает 0, относится к vip-уровню игрока
bge (6 -> ldc.i4.1) -> это означает «ветвь, если больше, чем». Это означает, что если VIP-уровень игрока (ldarg.0 + ldfld) больше 0 (ldc.i4 0), функция перейдет к шестой функции (ldc.i4.1, что означает истина).
ldc.i4.0 -> что означает ложь. Если функция не перешла на ldc.i4.1, игра вернет это значение (false), поэтому игрок не будет VIP
br (7 -> ret) -> это перейдет к 7-й функции, которая является "ret". Конечно, после возврата false функция должна закрыться, поэтому она перейдет к «ret» в конце.
ldc.i4.1 -> это означает истину и вызывается "bge", которое мы видели выше. Это единственный способ, которым это значение называется так, если значение игрока больше 0, это будет следующее возвращаемое значение = Игрок ЯВЛЯЕТСЯ VIP.
ret -> Вы лучше меня знаете, что "ret" завершает функцию. Помните, что ВСЕ функции в игре должны заканчиваться на "ret", иначе игра не будет работать должным образом.


Итак, после этого долгого и скучного урока, как профессионалы могут взломать это?

Ответ находится в вашем мозгу. Если уровень vip игрока выше 0, игрок будет VIP, что мы будем делать? Конечно, взломаем vip уровень игрока! Как? Просто найдите "get_vipLevel" (обратите внимание, что это всего лишь пример, он не применяется к каким-либо конкретным играм, и ключевое слово может измениться), и это, вероятно, будет Int32, поэтому вы просто замените всю его функцию на:

ldc.i4 -> Int32 -> 15 (например, поскольку в большинстве игр с VIP-интерфейсом уровень VIP ограничен 15, в то время как в некоторых других максимальное значение уровня VIP составляет 10)
в отставке

Это не только автоматически активирует ваше VIP-членство, но также даст вам VIP-уровень = 15.
Обратите внимание, что даже если нам удастся взломать, в частности, VIP-уровень, некоторые онлайн-игры по-прежнему НЕ дают вам привилегии VIP-членства, или вы получите только некоторые из них. Почему? Потому что иногда уровень VIP в онлайн-играх управляется сервером, поэтому вы можете быть единственным, кто видит, что вы VIP-пользователь, тогда как все остальные люди увидят, что вы НЕ VIP-пользователь, потому что вы не являетесь VIP для сервера. Таким образом, если это значение на стороне сервера, вы все равно не сможете получить свои привилегии vip с помощью этого хака.


КАК размножаться ценность?

Легко, ты должен Добавить число, на которое нужно умножить значение, за которым следует "mul" перед "ret" или, если быть более точным, после того, как функция вернет значение, которое вы хотите взломать.
Пример:

ldarg.0 (что означает «это»)
ldfld Player :: get_money
ldc.i4 (или ldc.i8, или ldc.r4, или ldc.r8. Какой? См. мои примеры выше) -> Int32 (или Int64, или Single, или Double. Какой? См. мои примеры выше) -> Your_Value
мул
в отставке

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


КАК деление / вычитание / добавить ценность?

Это то же самое, что и раньше, вам просто нужно использовать «div» (или «sub» или «добавить»), а не «mul» (div = делить, mul = умножать, sub = вычитать, добавлять = добавлять).


Что разница между умножением удалось и просто возвращая 9999999?

Основное отличие состоит в том, что возвращение 9999999 даст значение STATIC. Он никогда не будет уменьшаться / увеличиваться, в то время как умножение (или добавление) значения даст ДИНАМИЧНОЕ значение, поэтому у вас могут кончиться деньги, но теоретически у вас также есть более низкий шанс бана. Не думайте о 9999999 только когда говорите о деньгах. Это может быть HP или Damage или XP и так далее ..




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


Я не разрешаю кому-либо делиться своим учебником без моих разрешений.
 
Последний раз редактировалось модератором:

JAY-forGROM

Ученик Уровень 2️⃣
Участник 7 лет
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Да, теперь все начинает иметь смысл. , ,
 

RFD

Начинающий Уровень 1️⃣
Участник 7 лет
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Спасибо SBenny, даст этому еще один шанс.
 

Замка

В любви Уровень 4️⃣
Отряд СБ Мод ⭐
Участник 7 лет
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Это удивительно понятный урок ...... ВЫ ROCK!
 

RFD

Начинающий Уровень 1️⃣
Участник 7 лет
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Согласовано. У кого-нибудь есть какие-либо советы по изоляции (расположение элементов в общем файле) для облегчения обучения?
 

Замка

В любви Уровень 4️⃣
Отряд СБ Мод ⭐
Участник 7 лет
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

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

Sbenny

Сумасшедший ученый
Штатный сотрудник
Администратор
Отряд СБ Мод ⭐
✔ Утвержденный релизер
Активный пользователь
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Лок сказал:
Мне нравится начинать с запуска игры, которая будет модифицирована, чтобы я мог ознакомиться с названиями игровых функций, предметов, валют и т. Д., А затем я пойду искать эти
Согласитесь с замком! Кроме того, иногда у валюты есть другое имя в NET Reflector.

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

Желаем вам удачи!
 

JAY-forGROM

Ученик Уровень 2️⃣
Участник 7 лет
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

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

Sbenny

Сумасшедший ученый
Штатный сотрудник
Администратор
Отряд СБ Мод ⭐
✔ Утвержденный релизер
Активный пользователь
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Не могу дождаться, чтобы увидеть несколько потрясающих релизов от тебя, приятель :)
 

Sbenny

Сумасшедший ученый
Штатный сотрудник
Администратор
Отряд СБ Мод ⭐
✔ Утвержденный релизер
Активный пользователь
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Учебник завершен.
 

Макако Инсано

Ученик Уровень 2️⃣
Участник 8 лет
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Здравствуйте,

Потратив несколько дней на изучение основных шагов, я наконец-то начал моддинг моей любимой игры.

Я следовал этому руководству, чтобы освоиться с Net Reflector и «исходным кодом» игры ....
Я сделал небольшое изменение (например, отредактировал логическое значение) и продолжил следовать руководству, чтобы увидеть результаты, но при попытке установить подписанный apk появилось сообщение об ошибке: «Ошибка установки Apk: INSTALL_PARSE_FAILED_NO_CERTIFICATES» ...

Что я могу с этим поделать ??
 

Sbenny

Сумасшедший ученый
Штатный сотрудник
Администратор
Отряд СБ Мод ⭐
✔ Утвержденный релизер
Активный пользователь
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Макако Инсано сказал:
Здравствуйте,

Потратив несколько дней на изучение основных шагов, я наконец-то начал моддинг моей любимой игры.

Я следовал этому руководству, чтобы освоиться с Net Reflector и «исходным кодом» игры ....
Я сделал небольшое изменение (например, отредактировал логическое значение) и продолжил следовать руководству, чтобы увидеть результаты, но при попытке установить подписанный apk появилось сообщение об ошибке: «Ошибка установки Apk: INSTALL_PARSE_FAILED_NO_CERTIFICATES» ...

Что я могу с этим поделать ??
Здравствуйте, убедитесь, что вы подписали файл .apk и удалили исходную игру перед установкой этой версии мода, которую вы создали! Также убедитесь, что вы удалили ".Patched" из имени файла в файле .apk!
 

Макако Инсано

Ученик Уровень 2️⃣
Участник 8 лет
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Сбенни сказал:
Здравствуйте, убедитесь, что вы подписали файл .apk и удалили исходную игру перед установкой этой версии мода, которую вы создали! Также убедитесь, что вы удалили ".Patched" из имени файла в файле .apk!
Спасибо за ваш мгновенный ответ ...

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

Макако Инсано

Ученик Уровень 2️⃣
Участник 8 лет
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Я попробовал еще раз, и он успешно установился ... (Y), :стрела:
Моя ошибка заключалась в том, что я не ждал достаточно времени, пока новый файл .apk, начинающийся с «signed-», будет выполнен, потому что когда я увидел «1 файл скопирован». и поискал его в папке, я просто нашел файл, начинающийся с «x», и подумал, что это подписанный apk с другим именем.

Теперь я проверю, сработали ли мои изменения.
 

comwhat

Начинающий Уровень 1️⃣
Участник 8 лет
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Хороший ТУТ: arrow:: arrow:
 

Макако Инсано

Ученик Уровень 2️⃣
Участник 8 лет
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Привет опять я ;)

Мне нужна помощь...
В игре есть этот код:
Код:
 1-    int researchTimeLeft = Managers.Combo.GetResearchTimeLeft(storeyb.slotIndex);
 2-    int finishNowCost = Managers.Store.GetFinishNowCost((float) researchTimeLeft);
 3-    if (Managers.Player.HardCurrency >= finishNowCost)
 4-    {
 5-        Managers.Combo.RushResearch(storeyb.slotIndex, new Action<RushComboResearchResponse>(storeyb.<>m__133));
 6-    }
 7-    else
 8-    {
 9-           [...] (the else code)
10-   }
и я хотел бы изменить строку 2, чтобы она выглядела так:
Код:
 1-    int researchTimeLeft = Managers.Combo.GetResearchTimeLeft(storeyb.slotIndex);
 2-    int finishNowCost = 0;
 3-    if (Managers.Player.HardCurrency >= finishNowCost)
 4-    {
 5-        Managers.Combo.RushResearch(storeyb.slotIndex, new Action<RushComboResearchResponse>(storeyb.<>m__133));
 6-    }
 7-    else
 8-    {
 9-           [...] (the else code)
10-   }
Как я могу сделать это с помощью Reflexil ??? и мне было интересно, если есть IDE или метод, где мы можем легко изменить код Sorce ??
 

Sbenny

Сумасшедший ученый
Штатный сотрудник
Администратор
Отряд СБ Мод ⭐
✔ Утвержденный релизер
Активный пользователь
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Хе-хе, это не легко, если вы не пишете коды Reflexil :p Попробуйте сделать скриншот, это будет проще и быстрее!
 

Макако Инсано

Ученик Уровень 2️⃣
Участник 8 лет
Re: Основы: Взлом (Mod) Android-игр с Net Reflect

Сбенни сказал:
Хе-хе, это не легко, если вы не пишете коды Reflexil :p Попробуйте сделать скриншот, это будет проще и быстрее!
Правда :Компьютерщик:

Потратив часы на попытки, я справился с этим ... И понял, что я далек от того, чтобы мои изменения работали
Я не сдамся, но мне нужно привыкнуть к этому ...

Но я все еще задаюсь вопросом, есть ли другой способ сделать это ...
 
Топовое