Исходники проекта на Unity3D (скрипты) из Assembly-CSharp.dl

Инструменты для разработки

Исходники проекта на Unity3D (скрипты) из Assembly-CSharp.dl

Сообщение Izaron 28 апр 2014, 19:09

Для начинающих :-B
Писал еще давно на другом форуме

Вы знаете способ получить исходники абсолютно любого скомпилированного проекта на Unity3D? (в частности, любые проекты на C# тоже можно декомпилить)
Обратите внимание - получить проект со всеми сценами и картинками нельзя, но можно получить скрипты на C#

Для начала скачиваем ILSpy - .NET декомпилятор
Скриншот IDE

Скрытый текст:
s1.png


exe-шники, чей исходный код написан чисто на C#, декомпилить очень легко - жмем "File" -> "Открыть", и выбираем exe.

Исходники, если они не защищены, сразу становятся доступными

Скрытый текст:
s2.png


Но что делать с exe из Unity3D? Они не могут нормально декомпилироваться
Но он нам и не нужен. Для запуска Unity3D проекта, кроме exe, в одной папке с ней должна лежать папка "НазваниеПроекта_Data", к примеру, "Project_Data"

Все скрипты компилируются в файл, который находится по адресу - "НазваниеПроекта_Data" -> "Managed" -> "Assembly-CSharp.dll", т.е. в dll
Открываем с помощью ILSpy Assembly-CSharp.dll, и все - весь исходный код теперь в нашем распоряжении

Скрытый текст:
s3.png



Мегабонус - скачал Bad Piggies на PC, декомпилил

Скрытый текст:
s4.png


Скрытый текст:
s5.png



Для удобного сохранения файла, выберите нужный класс в программе декомпилятора и нажмите Ctrl+S, выберите папку для сохранения cs файла ;)

Спасибо! Используйте обфускаторы для защиты от ломахеров :D
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
Izaron
UNец
 
Сообщения: 46
Зарегистрирован: 19 янв 2013, 17:50

Re: Исходники проекта на Unity3D (скрипты) из Assembly-CSharp.dl

Сообщение BenjaminMoore 29 апр 2014, 18:34

получить проект со всеми сценами и картинками нельзя

неверное утверждение, в случае с веббилдам, можно восстановить весь проект целиком
в других случаях можно получить все ресурсы из игры
My hands are hard. My mind is core.
ring0x0000 c0x0063 | write code in rust right now
Аватара пользователя
BenjaminMoore
UNITрон
 
Сообщения: 338
Зарегистрирован: 03 янв 2013, 18:07
Skype: benjminmoore

Re: Исходники проекта на Unity3D (скрипты) из Assembly-CSharp.dl

Сообщение HostGameStodios 10 июл 2014, 20:43

Стырю AI слендера из THEArrival :)) или AI из slendytubbies. А модели нельзя втащить да?Если можно будет вообще :ymparty: пати...Блин...Если б можно было полностью исходник с картами, звуками, скриптами, моделями и текстурами то вообще збс 8-x
Моё умение-неправильно задавать вопросы.Так что если вы чего то не поняли вполне можете меня назвать дебилом,а потом попросить "перезадать" вопрос
Аватара пользователя
HostGameStodios
UNIт
 
Сообщения: 51
Зарегистрирован: 20 май 2014, 19:53

Re: Исходники проекта на Unity3D (скрипты) из Assembly-CSharp.dl

Сообщение cibersant 10 июл 2014, 21:33

unity надо сначало декомпилить,что бы выдрать dll и т.д.,а вот потом ilspy использовать,для декомпила кода.
_https://vk.com/app4031890 - 3d боец
cibersant
Старожил
 
Сообщения: 938
Зарегистрирован: 14 дек 2011, 01:27

Re: Исходники проекта на Unity3D (скрипты) из Assembly-CSharp.dl

Сообщение akad 06 сен 2014, 03:39

