Сейчас на форуме: -Sanchez- (+6 невидимых)

 eXeL@B —› Основной форум —› Взлом Unity3D игр
<< . 1 . 2 . 3 . 4 .
Посл.ответ Сообщение


Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 24 января 2015 17:39 · Поправил: 4kusNick
· Личное сообщение · #1

Дружественные темы: Взлом .net, Java. Взлом и реверсинг, Взлом Android приложений, Flash (swf) распаковка, декомпиляция, правка байткода.

Распаковщики / упаковщики, редакторы ассетов
disunity - этакий комбайн по распаковке \ упаковке webplayer билдов и asset bundle'ов. Позволяет вытащить графику, шейдеры, код, и запихать все это обратно после модификации.
UnityAssetsExplorer - инструмент от русскоговорящего автора для редактирования .assets файлов - можно вытаскивать ресурсы, заменять и класть обратно. Ссылка на бинарь обновляемая (там всегда последняя версия). Есть ещё ветки на форумах тут и тут.
Плагин для TC - хорошая альтернатива UnityAssetsExplorer'у, тоже от русскоговорящего автора.
Link - анпакер Unity билдов (WebPlayer, мобильные билды), на основе QuickBMS, не помню где его нашёл к сожалению, выложил ту версию что была у меня, возможно есть посвежее. Вытаскивает код и ресурсы. Обратно упаковывать не умеет.
Unity Studio - приложение для извлечения ресурсов (звуки, шрифты, текстуры, шейдеры и т.д.) из сборок Unity.
Grim's Unity Asset Editor - аналог Unity Studio - редактор, импортер / экспортер ассетов
Скрипт для автоматического импорта моделек в 3dsMax - вытаскивает из билдов модельки и закидывает в макс.
SB3Utility - моддинг-тулза для редактирования ресурсов.
Unity Assets Bundle Extractor - ещё одна моддинг утилита, позволяет импортировать и экспортировать содержимое asset bundles и файлов .assets.
QuickBMS и скрипты для Unity - ищем на страничке линк на саму QuickBMS и на скрипты для Unity. Скрипты позволяют распаковывать юнити билды, так же их можно доработать для обратной упаковки. Ещё есть UI для QuickBMS.
UnityEX - очередной распаковщик с GUI и консолью.
Unity Assets Viewer - вьювер и редактор .assets файлов, сам написан на Unity3D.

Инжект
UnityHook - простой инжектор managed сборок с MonoBehaviour, заточен под определённую игру, может не работать на релизных сборках.
mono-assembly-injector - более серьёзный инжектор в mono-процессы, в т.ч. и в Unity приложения. Очень прост в эксплуатации, есть пример использования. Коммент от vovanre: чтобы переделать прокачанный инжектор под WebUnity достаточно зареплейсить L"mono.dll" на L"mono-1-vc.dll"
Инжект своей сборки Assembly-CSharp. Коммент от vovanre: метод перехватом во время загрузки.

Описание формата web сборок
4.1.5f
4.3.3f1

По поводу кода
Код в Unity компилируется либо в managed mono сборки, которые имеют в своей основе IL байткод, совместимый с .NET, (отличается только апи), либо в нативный для целевой платформы код. Для работы с managed кодом используем инструменты из смежной темы про .NET, для работы с IL2CPP билдами используем инструментарий, подходящий для нативного кода соответствующей платформы.

Дотянуться до managed кода можно либо распаковав билд, либо сдампив managed сборки стандартными средствами (см. в теме про .NET).

Почитать
Цикл статей по IL2CPP от одного из разработчиков. Содержит полезную информацию, которая может пригодиться при ковырянии Il2CPP билдов.

Если кто-то пользуется ещё какими-то инструментами - пишите, добавлю в шапку.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.


| Сообщение посчитали полезным: Gideon Vi, TryAga1n, Mime, LinXP


Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 01 марта 2017 14:38
· Личное сообщение · #2

