MAPGenerator - это программа, которая способна генерировать .map файл. .map - это файл, который поможет вам орентироваться в своей программе. Или в чужой. Например: 1)Если вам необходимо отладить какую-нибудь функцию. Вы можете сгенерировать .map файл и используя статический анализатор IDA PRO найти адрес функции и прописать в .map файл, загрузив в отладчик программу с .map файлом вы можете сразу найти эту функцию. 2)Если вы используете VMProtect \ Themida, то вы можете загрузить программу и протекторы сами подгрузят бинарный файл с .MAP. Так же нужно указать те функции, (прописать в ручную), которые вы планируете защищать. Многие протекторы имееют SDK и статическую библиотеку, что позволяет указывать, а также палить некоторые ваши функции,но можно обойтись и без этого используя MAP файл указав протектору, что вы будете защищать. 3)Этот файл можно сохранить, чтобы потом использовать в слуаи не предвидинного бага. Когда ваша программа уже в релизе. Скинув .map файл тестеру и быстро найти нужную функцию.
Отладчик x64dbg, позволяет загружать мап файлы. Указав, только нужные функции вы можете с легкостью их найти. И произвести отладочные работы.
.MAP файл состоит из: 1 строка название программы, а оно должно совпадать. Если программа называется ProgName, то и название должно совпадать 2 строка - время создание в TimeStamp и полная GMT дата 3 строка - ImageBase адрес 4 - табличка с секциями исполняймую секцию надо самим поменять её класс на CODE CODE - то какая секция исполняется DATA - то какая секция хранит данные
Все секции кроме исполняймой CODE
Address Publics by Value - сюда указывается функция
0001:0016C010 Func1 - указывается номер секции и её offset (смещения), дальше название
entry point at 0001:00610F48 - данная строка указывает на то, что 0001 секции (.text) по 00610F48 - находится точка входа
#НЕБОЛЬШОЕ ОПИСАНИЕ ПРО СЕКЦИИ
- text код.
- data данные.
- rdata данные только для чтения.
- bss неиницализированные данные. Почти не занимаю место в исполняемом файле.
- rsrc данные ресурсы
Программа не сделана прям до 100% необходимо считывать аргументы и передавать