Приветствую!
Не так давно я увлекся исследованием игр под android. Как оказалось, весьма немалое количество разработчиков используют Unity3D(наверное, процентов 50-60 игр, которые мне были интересны, базируются на этом движке). Сразу оговорюсь — я не специалист по взлому и даже практически не знаю C++/asm(не смотря на небольшое знакомство с этой темой), так что просьба не швыряться унитазами при помощи гравипушек. Также небольшое уточнение — я исследовал практически только ММО/полу-онлайновые игры в стиле «крабишь сюжетный данж до посинения, а потом сражаешься на арене с другими игроками, причем полу-оффлайн). Оффлайновые игры на Unity3D исследовать просто-напросто скучно.
Собственно, насколько мне известно игрушки под Unity3D используют 2 технологии: Mono и Il2cpp.
В пределах данного материала я хочу рассмотреть процесс подмены .NET dll'ок и дампа даже шифрованных версий этих самых dll'ок напрямую из игры.