void CELF2ASM<ELFSTRUCTURES>::Convert() { // Do the conversion // Find image base and executable type FindImageBase(); // Tell disassembler Disasm.Init(ExeType, ImageBase); // Set image base // Make Sections list in Disasm MakeSectionList(); // Make Symbols list in Disasm MakeSymbolList(); // Make relocations for object and executable files MakeRelocations(); if (ImageBase) { // Executable file MakeImportList(); // Make imported symbols for executable files MakeExportList(); // Make exported symbols for executable files MakeListLabels(); // Put labels on all image directory tables } Disasm.Go(); // Disassemble *this << Disasm.OutFile; // Take over output file from Disasm }
void CCOF2ASM::Convert() { // Преобразовать if (ImageBase) Disasm.Init(2, ImageBase); // Исполнимый файл или DLL. Установить основание имиджа MakeSectionList(); // Создать список секций и Релокаций в Disasm-е MakeSymbolList(); // Сделать список символов в Disasm-е if (ImageBase) { // Исполнимый Файл MakeDynamicRelocations(); // Make dynamic base relocations for executable files MakeImportList(); // Make imported symbols for executable files MakeExportList(); // Make exported symbols for executable files MakeListLabels(); // Put labels on all image directory tables } Disasm.Go(); //Дизассемблировать *this << Disasm.OutFile; // Вывесть выходной файл из Disasm-а }