что таки работает для версий 5.х?
UnityEX что-то распаковывает, но как-то в нём не всё удобно. сами asssets он может сохранять? или только содержимое и только каждый ресурс отдельно обрабатывает?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 62.3 (постоянный), 51thx
Активность: 0.040.01
Статус: Участник

Создано: 01 марта 2017 15:15
· Личное сообщение · #3

Isaev
В UnityEX есть как распаковка всего целиком, так и импорт обратно.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 01 марта 2017 15:47
· Личное сообщение · #4

Haoose-GP там в комбобоксе выбираешь модуль и всё целиком он распаковывает из него, если их 100шт, каждый отдельно выбирать и жать распаковать всё?
если там стоит name.asset, то при выборе его можно так же из него всё распаковать, а если нужно сам name.asset как файл?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 62.3 (постоянный), 51thx
Активность: 0.040.01
Статус: Участник

Создано: 01 марта 2017 16:23
· Личное сообщение · #5

Isaev
Что-то я не понял что ты хочешь.
Файлы *.assets лежат в папке игры (точнее в папке *_Data), ты же их и открываешь в UnityEX.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 01 марта 2017 16:41 · Поправил: Isaev
· Личное сообщение · #6

Haoose-GP пишет:
Файлы *.assets лежат в папке игры (точнее в папке *_Data), ты же их и открываешь в UnityEX.

а если нет папки игры и я в UnityEX открываю .unity3d?

в общем то я как раз и хочу что-то типа папки игры из него получить... какая утилька это умеет с учётом версии 5+

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 62.3 (постоянный), 51thx
Активность: 0.040.01
Статус: Участник

Создано: 01 марта 2017 17:21 · Поправил: Haoose-GP
· Личное сообщение · #7

Isaev
Так и пишите что вам нужно распаковать unity3d
Вам поможет это: --> Link <--
По крайней мере на 5.0.0f4 работает.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 01 марта 2017 17:24 · Поправил: Isaev
· Личное сообщение · #8

Haoose-GP пишет:
Вам поможет это

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

Haoose-GP пишет:
По крайней мере на 5.0.0f4 работает.

странно... Хоть у меня и 5.3.6f1, не думаю, что там что-то принципиально изменено...

ps: Может этому quickbms что-то использует что надо бы обновить?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 62.3 (постоянный), 51thx
Активность: 0.040.01
Статус: Участник

Создано: 01 марта 2017 18:25
· Личное сообщение · #9

Isaev
--> Link <--




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 01 марта 2017 18:34 · Поправил: Isaev
· Личное сообщение · #10

Haoose-GP мне пожалуйста план действий, чтобы никого не дёргать при необходимости... Что я делал не так/не тем?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 62.3 (постоянный), 51thx
Активность: 0.040.01
Статус: Участник

Создано: 01 марта 2017 19:46
· Личное сообщение · #11

Isaev
В шапке Unity Assets Bundle Extractor версии 2.1с поддерживает твой файл. ;)

| Сообщение посчитали полезным: Isaev


Ранг: 196.6 (ветеран), 11thx
Активность: 0.070.01
Статус: Участник

Создано: 03 мая 2017 17:29 · Поправил: [wl]
· Личное сообщение · #12

можно ли как-то перенести уже скомпилированную игру с одной платформы на другую (мне надо, например, с PSVita на PC)? может есть какие-то туториалы




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 07 мая 2017 21:38
· Личное сообщение · #13

[wl]
Можно, тут один форумчанин подобное проворачивал (JohnyDoe) - с iOS портил на PC.
На счёт туторов не скажу, не встречал, но и не искал.

Насколько понимаю основная проблема с ресурсами. Текстуры, шейдеры и проч могут быть в несовместимых с PC форматах.
С кодом обычно серьёзных проблем нет, если нету сильной привязки к особенностям платформы и если он присутствует в виде mono сборок, а не скомпилен в IL2CPP со стрипом например.

Для начала стоит сбилдить пустой проектик под PC, заменить там dllки и ресы на мобильные, посмотреть что скушается а что нет и итеративно фиксить то что не работает.

