Как декомпилировать код android игры написанной на unity
Есть игра на unity, но в ней нет файла /assets/bin/data/managed/Assembly-CSharp.dll и других dll
Игра точно на unity потому что заставка unity и папка /assets/bin/data/ есть.
В папке managed только папки etc, Resources, Metadata а в Resources файл unity_builtin_extra
В /assets/bin/data/ файлы типа
2cce4b02b6fb1654c97c0a7766e7b47c
441f5e3731f6e1d44b47d11bf0495a74.resource,
файл boot.config,
файл globalgamemanagers,
globalgamemanagers.assets,
level0-6,
sharedassets0.assets.split0,
и похожие по названию,
unity default resources.
Папка lib отдельно, находится в /mnt/asec/имя_пакета/split_config.armeabi_v7.apk
В /data/data/имя_пакета , /sdcard/Android/data/имя_пакета/files есть папки и il2cpp и Unity
Файлы в /assets/bin/data/ распаковываются с помощью unityex, в них похоже только ресурсы.
Отслеживать
задан 25 янв 2020 в 0:39
37 9 9 бронзовых знаков
Ну какие dll — это ж сборка для Андроида, а не для форточек. У Андрюши ядро Linux, библиотеки в основном .so , но для unix-систем расширение не главное, поэтому может быть и другое и вообще без расширения.
25 янв 2020 в 7:31
В этой игре используется Backend IL2CPP, это значит, что код грубо говоря транслирован из c# в c++ и скомпилирован с помощью компилятора в машинный код, это значит, что у вас не получится посмотреть код, можете использовать дизассемблер, но он в ваше случае можно сказать ничем не поможет.
28 янв 2020 в 19:17
@Aimon А в какой файл он компилируется, а то Assembly-CSharp.dll нет, и даже намека на dll в этой и других папках.
31 янв 2020 в 3:42
Путь к папке со скомпилированной библиотекой lib\пака в зависимости от архитектуры\ И там будет файл libil2cpp.so скриншот: imgur.com/04BjDKy
31 янв 2020 в 12:46
С помощью дизассемблера, но это вам особо ни чем не поможет потому-что с этого кода уже не получится получить c#, вот как выглядит ассемблер: imgur.com/iskRDHB, говоря простым языком вы уже не можете посмотреть код в этой игре на C#
Как декомпилировать игру
Текущее время: 24 ноя 2023, 21:24
Декомпиляция игры на unity
Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.
Сообщений: 9 • Страница 1 из 1
Декомпиляция игры на unity
Kanaviar 14 мар 2018, 01:21
Здравствуйте, подскажите пожалуйста, есть очень сырая игра написанная на unity, находится в папке, сам .exe и папка «»_Data. Как можно декомпилировать игру и собрать в проект для unity для редактирования?
Kanaviar UNец Сообщения: 3 Зарегистрирован: 12 мар 2018, 01:18
Re: Декомпиляция игры на unity
Woolf 14 мар 2018, 02:20
никак. Затраты на декомпилирование и приведение в рабочий вид сопоставимы с написанием новой игры
Разработчик theFisherOnline — там, где клюёт
Разработчик Atom Fishing II — Первая 3D MMO про рыбалку
Разработчик Atom Fishing — Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Woolf Адепт Сообщения: 7178 Зарегистрирован: 02 мар 2009, 16:59
Re: Декомпиляция игры на unity
Valerich 14 мар 2018, 02:50
Скажу только за ILSpy, просмотр всех скриптов, всего кода в игре.
На счет второго вашего предложения, сильно сомневаюсь что это вообще возможно.(да модельки, текстуры, еще чего-то, такого рода утилит тоже хватает, но сцену чтоб все как на ладони было, такого просто нет, с иерархией может еще, да? ) Волшебной палочки не существует)
Скрипты — да, остальное может пересобрать только автор, т.к только он помнит/знает как все устроено.)))
Valerich UNITрон Сообщения: 328 Зарегистрирован: 07 сен 2016, 11:24
Re: Декомпиляция игры на unity
seaman 14 мар 2018, 07:47
http://devxdevelopment.com/Buy
DevXUnity-Unpacker Studio Pro
— Export resources: sound, images (to png), mesh (to .obj), text, font, object metadata, etc.
— Export model with animations
— Export All Scripts from game (Decompile to C# (.cs files))
— Repack resources (standalone game): images, text, edit assets headers, edit assembly strings
— Generate Unity3D project (from Win, MAC, APK — scenes, scripts, resources, animations)
Но все же «In the process of recovery, there may be errors in scripts and scenes that need to be fixed manually (it all depends on the particular game).»
seaman Адепт Сообщения: 8352 Зарегистрирован: 24 янв 2011, 12:32 Откуда: Самара
Re: Декомпиляция игры на unity
snezhok_13 14 мар 2018, 12:26
.NET Reflector вроде был, более менее код позволит достать, но так чтобы декомпилировать и вот вам исходники — такого наверняка не получится и это хорошо, а то бы школьники уже сделали бы свой «Тарков», свой «Ори» и другие игры
Разработка игр, немножко игровая журналистика, сейчас делаем Календарь: даты выхода игр
- Сайт
Re: Декомпиляция игры на unity
seaman 14 мар 2018, 12:34
такого наверняка не получится
Т.е. то что я привел — это «не получится»?
Как я понимаю на старых играх он без ошибок все достает вплоть до сцен и проекта. На новых — да могут быть ошибки.
Стоит 250 баксов и кряка не предвидится. Зато создатель предлагает бесплатно распаковать одну игру, если она ему понравится. Ищите где
seaman Адепт Сообщения: 8352 Зарегистрирован: 24 янв 2011, 12:32 Откуда: Самара
Re: Декомпиляция игры на unity
Kanaviar 14 мар 2018, 19:28
seaman писал(а):
такого наверняка не получится
Т.е. то что я привел — это «не получится»?
Как я понимаю на старых играх он без ошибок все достает вплоть до сцен и проекта. На новых — да могут быть ошибки.
Стоит 250 баксов и кряка не предвидится. Зато создатель предлагает бесплатно распаковать одну игру, если она ему понравится. Ищите где
Все, спасибо, нашел все таки крякнутую версию этой проги, скачал, закинул туда **_Data папку, там же нашел кнопку:»экспортировать в unity проект», все получилось!)
Kanaviar UNец Сообщения: 3 Зарегистрирован: 12 мар 2018, 01:18
Re: Декомпиляция игры на unity
ko568 01 ноя 2020, 17:41
Kanaviar писал(а):
seaman писал(а):
такого наверняка не получится
Т.е. то что я привел — это «не получится»?
Как я понимаю на старых играх он без ошибок все достает вплоть до сцен и проекта. На новых — да могут быть ошибки.
Стоит 250 баксов и кряка не предвидится. Зато создатель предлагает бесплатно распаковать одну игру, если она ему понравится. Ищите где
Все, спасибо, нашел все таки крякнутую версию этой проги, скачал, закинул туда **_Data папку, там же нашел кнопку:»экспортировать в unity проект», все получилось!)
Дайте ссылочку, пожалуйста)
ko568 UNец Сообщения: 1 Зарегистрирован: 01 ноя 2020, 17:39
Re: Декомпиляция игры на unity
Saltant 01 ноя 2020, 18:09
Как декомпилировать игры
Маленькое пособие для тех, кто интересуется, как устроены их любимые интерактивные работы. Разберём все популярные и не очень популярные движки.
Фотоиллюстрация статьи: Alexander Andrews
Ren’Py
Сначала при помощи rpatool нужно разархивировать файлы RPA:
python rpatool -x scripts.rpa
Так легко посмотреть аудио и изображения из игры. Но так как нас интересуют скрипты, придётся пойти дальше. Скачайте файл un.rpyc и положите его в папку с игрой, а затем запустите саму игру. После этого она сама декомпилирует все .rpyc файлы в обычные .rpy на Питоне.
Z-машина
С Inform всё хитро, потому что у него две виртуальных машины: Z-машина и Glulx. Начнём со старенького.
В общем случае для файлов Z1-Z8 есть дезассемблер TXD, который входит в пакет ztools. Его придётся собирать из исходников на Си, но после этого всё довольно просто: ему достаточно указать адрес файла, и он выдаст его код. Сам код даётся в опкодах для Z-машины, поэтому он ничего не скажет непосвящённым людям, а вот полный список используемых строк в игре будет очень полезен. Это очень полезно, например, при переводах парсерок.
К сожалению, на играх RInform txd падает (по segfault) как только доходит до русских строк.
Самые старые файлы Z1-Z3 также открываются онлайн при помощи интерпретатора Encrusted. Просто откройте файл, нажмите на «гамбургер-меню» справа и выберите галочку «Show object tree», которая покажет дерево всех объектов в игре. Это не декомпиляция, но тоже интересно.
Для glulx есть декомпилятор mrifk. Он даёт полный псевдокод игры, вместе с комнатами, объектами, параметрами и глаголами, но тоже очень не любит RInform.
> «Sfbf 5so-nibtew ntgno( — rpqa7icafs Xlli- — Sfbf pqacea tgf poqa rpasw»-
Кроме того, есть онлайн-декомпилятор glulx-strings, который даёт полный список строк из игр Glulx, Z-машины, TADS 2 и TADS 3. Он не ломается на русских играх, но текст игр на RInform-Z6 будет зашифрован подстановкой. Пытливый читатель легко поймёт, из какой игры была цитата выше.
QSP
Формат QSP открывается QGen’ом. Этого достаточно, чтобы сделать патч к какой-нибудь чужой заброшенной игре.
Если игра защищена паролем, то можно воспользоваться декодером от AleksVersus.
Ink
Ink использует машиночитаемый формат JSON, в котором всё довольно прозрачно для человека, хотя трудно разобрать логику. По крайней мере, видны все строки. Обратной трансформацией пока никто не занимался.
Unity
Логика игры компилируется в DLL для виртуальной машины .NET, обычно под названиями Assembly-CSharp.dll, Assembly-CSharp-firstpass.dll и Assembly-UnityScript.dll. Они открываются декомпиляторами .NET: Telerik, dotPeek, ILSpy, Reflector. На выходе будет код на C#.
Конечно, уже существует платный обфускатор, который делает код менее читабельным.
Ресурсы распаковываются, например, через Unity Assets Explorer.
INSTEAD
Игры на INSTEAD шифруются как текст. Кодирование исходников идёт в обратную сторону при запуске игры, и в проекте с открытым исходным кодом легко посмотреть, как же оно устроено. И относительно легко повторить.
В отличие от других движков, INSTEAD ещё не настолько популярен, чтобы в интернете были легко упакованные программы для распаковки игр. Поэтому вам понадобится консоль, компилятор Си и кусок кода из instead.c. Кусок с побитовым сдвигом нужно поставить в простую программу чтения файла в консоли. (Оставлю это упражнение пытливому читателю.) В полученном коде сохраняются даже комментарии автора.
Справедливости ради, существует вариант с реальной компиляцией кода Lua, но им никто не пользуется, потому что байтовый код непереносим: пришлось бы выпускать несколько версий игры для каждой архитектуры (отдельно 32 бита, 64 бита, Android и так далее).
URQ
Незашифрованные игры на URQ достаточно открыть в текстовом редакторе. Опытные игроки называют это «прохождение в блокноте».
Алгоритмы декодирования QS1 и QS2 можно взять из исходников FireURQ.
Законченных декодеров, конечно, нет в публичном доступе, но наш пытливый читатель на уровне начинающего программиста, конечно, справится с этой задачей.
ЯРИЛ
В ЯРИЛ тоже есть шифрование игр, и, что неожиданно, оно использует реальную криптографию — ключи DES. Написать собственный декодировщик DES уже гораздо сложнее чем пять раз перепройти «Комсомольца», так что ЯРИЛ останется единственной неприступной платформой в этом списке.
Twine
Пропустим другие HTML-платформы, потому что код игр на Javascript и HTML уже достаточно читабелен. Но вот Twine стоит подробного осмотра.
Во-первых, все игры Twine открываются в самом редакторе Twine. Игры Twine 1 открываются только в редакторе Twine 1 и то же самое для второй версии. Поэтому если вы хотите посмотреть исходники какой-нибудь игры, её достаточно импортировать в редактор.
Кроме того, при помощи программы tweego HTML-файл можно преобразовать в приличный человеческий черновик для редактирования.
TADS 2 (дополнение)
Кроме вышеупомянутой страницы, которая достаёт все строки из игры, есть ещё один скрипт на Perl, который полностью декомпилирует игру. Если запустить его в командной строке, то вы получите файл .t со всеми функциями игры.
Скрипт даёт читабельный вывод даже на русской RTADS, но в моём тестировании исходник скомпилировался без ошибок только для игры на английском.
В заключение
Данная информация дана для личного ознакомительного использования. Законы большинства стран запрещают взлом программного обеспечения, а также распространение результатов взлома. Играйте честно.
Декомпиляция с помощью IDE
Доброго времени суток! Хочу заполучить исходный код игры дабы посмотреть, как она устроена. Насколько я понимаю, если файлы с исходниками недоступны, то код можно получить только с помощью декомпиляции. Походив по интернетам, увидел, что многие предлагают exeшник разбирать при помощи IDE. У меня Visual Studio Ultimate 2010. Как с ее помощью можно получить исходные коды игры?
З.Ы. А также хотел бы узнать, есть ли сайты, на которых выкладываются исходники игр.
Заранее спасибо всем ответившим по делу.
#1
16:42, 27 апр 2011
Developer47
> то код можно получить только с помощью декомпиляции.
Так ты получишь только то, что родил компилятор, а не исходники. Для Java/C# может и можно что-то вменяемое увидеть, но не для C/C++.
> А также хотел бы узнать, есть ли сайты, на которых выкладываются исходники игр.
Есть: http://sourceforge.net/
- Developer47
- Пользователь
#2
16:45, 27 апр 2011
RPGman
А все же, как с помощью IDE получить хотя бы то, что родил компилятор?
#3
16:46, 27 апр 2011
Начни отладку. Увидишь asm-листинг.
#4
16:49, 27 апр 2011
смотря что ты собрался декомпилировать. языки бывают нативные и управляемые, программы написанные на нативных языках декомпилировать очень сложно (практически невозможно без определенного опыта и знаний) программы натисанные на управляемых языках вроде c# декомпилируются при помощи специальных утилит.
- Developer47
- Пользователь
#5
16:50, 27 апр 2011
RPGman
Спасибо. Заодно еще спрошу — какие еще есть способы заполучить исходные коды игры? Может быть, все же есть способ открыть файлы из папки с игрой?
#6
16:53, 27 апр 2011
Developer47
> какие еще есть способы заполучить исходные коды игры?
1. Подловить авторов в подворотне и отжать исходники (логины/пароли/ключи от сетевого хранилища).
2. Нанять шпиёна, или подготовить и внедрить инсайдера в контору, чья игра тебя заинтересовала.
3. Покопаться на трекерах, там частенько выкладывают «исходники Unreal Engine 3/ CryEngine 4» и т.д.
#7
16:59, 27 апр 2011
Используй IDA Pro
#8
16:59, 27 апр 2011
Developer47
> Спасибо.
Скачай API Logger 1.6 и DirectX Logger v2.2 с http://www.blackninja2000.narod.ru/ и будешь рад.
#9
17:01, 27 апр 2011
Что за игра кстати?
Тебе не нужны исходники ИМЕННО ЭТОЙ игры.
В интернете просто навалом исходников других подобных игр. Некоторые в свободном распространении (например все старые игры id Software), есть исходники сложного ММО проекта (Ryzom например), некоторые «краденые» тоже имеются. Если тебе для обучения премудростям — то качай любой подходящий нормальный исходник и изучай, пробуй компилить. Сразу можно будет спросить советов там же на каком-нибудь форуме.
Декомпилятор в лучшем случае выдаст тебе простыню текста мегабайт на 200. В худшем — набор несвязных обрывков машинного кода, немного разобранного на безымянные процедуры и функции. Да ну его нафиг в таком копошиться. Не говоря уже о том, что оно обратно просто не скомпилируется.
- Developer47
- Пользователь
#10
18:26, 27 апр 2011
kvakvs
>Что за игра кстати?
Готика 3.
>например все старые игры id Software
Да ну? Я видел только исходники для Wolfenstein: Enemy Territory, да мне эта фирма не шибко интересна, т.к. у них мало (если вообще есть) ролевых игр, а мне хотелось бы именно RPG.
>некоторые «краденые» тоже имеются
О чем идет речь и где это достать?
#11
19:03, 27 апр 2011
Developer47
> Да ну? Я видел только исходники для Wolfenstein: Enemy Territory, да мне эта
> фирма не шибко интересна, т.к. у них мало (если вообще есть) ролевых игр
ftp://ftp.idsoftware.com/idstuff/
>>некоторые «краденые» тоже имеются
>О чем идет речь и где это достать?
Помню утекал исходный код Half Life 2
> а мне хотелось бы именно RPG
Вот, пожалуйста, полноценная игра без хаков, кряков, смс и регистрации
http://dev.ryzom.com/
Идея с декомпиляцией годится может быть чтоб сломать какую-нибудь небольшую программку.
Полноценную игру декомпилировать и получить из этой простыни малопонятного мусора пользу — просто нереально.
- Developer47
- Пользователь
#12
19:24, 27 апр 2011
kvakvs
> Полноценную игру декомпилировать и получить
> из этой простыни малопонятного мусора пользу — просто нереально.
Ну ладно, хоть ссылки годные. Спасибо.
#13
22:57, 27 апр 2011
Правильно писать не IDE, a IDA.
#14
23:08, 27 апр 2011
Chipmunk
Как правильно, Иран или Ирак?
ТС сказал: «У меня Visual Studio Ultimate 2010»
