| 
				
				Как получить исходники любого проекта на Unity3D
				 |   |  
| Izaron | Дата: Воскресенье, 23 Марта 2014, 10:44 | Сообщение # 1 |  
 
Rammstein forever 
Сейчас нет на сайте 
 
 | Всем привет!   
   Вы знаете способ получить исходники абсолютно любого скомпилированного проекта на Unity3D? (в частности, любые проекты на C# тоже можно декомпилить)   Обратите внимание - получить проект со всеми сценами и картинками нельзя, но можно получить скрипты на C# 
   Для начала скачиваем ILSpy - .NET декомпилятор   Скриншот IDE 
    
   exe-шники, чей исходный код написан чисто на C#, декомпилить очень легко - жмем "File" -> "Открыть", и выбираем exe. 
   Исходники, если они не защищены, сразу становятся доступными 
    
   Но что делать с exe из Unity3D? Они не могут нормально декомпилироваться   Но он нам и не нужен. Для запуска Unity3D проекта, кроме exe, в одной папке с ней должна лежать папка "НазваниеПроекта_Data", к примеру, "Project_Data" 
   Все скрипты компилируются в файл, который находится по адресу - "НазваниеПроекта_Data" -> "Managed" -> "Assembly-CSharp.dll", т.е. в dll   Открываем с помощью ILSpy Assembly-CSharp.dll, и все - весь исходный код теперь в нашем распоряжении 
    
   Удачи!  Добавлено (23.03.2014, 10:42) --------------------------------------------- Мегабонус - скачал Bad Piggies на PC, декомпилил 
     
   Добавлено (23.03.2014, 10:44) --------------------------------------------- Для удобного сохранения файла, выберите нужный класс и нажмите Ctrl+S, выберите папку для сохранения cs файла   
 |  
| 
 | 
 |    |  
| KamiRonin | Дата: Воскресенье, 23 Марта 2014, 10:55 | Сообщение # 2 |  
| 
 почти ветеран 
Сейчас нет на сайте 
 
 | полностью чистый декомпилинг - миф. все равно придется допиливать модули вручную... если хорошо понимаешь концепцию конкретно этой системы. ни один из них не сделал нормально декомпил энумераторов, плохо делаются делегаты и еще несколько видов. иногда код получается индустским, иногда нечитаемым или с самозамкнутой петлей. если еще использовали обфускаторы.. то сделать скрипты рабочими бывает сложнее чем написать такой же функционал - самому..
  Мыслю - значит программирую...   Конструктивная критика - умных ведет к совершенству...   Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
 
 Сообщение отредактировал KamiRonin - Воскресенье, 23 Марта 2014, 11:13  |  
| 
 | 
 |    |  
| Izaron | Дата: Воскресенье, 23 Марта 2014, 10:59 | Сообщение # 3 |  
 
Rammstein forever 
Сейчас нет на сайте 
 
 | Цитата KamiRonin (  )  полностью чистый декомпилинг - миф     Ну да, как и полностью защищенные исходники   *ну ехе же можно в ассемблер перевести, а ассемблер можно в C++* )) 
   Цитата KamiRonin (  )  если хорошо понимаешь концепцию конкретно этой системы. ни один из них не сделал нормально декомпил энумераторов, плохо делаются делегаты и еще несколько видов. иногда код получается индустским, иногда нечитаемым или с самозамкнутой петлей     Кстати, да, компиляторы, что в Mono, что в Visual Studio, дописывают разной фигни, вроде this. и base. туда, где их не было, для удобства юзера. В Шилдте еще написано
 |  
| 
 | 
 |    |  
| EchoIT | Дата: Воскресенье, 23 Марта 2014, 11:01 | Сообщение # 4 |  
 
старожил 
Сейчас нет на сайте 
 
 | Срочно нужно обфусцировать все мои проекты, чтобы никто мой быдлокод не увидел.   
   P.S.: за ILSpy спасибо, а то .Net Reflector заколебал уже триал заканчивать каждый раз. =)
  Долгожданный анонсик: State of War
 
 Сообщение отредактировал EchoIT - Воскресенье, 23 Марта 2014, 11:05  |  
| 
 | 
 |    |  
| KamiRonin | Дата: Воскресенье, 23 Марта 2014, 11:21 | Сообщение # 5 |  
| 
 почти ветеран 
Сейчас нет на сайте 
 
 | Цитата Izaron (  )  *ну ехе же можно в ассемблер перевести, а ассемблер можно в C++* ))        а ты попробуй!!   над программкой в 500 кб НЕ матерый хакер может просидеть неделю пытаясь сделать из этого месива хоть что-то внятное на плюсах. для выявления точек воздействия - да, ассемблерного кода достаточно. а вот взять из кода какой нибудь классный механизм для своего проекта или развития - бывает крайне затруднительно.. 
   ну да чего отговаривать то!?   сам пользовался тремя декомпилерами - сравнивал потом выжимки между собой и офигевал насколько по разному выжимает. кому то и это занятие понравится почему нет?!   
   Цитата Izaron (  )  Кстати, да, компиляторы, что в Mono, что в Visual Studio, дописывают разной фигни, вроде this. и base. туда, где их не было, для удобства юзера. В Шилдте еще написано      да, в некоторых учебниках по шарпу есть этот подход - "напишите такую то прогу, декомпильните ее! -- ВИДИТЕ, что сделал транслятор с вот этим кодом".. эта "фигня", о которой ты пишешь - как раз легко читаемая, а вот когда подстановка идет с полными путями модулей или (0х0015)TypeOfSheet и узнать что это значит бывает тяжко, вот тогда да.. проклинешь все на свете - напишешь свое!  
  Мыслю - значит программирую...   Конструктивная критика - умных ведет к совершенству...   Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
 |  
| 
 | 
 |    |  
| TLT | Дата: Воскресенье, 23 Марта 2014, 12:01 | Сообщение # 6 |  
 
 
Сейчас нет на сайте 
 
 | Цитата Izaron (  )  ехе же можно в ассемблер перевести, а ассемблер можно в C++     Это как? Ассемблер или машинный код?
  Дао, выраженное словами, не есть истинное Дао.
 |  
| 
 | 
 |    |  
| Izaron | Дата: Воскресенье, 23 Марта 2014, 18:17 | Сообщение # 7 |  
 
Rammstein forever 
Сейчас нет на сайте 
 
 | Цитата TLT (  )  Это как? Ассемблер или машинный код?      Точно не знаю, программу на С++ очень сложно ломануть 
   IDA Pro дает доступ к машинному коду и ассемблеру, но обратно собрать очень сложно, плюс 100% гарантии получить исходники нету 
   С .NET языками все наоборот
 |  
| 
 | 
 |    |     
		
		 
 |