Здравствуйте, drVanо, Вы писали:
AWW>>Парсинг таблиц функций, там делается по сути только для того чтобы их воспроизвести в новом образе и для того чтобы эти функции обнаружить, если нет PDB данных. То есть они частично переезжают в новый как есть, частично ну в том объеме в котором эти функции включатся в новый. Если фрагмент старого кода выбрасывается, то и в таблицу они не перенесутся.
V>Я вам как раз и пишу, что недостаточно перенести саму RUNTIME_FUNCTION, нужно еще переносить все на что показывает UNWIND_INFO в плане "variable Language-specific handler data (optional)" — это компиляторо зависимая шняга.
Ну дык, и я вам пишу — берете и делаете ручками, для своей конкретной задачи, для своего образа, для своего отдетектированного компилятора, то что вам надо — берете и пишите и пушите. Я сделал ровно то что надо было мне — в моем конкретном случае. У меня НЕ стояла задача сделать так чтобы работали исключения — у мне они были (должны были) быть запрещены, ибо их использовать нельзя.
V>>>P.P.S. В исходниках сходу на нашел обработку SWITCH + JMP таблиц для них. Как это дело у вас перестраивается?
AWW>>Обрабатываются как перекрестная ссылка из данных.
V>Ну ну
И что?