Возникла необходимость добавить небольшой функционал в одну бесплатную демку. Всякие ILSpy/.NET Reflector и пр. выдают код, который потом обратно в dll не собирается. Что-то типа:
Синтаксис:
Используется csharp
                BAnimationTrigger.<WaitThenDoThings>c__Iterator0 <WaitThenDoThings>c__Iterator = new BAnimationTrigger.<WaitThenDoThings>c__Iterator0();
                <WaitThenDoThings>c__Iterator.time = time;
                <WaitThenDoThings>c__Iterator.<$>time = time;
                <WaitThenDoThings>c__Iterator.<>f__this = this;
                return <WaitThenDoThings>c__Iterator;

или
Синтаксис:
Используется csharp
    private sealed class <WaitThenDoThings>c__Iterator0 : IEnumerator, IDisposable, IEnumerator<object>
    {
        internal object $current;
        internal int $PC;
        internal float <$>time;
        internal BAnimationTrigger <>f__this;
        internal float time;
...

Полагаю она накрыта чем-то, что перекорёжило имена переменных. Местная утилитка Unpacker Tools тоже не справилась. Имена переменных уже не $, но куча проблем с синтаксисом, которые я местами даже не представляю как поправить. Т.е. dll обратно все равно не собирается. Какие есть ещё варианты? На всякий случай сама демка:
Скрытый текст:
akad
UNец
 
Сообщения: 2
Зарегистрирован: 06 сен 2014, 03:04

Re: Исходники проекта на Unity3D (скрипты) из Assembly-CSharp.dl

Сообщение Golandez 06 сен 2014, 10:18

Вариантов нет, это код после обфускации.
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Исходники проекта на Unity3D (скрипты) из Assembly-CSharp.dl

Сообщение akad 07 сен 2014, 02:38

Вариантов нет, это код после обфускации.

Есть же куча деобфускаторов. Или они не работают для юнити?
Ведь на сколько мне известно, "совершенно любой" обфускатор работать не будет для проекта юнити, так как нарушит пространство имён. И был вроде всего один полурабочий и заброшенный - Unity3dObfuscator. Больше нет. Неужели для него не изобретено противоядие? Или есть ещё какие-то?
akad
UNец
 
Сообщения: 2
Зарегистрирован: 06 сен 2014, 03:04

Re: Исходники проекта на Unity3D (скрипты) из Assembly-CSharp.dl

Сообщение kolya9898 16 окт 2014, 22:54

Браво!! :D (popcorn) :-?
Как же я сразу не додумался, может мне весь шутер выложить свой который я делал год???
Прям исходники unity сцены..

Вы такие умные..... Хотите свое(типо) сделать скачав готовые исходники и потом присвоить себе права....
Давайте все будут делать и выкладывать исходники или декомпиляторы рабочие..
А вы будете забирать и переделывать под себя игры...
Может исходники тюряги,голос припяти,блокады выложат сохдатели? За которые они получают миллионы... Работав при этом 1-2 года? А что скажете новички и халявщики? Вам стыдно должно быть! (P)
Изображение
Аватара пользователя
kolya9898
UNITрон
 
Сообщения: 333
Зарегистрирован: 15 июл 2013, 19:28
Откуда: Челябинск
Skype: kolyan9898

Re: Исходники проекта на Unity3D (скрипты) из Assembly-CSharp.dl

Сообщение Nicloay 16 окт 2014, 23:10

Кстати, я тут недавно вновь испытал потребность в исходниках, а виртуалка с XP уже умерла в процессе очередной зачистки.. и выяснил для себя что MonoDevelop может сам показывать исходники
Изображение
If you wish to make an apple pie from scratch, you must first invent the universe.(Carl Sagan, Cosmos)
| My Asset Store | coloring book | github | _wiki.unity3d.com | twitter | linkedin |
Аватара пользователя
Nicloay
Адепт
 
Сообщения: 1288
Зарегистрирован: 31 май 2012, 09:27
Откуда: Альпс
  • Сайт


Вернуться в Инструментарий

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1