В помощь разные тулзы для перепаковки ресов из шапки и dnSpy для кода.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 22 сентября 2017 15:50 · Поправил: ClockMan
· Личное сообщение · #14

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

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 77.2 (постоянный), 73thx
Активность: 0.190.15
Статус: Участник

Создано: 22 сентября 2017 17:13
· Личное сообщение · #15

ClockMan пишет:
Вопрос знатокам Unity

Unity != C# ??
ClockMan пишет:
расшифрованный Assembly-CSharp.dll грузить не хочет

Смотри GAC..




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 23 сентября 2017 22:10
· Личное сообщение · #16

ClockMan

Если их Assembly-CSharp.dll не читается никакими IL тулзами, то найдите где-нибудь обычную Assembly-CSharp.dll и сравните заголовки и прочие общности с той что вам попалась.

Если повезет - дело и правда в намеренной порче заголовка.

Если нет, то вам попался прот в котором свой Mono с блэк-джеком.
Тогда и IL будет свой, с блэк-джеком.
Со всеми вытекающими (все существующие инструменты не канают).

Если это так - изучайте чем их моно отличается от обычного и правьте тулзы под их выкрутасы.

Добавлено спустя 5 минут
sefkrd пишет:
Unity != C# ??

Не совсем.

Если билд - классический Mono, то любые C# \ IL тулзы подходят (за исключением случаев с извратами со своим моно и т.п.).
Но если билдят через IL2CPP, то на выходе не будет IL байткода, как впрочем и Assembly-CSharp.dll (опять же за исключением случаев когда авторы что-то хитрое придумывают типа фейковых Assembly-CSharp.dll в IL2CPP билдах чтобы сбить с толку).
Правда пока на десктопе его нету.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 24 сентября 2017 01:05
· Личное сообщение · #17

4kusNick пишет:
Если их Assembly-CSharp.dll не читается никакими IL тулзами, то найдите где-нибудь обычную Assembly-CSharp.dll

Да проблем нету, в памяти её расшифровывают я дамплю спокойно изучаю

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.




Ранг: 10.0 (новичок), 4thx
Активность: 0.020
Статус: Участник

Создано: 24 сентября 2017 10:38
· Личное сообщение · #18

В шапке нету такой штуки,вдруг кому пригодится Devxunity Unpacker Tools http://en.unity3d.netobf.com/DevXUnityUnPack
Пилюлька https://yadi.sk/d/sa8yzqhn3N4H4p

| Сообщение посчитали полезным: zNob


Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 24 сентября 2017 17:23 · Поправил: 4kusNick
· Личное сообщение · #19

ClockMan пишет:
Да проблем нету, в памяти её расшифровывают я дамплю спокойно изучаю


Ясно, не так понял вашу фразу "расшифрованный Assembly-CSharp.dll грузить не хочет".

Вероятно там нативный загрузчик, который расшифровывает dll и который придется запатчить чтобы этап расшифровки пропускался.
Либо модифицирован mono загрузчик (на дроиде - в libmono.so).

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.


| Сообщение посчитали полезным: ClockMan


Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 20 января 2018 01:02
· Личное сообщение · #20

Пара инструментов в помощь IL2CPP реверсеру:

Il2CppInspector - Extract types, methods, properties and fields from Unity IL2CPP binaries.
Il2CppDumper - Get types, methods, fields and so on from Unity Il2Cpp binary file.

Il2CppDumper умеет из метадаты и бинаря генерить dll со структурой неймспейсов, классов и проч что иногда полезно и удобно, особенно если код не был обфусцирован:
https://www.youtube.com/watch?v=0MglfTWFAGs

Начиная с 2018.1, Unity теперь умеет в IL2CPP компилить и обычные виндовые билды, так что тема становится все актуальней.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.



<< . 1 . 2 . 3 . 4 .
 eXeL@B —› Основной форум —› Взлом Unity3D игр
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати