IDA. x86. Как переместить (не копировать) сегмент данных.
Загрузил файл.
Создал сегмент 0xf000
Запустил макрос
Код:
++
// Listing 2.2. IDA Pro Code Relocation Script #include <idc.idc> // Relocate one segment static relocate_seg(src, dest) { auto ea_src, ea_dest, hi_limit; hi_limit = src + 0x10000; ea_dest = dest; for(ea_src = src; ea_src < hi_limit ; ea_src = ea_src + 4 ) {PatchDword( ea_dest, Dword(ea_src)); ea_dest = ea_dest + 4; } Message("segment relocation finished(inside relocate_seg function)...\n"); } static main() {Message("creating target segment(inside entry point function main)...\n"); AddSeg([0xF000, 0], [0x10000, 0], 0xF000, 0, 0, 0); RenameSeg([0xF000, 0], "_F000"); // Give a new name to the segment. relocate_seg([0x0000, 0x00000], [0xF000, 0]); }- Копировал сегмент 0 в 0xf000. Из выпадающего меню view->segments удалил сегмент 0. Данные из сегмента осались и видны серым в окне IDA (слева адрес без указания сегмента). Как удалить данные, что были в сегменте 0, чтобы они остались в сегменте f000?