📖 учебник Взлом файлов игровых активов от kryo

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

Kryo

APK Fanatic Уровень 5️⃣
Участник 7 лет
Привет, ребята, просто подумал опубликовать некоторые способы, которыми я пользуюсь для редактирования игр. Это руководство предназначено для игр Unity (поэтому у вас есть Assembly-CSharp.dll или ill2cpp.so), в любом случае мы не заинтересованы в их модификации. :D

Плюсы и минусы:

+ вы можете модифицировать некоторые игры, у которых есть защита, например xigncode (не все из них)
+ не всегда отредактированные данные требуют обновления после выхода нового обновления игры, поэтому нет необходимости редактировать их снова или можно легко импортировать ранее отредактированные файлы в новый файл __data, что намного быстрее
+ вы можете использовать шестнадцатеричное редактирование во многих других играх, не только в Unity
- потребуется некоторое время, чтобы привыкнуть к такому типу редактирования, когда данные находятся в двоичной форме, и вам нужно понимать значения.
- иногда данные загрузки игры снова попадают в другую папку с ресурсами, поэтому вам придется скопировать отредактированный файл в эту новую папку.
- иногда активы зашифрованы

Используемые программы:
В х Г - скачать здесь
Редактор 010 - скачать здесь
АссетСтудио - скачать здесь
ЮнитиЭкс - скачать здесь

Хорошо, давайте начнем. В этом примере мы рассмотрим эту игру https://play.google.com/store/apps/details?id=com.apig.relic.kr.aos

Шаг 1: Установите игру из игрового магазина (я использовал Nox, чтобы проверить это легко и быстро)

Шаг 2: Запустите игру и дайте ей скачать все файлы.

Шаг 3: В проводнике (я использую Total Commander) перейдите в папку sdcard/Android/data, где вы найдете папку com.apig.relic.kr.aos.

Шаг 4: скопировать всю папку на свой компьютер.

Шаг 5: Теперь будет немного интереснее, поскольку вы обнаружите, что все файлы данных находятся внутри этой папки.

также, если вы видите, что эта игра имеет защиту xigncode, не беспокойтесь об этом сейчас

Шаг 6: Откройте AssetStudio и нажмите «Файл», «Загрузить папку».



и перейдите к com.apig.relic.kr.aos\files\UnityCache\, программа начнет сканировать все ресурсы внутри этой папки, иногда это длится немного дольше, дайте ей загрузить весь список

Шаг 7: Нажмите «Тип фильтра» и выберите «Только TextAssets», а затем нажмите «Список ресурсов», чтобы загрузить все ресурсы.


Шаг 8: Давайте выберем один актив из списка. В этом случае SkillGrowthTemplate щелкните его правой кнопкой мыши и отобразите исходный файл.

Обратите внимание на имя папки, здесь находится наш скрытый файл. На этом этапе мы можем закрыть AssetStudio, так как он нам больше не нужен.

Шаг 9: Давайте сейчас откроем UnityEx и перейдем к нашей папке (в данном случае 2f0f694b0785e6769c8c489b4203789399ad46aa) и откроем файл __data.


Шаг 10: Список файлов загрузится. Если в списке много файлов, их проще отсортировать по имени. Щелкните правой кнопкой мыши SkillGrowthTemplate и выберите выбранный экспорт. Держите UnityEx открытым, пока мы редактируем.


Шаг 11: Выбранный файл будет экспортирован в ту же папку, где находится файл __data. Теперь пришло время повеселее: откройте H x D и загрузите SkillGrowthTemplate.txt в редактор hed. Вы можете заметить расширение txt, однако данные нелегко читаются, поэтому нам приходится редактировать их в шестнадцатеричном формате. После загрузки файла нажмите «Адаптироваться к ширине окна» и измените ширину редактора, чтобы посмотреть, удастся ли вам выровнять данные так, чтобы столбцы отображались на рисунке. в данном случае 32 байта на строку. Не всегда вы можете этого добиться, но в большинстве случаев вам это удастся. Зависит от того, сколько столбцов данных находится в каждой строке. Иногда вы можете изменить размер шрифта и отключить текст ascii, чтобы иметь больше места, если это необходимо, в любом случае в этом нет необходимости.


