Реверсивная инженерия это процесс исследования машинного кода игры gta vice city и приведения его в исходный код, в нашем случае C++ подобный код. Также это принято называть восстановлением исходного кода игры начиная от переменных, функций, структур и заканчивая классами, модулями include. Ведь поймите одну простую вещь, что без этих знания программист наврядли напишет какой либо полноценный мод к игре, а скриптер в рамках ресурсов игры, врядли напишет полностью задуманный свой сценарий по его фантазии. Давайте отметит все важные знания и программы, которыми должны иметь те кто хочет изучать код и писать полноценные разработки:
Инструменты
- IDA Pro – Это самый основной инструмент для исследования кода игры, вы сможете вести свою базу или использовать уже в ней стороннюю, но это основа всего.
- MSVC – Обязательно иметь студию для написанию кода C++, об этом рассуждалось уже ранее, в ней же вы заведете тот проект, куда будете переписывать свой исходный код gta, а затем уже программировать модификации.
- Art money – профессионалам эта программа не о чем, но начинающим в реверсивной инженерии очень хорошо поможет найти и зацепиться за какие нибудь переменные в игре, благодаря чему можно будет назвать какой либо участок уже по имени, например playerMoney и прочее, программа помогает пощупать в слепую адреса в памяти игры и также найти разные значения
Какие нужны знания, что-бы начать исследование игры?
Программирование – вы должны владеть программированием на C++ и знать этот язык по глубже, к счастью литератур по данному языку уже много, также и для чайников иначе вы не сможете переписывать исходный код.
Game Development как не странно, но знания в области программирования игр, вас действительно ускорят в исследование кода игры, по скольку все игры включая GTA Vice City, делаются на базовых основах, как матрицы, векторы и прочей науки в игро-строительстве. По этому такие знания вам просто будут необходимы а также знания тригонометрии, линейной алгебры и другие.
Ассемблер – Так как, наш исследуемый код выглядит в ассемблерных инструкциях, это очень важно изучить, справочники ассемблерных команд вы можете найти например intel.com. По этому вы просто обязаны изучить как работают команды ассемблера, между прочим раньше программисты писали программы именно на них, сейчас же используют эти команды там, где необходимо провести наилучшую оптимизацию кода. Зная хорошо ассемблерные команды, вы будете хорошо воспринимать исследуемый код и наработаете свою логику, по этому это основа.
Изучения компиляторов – Если вы изучите технологию компиляторов, это будет для вас большим преимуществом в исследовании кода, поскольку вы быстро сможете найти признаки того, что в том или ином участке было до компиляции. Благодаря чему вы сможете все это еще быстрей разбирать, так что такие знания это в плюс вам.
Методы исследования о методах исследования кода, мы поговорим поздней, но будет очень хорошо когда вы сами стратегично научитесь прорабатывать свои методы в исследования кода, поскольку это на поменяет то что вы быстрей решаете разбросанную мозаику. Таким образом вы быстрей распознаете что в этом или ином участке кода может находиться, ваша роль будет напоминать словно как умный детектив ходит по участкам.
Наша статья подходит к концу, а дальше мы уже приступим изучать основные методы исследования кода, что как работает как начать и множество других вопросов решим так что дорогие друзья приятного вам моддинга!