reverseenengineering

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
reverseenengineering [2025/06/23 21:02] Lexreverseenengineering [2025/07/04 17:28] (текущий) – [Источники информации при подготовке материала:] Lex
Строка 1: Строка 1:
 ====== Reverse Engineering ====== ====== Reverse Engineering ======
 +
 +Обратная разработка (англ. reverse engineering), также обратное проектирование, обратный инжиниринг или реверс-инжиниринг — исследование некоторого готового устройства или программы, а также документации на него с целью понять принцип его работы; например, чтобы обнаружить недокументированные возможности (в том числе программные закладки), сделать изменение или воспроизвести устройство, программу или иной объект с аналогичными функциями, но без прямого копирования.
 +
 +Применяется обычно в том случае, если создатель оригинального объекта не предоставил информации о структуре и способе создания (производства) объекта. Правообладатели таких объектов могут заявить, что проведение обратной разработки или использование её результатов нарушает их исключительное право по закону об авторском праве и патентному законодательству.
 +
 +====== От автора ======
 +
 +Данный раздел или цикл статьей, попытка скомпилировать в некую ясную структуру знания, которые мне удалось собрать за период с 2017 года по 2025 год. В мае 2017 года меня увлекла идея расширения площади карты в серии стратегий «CitiesXXL». К концу 2017 года я пришёл к выводу что для достижения данной цели необходимо разработать полноценный "мод-конверсию". В последующем я понял что «копать» необходимо в сторону разбора и модификации исполняемого файла ".exe", что привело меня к дизассемблированию и в последующем к изучению дисциплины "Reverse Engineering"
 +
 +В процессе изучения данной тематики ИТ-сферы я раз за разом сталкивался с необходимостью формулировки некого "толкового словаря", которые бы включал самые важные и значимые вехи данной дисциплины. Раз за разом собирая и структурируя материал я по множеству раз переписывал тетради с записями в итоге я понял, что это слишком большая трата времени и мне необходимо сформировать условное "пространство имён" для дальнейшей разработки. Данный раздел не попытка кликбейта или получения популярности на ниве "Reverse Engineering", а лишь попытка систематизации и каталогизации данных полученных в ходе изучения. Ниже будет приведён полный список источников используемых при разработке и подготовке материалов. Я старался и надеюсь что данный структурированный материал будет полезен не только мне.
 +
 +Третья самая важная причина для меня как для программиста стала необходимость формировать массив данных на стыке нескольких больших и не очень сфер, а именно:
 +  * "Reverse Engineering" в рамках разбора механизма формирования размеров игровой карты.
 +  * Китбашинг моделей зданий из других источников для их дальнейшего использования в рамках разработки мода.
 +  * Использование LUA-интерфейса игры для реализации пакета карт и мода.
 +  * Разработка 3D-моделей для дальнейшего развития модификации(города), глупо было бы создать большую карту и не строить на ней город.
 +
 +В данный момент я продолжаю работать над модом.
 +====== Источники информации при подготовке материала: ======
 +
 +  * https://ru.wikipedia.org/wiki/Обратная_разработка
 +  * https://ru.wikipedia.org/wiki/Шестнадцатеричная_система_счисления
 +  * https://ru.wikipedia.org/wiki/Регистр_процессора
 +  * https://ru.wikipedia.org/wiki/Двоичная_система_счисления
 +  * https://blic.fandom.com/ru/wiki/Краткий_перечень_команд_ассемблера
 +  * https://wiki.osdev.org/CPU_Registers_x86
 +  * https://dzen.ru/a/YxibcFJYUG_mqPyK
 +  * https://metanit.com/assembler/tutorial/1.3.php
 +  * https://tproger.ru/translations/reverse-engineering-basics
 +  * https://skillbox.ru/media/code/yazyki_programmirovaniya_chto_eto_takoe/
 +  * https://rb.ru/story/urovni-yazykov-programmirovaniya/
 +  * https://codesecure.ru/posts/1
 +  * https://habr.com/ru/articles/855226/
  • reverseenengineering.1750687358.txt.gz
  • Последнее изменение: 2025/06/23 21:02
  • Lex