В связи с закрытостью исходного кода, Unity часто работает как «черный. Кроме прочего, декомпиляция чужой игры может стать . Реверс- инжиниринг и патч игры на Unity. Хабрахабр. Статья ориентирована на аудиторию, не имеющую какого- либо опыта. В ней не содержится описание каких- либо взломов и «плохих» патчей. Предисловие. Однажды мне в руки попалась игра Unturned, построенная на движке Unity. Позже выяснилось, что она не лишена недостатков. Она находится в альфа версии, так что сервер даже не оповещает игроков о убийстве другого персонажа, что было не удобно в боях Pv. P. До этого случая у меня не было опыта работы с cil и реверс- инжинирингом c# приложений, тем более Unity. Софт который нам понадобится. Jet. Brains dot. Peek (или . NET Reflector, но он не смог дизассемблировать то, что смог dot. Peek)ildasmilasm. Редактор поддерживающий UTF- 8 (например Notepad++)Вскрываем программу. Код, который может быть интересен нам, находится в файле Assembly- CSharp. Visual Studio не смогла нормально обработать кучу переменных с названием в 1 UTF- 8 символ. Ладно, попробуем другим способом: открываем ildasm и загружаем в него наш файлик, нажимаем dump и сохраняем в удобное место. Мы получили кучу CIL кода. CIL код это как ассемблер для . NET, но намного легче. Теперь нужно попробовать скомпилировать его обратно в dll, иначе дальнейшие действия окажутся напрасными. Открываем консоль и пишем: ilasm /DLL < путь до файла/файл. Ура! Теперь мы можем менять код и компилировать его обратно. Заходим в dot. Peek и пишем в поиске die, находим некий Life: :die(), смотрим код и понимаем что это не то. Ладно, нажимаем правой клавишей на die, Usages of Symbol, и переходим в некий Life: :damage()В качестве аргумента эта функция принимает какую- то строку, нажимаем Usages of Symbol и переходим, например в shoot. Player(), смотрим в код: string. Реверс-инжиниринг и патч игры на Unity3d. Прямо из декомпилятора изменять IL-код даже не загружая сборку фактически . NET декомпилятор. Скриншот IDE. Но что делать с exe из Unity3D? Полная декомпиляция Android приложений, декомпиляция приложений в исходный Java код. Порой при разработке не понимаешь как . ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
November 2017
Categories |