Шаг 12: Фу, это было утомительно, просто чтобы понять, когда мы действительно что-то редактируем :D Хорошо, эти файлы в большинстве случаев имеют формат int или float, и они имеют обратный порядок байтов, поэтому откройте браузер и перейдите к Конвертер чисел с плавающей точкой в ​​шестнадцатеричный формат для преобразования числа с плавающей запятой в шестнадцатеричный и нажмите «Поменять порядок байтов» и наоборот, и я просто использую калькулятор, чтобы сделать то же самое для целочисленных значений, только не забывайте читать числа задом наперед, например (12 34 56 в шестнадцатеричном формате будет 56 34 12 в редакторе). В любом случае данные в нашем файле являются плавающими, поэтому давайте воспользуемся нашим онлайн-калькулятором и проверим, что мы найдем.

Шаг 13: Давайте подробнее рассмотрим некоторые цифры. Ключевым моментом является наличие некоторой отправной точки, поэтому будет проще, если вы запустите игру и соберете некоторые данные из игрового окна, в данном случае, насколько повышается ваш навык при повышении уровня, поэтому мы находим такие значения, как 0.1, 0.2 и т. д., которые указывают, что 0.08 является наиболее вероятное значение для некоторых навыков, и если вы видите в шестнадцатеричном редакторе, все эти значения расположены друг под другом, если выровнять их.

0ad7a33d — это 0.08 в числах с плавающей запятой, 64 после — это какое-то добавленное значение или что-то в этом роде, не путайте. Нас интересуют первые 8 байт. Скопируйте и вставьте эти числа в конвертер чисел с плавающей запятой в шестнадцатеричный, и вы должны получить нормальное значение, в этом примере 0.08, и если вы протестируете в игре, это будет добавленное значение для одного из навыков. Нам нужно изменить это число на большее, скажем, 500, что в шестнадцатеричном формате будет 00 00 fa 43, как показано на рисунке выше. Измените 0ad7a33d на 0000fa43 и сохраните файл.

Шаг 14: Вернитесь в UnityEx, где у вас есть открытый файл __data, и нажмите «Импортировать все файлы». Это приведет к импорту всех отредактированных файлов в экспортированную папку. Обратите внимание: он не будет импортировать ничего, чего нет в исходном файле, поэтому не беспокойтесь, если у вас есть дополнительные файлы резервных копий в этой папке. Вместо исходного создается новый файл __data. Вероятно, хорошая идея сделать копию, прежде чем нажимать «Импорт».

Шаг 15: Скопируйте файл __data в sdcard/Android/data/com.apig.relic.kr.aos/files/UnityCache/Shared/2f0f694b0785e6769c8c489b4203789399ad46aa и перезапишите существующий файл (обратите внимание, что имя папки может быть другим, и иногда игра загружает данные снова, поэтому просто скопируйте отредактированный файл снова во вновь созданную папку)

Шаг 16: Тестовая игра и прибыль


Если у вас есть какие либо вопросы, пожалуйста спрашивайте

кредиты: Kryo
 
Последнее редактирование:

Kryo

APK Fanatic Уровень 5️⃣
Участник 7 лет
В этом уроке будет дополнение, в котором мы будем использовать редактор 010, который оказался полезным в этой игре. Но это немного позже. возможно, воскресенье :p
 
Последнее редактирование:

Люцифер

☠ Темный Лорд ☠
Участник 8 лет
Резервов больше нет..муахахахаха xD
 

Kryo

APK Fanatic Уровень 5️⃣
Участник 7 лет
блин, только что случайно удалил материал для другого моего поста, был на шаге 10, придется переделывать. а еще фотографии в моем первом посте не показываются, бла

Изменить: все отсортировано
 
Последнее редактирование:

Люцифер

☠ Темный Лорд ☠
Участник 8 лет
блин, только что случайно удалил материал для другого моего поста, был на шаге 10, придется переделывать. а еще фотографии в моем первом посте не показываются, бла
лол хD
 

Атекубанос

Lurker Уровень 0️⃣
Участник 2 лет
просто загрузите изображение еще раз
Сообщение автоматически объединяется:

загрузить изображение еще раз
 
Топовое