Add newtypes for PE/COFF constants (#898)

* Add pe::Machine

* Add pe::FileFlags

* Add pe::Subsystem

* Add pe::DllFlags

* Add pe::SectionFlags

* Add pe::SymbolSection

Also fix maximum index check in `read::pe::ImageSymbol::section_number`.

* Add pe::SymbolType and pe::SymbolClass

* Add pe::ComdatSelection and pe::WeakExternSearch

* Add pe::ImportObjectFlags

* Add pe::NAMES_DIRECTORY_ENTRY

* Add pe::NAMES_RT

* Add pe::DebugType

* Add misc PE newtypes
This commit is contained in:
Philip Craig
2026-05-12 16:01:51 +10:00
committed by GitHub
parent 006652c1ce
commit 6bbca29505
31 changed files with 1329 additions and 1509 deletions
+1 -1
View File
@@ -336,7 +336,7 @@ fn copy_file<Elf: FileHeader<Endian = Endianness>>(
major_subsystem_version: 0,
minor_subsystem_version: 0,
subsystem: pe::IMAGE_SUBSYSTEM_EFI_APPLICATION,
dll_characteristics: 0,
dll_characteristics: pe::DllFlags(0),
size_of_stack_reserve: 0,
size_of_stack_commit: 0,
size_of_heap_reserve: 0,
+43 -284
View File
@@ -49,12 +49,20 @@ pub(super) fn print_coff_import(p: &mut Printer<'_>, data: &[u8]) {
p.field_hex("Signature1", header.sig1.get(LE));
p.field_hex("Signature2", header.sig2.get(LE));
p.field("Version", header.version.get(LE));
p.field_enum("Machine", header.machine.get(LE), FLAGS_IMAGE_FILE_MACHINE);
p.field_consts("Machine", header.machine.get(LE), Machine::NAMES);
p.field("TimeDateStamp", header.time_date_stamp.get(LE));
p.field_hex("SizeOfData", header.size_of_data.get(LE));
p.field("OrdinalOrHint", header.ordinal_or_hint.get(LE));
p.field_enum("ImportType", header.import_type(), FLAGS_IMAGE_OBJECT_TYPE);
p.field_enum("NameType", header.name_type(), FLAGS_IMAGE_OBJECT_NAME);
p.field_consts(
"ImportType",
header.import_type(),
pe::ImportObjectType::NAMES,
);
p.field_consts(
"NameType",
header.name_type(),
pe::ImportObjectNameType::NAMES,
);
if let Some(data) = header.parse_data(data, &mut offset).print_err(p) {
p.field_inline_string("Symbol", data.symbol());
p.field_inline_string("Dll", data.dll());
@@ -160,7 +168,7 @@ fn print_file(p: &mut Printer<'_>, header: &ImageFileHeader) {
return;
}
p.group("ImageFileHeader", |p| {
p.field_enum("Machine", header.machine.get(LE), FLAGS_IMAGE_FILE_MACHINE);
p.field_consts("Machine", header.machine.get(LE), Machine::NAMES);
p.field("NumberOfSections", header.number_of_sections.get(LE));
p.field("TimeDateStamp", header.time_date_stamp.get(LE));
p.field_hex(
@@ -172,8 +180,11 @@ fn print_file(p: &mut Printer<'_>, header: &ImageFileHeader) {
"SizeOfOptionalHeader",
header.size_of_optional_header.get(LE),
);
p.field_hex("Characteristics", header.characteristics.get(LE));
p.flags(header.characteristics.get(LE), 0, FLAGS_IMAGE_FILE);
p.field_flags(
"Characteristics",
header.characteristics.get(LE),
FileFlags::NAMES,
);
});
}
@@ -212,12 +223,11 @@ fn print_optional(p: &mut Printer<'_>, header: &impl ImageOptionalHeader) {
p.field_hex("SizeOfImage", header.size_of_image());
p.field_hex("SizeOfHeaders", header.size_of_headers());
p.field_hex("CheckSum", header.check_sum());
p.field_enum("Subsystem", header.subsystem(), FLAGS_IMAGE_SUBSYSTEM);
p.field_hex("DllCharacteristics", header.dll_characteristics());
p.flags(
p.field_consts("Subsystem", header.subsystem(), Subsystem::NAMES);
p.field_flags(
"DllCharacteristics",
header.dll_characteristics(),
0,
FLAGS_IMAGE_DLLCHARACTERISTICS,
DllFlags::NAMES,
);
p.field_hex("SizeOfStackReserve", header.size_of_stack_reserve());
p.field_hex("SizeOfStackCommit", header.size_of_stack_commit());
@@ -234,7 +244,7 @@ fn print_data_directories(p: &mut Printer<'_>, data_directories: &DataDirectorie
}
for (index, dir) in data_directories.iter().enumerate() {
p.group("ImageDataDirectory", |p| {
p.field_enum("Index", index, FLAGS_IMAGE_DIRECTORY_ENTRY);
p.field_consts("Index", index, NAMES_DIRECTORY_ENTRY);
p.field_hex("VirtualAddress", dir.virtual_address.get(LE));
p.field_hex("Size", dir.size.get(LE));
});
@@ -249,7 +259,7 @@ fn print_bigobj(p: &mut Printer<'_>, header: &AnonObjectHeaderBigobj) {
p.field_hex("Signature1", header.sig1.get(LE));
p.field_hex("Signature2", header.sig2.get(LE));
p.field("Version", header.version.get(LE));
p.field_enum("Machine", header.machine.get(LE), FLAGS_IMAGE_FILE_MACHINE);
p.field_consts("Machine", header.machine.get(LE), Machine::NAMES);
p.field("TimeDateStamp", header.time_date_stamp.get(LE));
p.field(
"ClassId",
@@ -540,7 +550,7 @@ fn print_resource_table(
}
ResourceNameOrId::Id(id) => {
if level == 0 {
p.field_enum("NameOrId", id, FLAGS_RT);
p.field_consts("NameOrId", id, NAMES_RT);
} else {
p.field("NameOrId", id);
}
@@ -573,7 +583,7 @@ fn print_resource_table(
fn print_sections<'data, Coff: CoffHeader>(
p: &mut Printer<'_>,
data: &[u8],
machine: u16,
machine: pe::Machine,
symbols: Option<&SymbolTable<'data, &'data [u8], Coff>>,
sections: &SectionTable,
) {
@@ -610,16 +620,11 @@ fn print_sections<'data, Coff: CoffHeader>(
);
p.field("NumberOfRelocations", section.number_of_relocations.get(LE));
p.field("NumberOfLinenumbers", section.number_of_linenumbers.get(LE));
p.field_hex("Characteristics", section.characteristics.get(LE));
p.flags(section.characteristics.get(LE), 0, FLAGS_IMAGE_SCN);
// 0 means no alignment flag.
if section.characteristics.get(LE) & IMAGE_SCN_ALIGN_MASK != 0 {
p.flags(
section.characteristics.get(LE),
IMAGE_SCN_ALIGN_MASK,
FLAGS_IMAGE_SCN_ALIGN,
);
}
p.field_flags(
"Characteristics",
section.characteristics.get(LE),
SectionFlags::NAMES,
);
}
print_relocations(p, data, machine, symbols, section);
});
@@ -629,7 +634,7 @@ fn print_sections<'data, Coff: CoffHeader>(
fn print_relocations<'data, Coff: CoffHeader>(
p: &mut Printer<'_>,
data: &[u8],
machine: u16,
machine: pe::Machine,
symbols: Option<&SymbolTable<'data, &'data [u8], Coff>>,
section: &ImageSectionHeader,
) {
@@ -682,15 +687,17 @@ fn print_symbols<'data, Coff: CoffHeader>(
});
p.field_string_option("Section", section_index.0, section_name);
} else {
p.field_enum_display("Section", symbol.section_number(), FLAGS_IMAGE_SYM);
p.field_consts_display(
"Section",
symbol.section_number(),
pe::SymbolSection::NAMES,
);
}
p.field_hex("Type", symbol.typ());
p.field_enum("BaseType", symbol.base_type(), FLAGS_IMAGE_SYM_TYPE);
p.field_enum("DerivedType", symbol.derived_type(), FLAGS_IMAGE_SYM_DTYPE);
p.field_enum(
p.field_flags("Type", symbol.typ(), pe::SymbolType::NAMES);
p.field_consts(
"StorageClass",
symbol.storage_class(),
FLAGS_IMAGE_SYM_CLASS,
pe::SymbolClass::NAMES,
);
p.field_hex("NumberOfAuxSymbols", symbol.number_of_aux_symbols());
if symbol.has_aux_file_name()
@@ -725,7 +732,7 @@ fn print_symbols<'data, Coff: CoffHeader>(
p.field("NumberOfLinenumbers", aux.number_of_linenumbers.get(LE));
p.field_hex("CheckSum", aux.check_sum.get(LE));
p.field("Number", aux.number.get(LE));
p.field_enum("Selection", aux.selection, FLAGS_IMAGE_COMDAT_SELECT);
p.field_consts("Selection", aux.selection, pe::ComdatSelection::NAMES);
p.field_hex("Reserved", aux.reserved);
p.field("HighNumber", aux.high_number.get(LE));
});
@@ -740,10 +747,10 @@ fn print_symbols<'data, Coff: CoffHeader>(
.and_then(|symbol| symbol.name(symbols.strings()))
.print_err(p);
p.field_string_option("DefaultSymbol", index.0, name);
p.field_enum(
p.field_consts(
"SearchType",
aux.weak_search_type.get(LE),
FLAGS_IMAGE_WEAK_EXTERN,
pe::WeakExternSearch::NAMES,
);
});
}
@@ -755,7 +762,7 @@ fn print_symbols<'data, Coff: CoffHeader>(
fn print_reloc_dir(
p: &mut Printer<'_>,
data: &[u8],
machine: u16,
machine: pe::Machine,
sections: &SectionTable,
data_directories: &DataDirectories,
) -> Option<()> {
@@ -790,251 +797,3 @@ fn print_reloc_dir(
}
Some(())
}
const FLAGS_IMAGE_FILE: &[Flag<u16>] = &flags!(
IMAGE_FILE_RELOCS_STRIPPED,
IMAGE_FILE_EXECUTABLE_IMAGE,
IMAGE_FILE_LINE_NUMS_STRIPPED,
IMAGE_FILE_LOCAL_SYMS_STRIPPED,
IMAGE_FILE_AGGRESIVE_WS_TRIM,
IMAGE_FILE_LARGE_ADDRESS_AWARE,
IMAGE_FILE_BYTES_REVERSED_LO,
IMAGE_FILE_32BIT_MACHINE,
IMAGE_FILE_DEBUG_STRIPPED,
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP,
IMAGE_FILE_NET_RUN_FROM_SWAP,
IMAGE_FILE_SYSTEM,
IMAGE_FILE_DLL,
IMAGE_FILE_UP_SYSTEM_ONLY,
IMAGE_FILE_BYTES_REVERSED_HI,
);
const FLAGS_IMAGE_FILE_MACHINE: &[Flag<u16>] = &flags!(
IMAGE_FILE_MACHINE_UNKNOWN,
IMAGE_FILE_MACHINE_TARGET_HOST,
IMAGE_FILE_MACHINE_I386,
IMAGE_FILE_MACHINE_R3000,
IMAGE_FILE_MACHINE_R4000,
IMAGE_FILE_MACHINE_R10000,
IMAGE_FILE_MACHINE_WCEMIPSV2,
IMAGE_FILE_MACHINE_ALPHA,
IMAGE_FILE_MACHINE_SH3,
IMAGE_FILE_MACHINE_SH3DSP,
IMAGE_FILE_MACHINE_SH3E,
IMAGE_FILE_MACHINE_SH4,
IMAGE_FILE_MACHINE_SH5,
IMAGE_FILE_MACHINE_ARM,
IMAGE_FILE_MACHINE_THUMB,
IMAGE_FILE_MACHINE_ARMNT,
IMAGE_FILE_MACHINE_AM33,
IMAGE_FILE_MACHINE_POWERPC,
IMAGE_FILE_MACHINE_POWERPCFP,
IMAGE_FILE_MACHINE_IA64,
IMAGE_FILE_MACHINE_MIPS16,
IMAGE_FILE_MACHINE_ALPHA64,
IMAGE_FILE_MACHINE_MIPSFPU,
IMAGE_FILE_MACHINE_MIPSFPU16,
IMAGE_FILE_MACHINE_AXP64,
IMAGE_FILE_MACHINE_TRICORE,
IMAGE_FILE_MACHINE_CEF,
IMAGE_FILE_MACHINE_EBC,
IMAGE_FILE_MACHINE_AMD64,
IMAGE_FILE_MACHINE_M32R,
IMAGE_FILE_MACHINE_ARM64,
IMAGE_FILE_MACHINE_ARM64EC,
IMAGE_FILE_MACHINE_CEE,
IMAGE_FILE_MACHINE_RISCV32,
IMAGE_FILE_MACHINE_RISCV64,
IMAGE_FILE_MACHINE_RISCV128,
);
const FLAGS_IMAGE_SCN: &[Flag<u32>] = &flags!(
IMAGE_SCN_TYPE_NO_PAD,
IMAGE_SCN_CNT_CODE,
IMAGE_SCN_CNT_INITIALIZED_DATA,
IMAGE_SCN_CNT_UNINITIALIZED_DATA,
IMAGE_SCN_LNK_OTHER,
IMAGE_SCN_LNK_INFO,
IMAGE_SCN_LNK_REMOVE,
IMAGE_SCN_LNK_COMDAT,
IMAGE_SCN_NO_DEFER_SPEC_EXC,
IMAGE_SCN_GPREL,
IMAGE_SCN_MEM_FARDATA,
IMAGE_SCN_MEM_PURGEABLE,
IMAGE_SCN_MEM_16BIT,
IMAGE_SCN_MEM_LOCKED,
IMAGE_SCN_MEM_PRELOAD,
IMAGE_SCN_LNK_NRELOC_OVFL,
IMAGE_SCN_MEM_DISCARDABLE,
IMAGE_SCN_MEM_NOT_CACHED,
IMAGE_SCN_MEM_NOT_PAGED,
IMAGE_SCN_MEM_SHARED,
IMAGE_SCN_MEM_EXECUTE,
IMAGE_SCN_MEM_READ,
IMAGE_SCN_MEM_WRITE,
);
const FLAGS_IMAGE_SCN_ALIGN: &[Flag<u32>] = &flags!(
IMAGE_SCN_ALIGN_1BYTES,
IMAGE_SCN_ALIGN_2BYTES,
IMAGE_SCN_ALIGN_4BYTES,
IMAGE_SCN_ALIGN_8BYTES,
IMAGE_SCN_ALIGN_16BYTES,
IMAGE_SCN_ALIGN_32BYTES,
IMAGE_SCN_ALIGN_64BYTES,
IMAGE_SCN_ALIGN_128BYTES,
IMAGE_SCN_ALIGN_256BYTES,
IMAGE_SCN_ALIGN_512BYTES,
IMAGE_SCN_ALIGN_1024BYTES,
IMAGE_SCN_ALIGN_2048BYTES,
IMAGE_SCN_ALIGN_4096BYTES,
IMAGE_SCN_ALIGN_8192BYTES,
);
const FLAGS_IMAGE_SYM: &[Flag<i32>] =
&flags!(IMAGE_SYM_UNDEFINED, IMAGE_SYM_ABSOLUTE, IMAGE_SYM_DEBUG,);
const FLAGS_IMAGE_SYM_TYPE: &[Flag<u16>] = &flags!(
IMAGE_SYM_TYPE_NULL,
IMAGE_SYM_TYPE_VOID,
IMAGE_SYM_TYPE_CHAR,
IMAGE_SYM_TYPE_SHORT,
IMAGE_SYM_TYPE_INT,
IMAGE_SYM_TYPE_LONG,
IMAGE_SYM_TYPE_FLOAT,
IMAGE_SYM_TYPE_DOUBLE,
IMAGE_SYM_TYPE_STRUCT,
IMAGE_SYM_TYPE_UNION,
IMAGE_SYM_TYPE_ENUM,
IMAGE_SYM_TYPE_MOE,
IMAGE_SYM_TYPE_BYTE,
IMAGE_SYM_TYPE_WORD,
IMAGE_SYM_TYPE_UINT,
IMAGE_SYM_TYPE_DWORD,
IMAGE_SYM_TYPE_PCODE,
);
const FLAGS_IMAGE_SYM_DTYPE: &[Flag<u16>] = &flags!(
IMAGE_SYM_DTYPE_NULL,
IMAGE_SYM_DTYPE_POINTER,
IMAGE_SYM_DTYPE_FUNCTION,
IMAGE_SYM_DTYPE_ARRAY,
);
const FLAGS_IMAGE_SYM_CLASS: &[Flag<u8>] = &flags!(
IMAGE_SYM_CLASS_END_OF_FUNCTION,
IMAGE_SYM_CLASS_NULL,
IMAGE_SYM_CLASS_AUTOMATIC,
IMAGE_SYM_CLASS_EXTERNAL,
IMAGE_SYM_CLASS_STATIC,
IMAGE_SYM_CLASS_REGISTER,
IMAGE_SYM_CLASS_EXTERNAL_DEF,
IMAGE_SYM_CLASS_LABEL,
IMAGE_SYM_CLASS_UNDEFINED_LABEL,
IMAGE_SYM_CLASS_MEMBER_OF_STRUCT,
IMAGE_SYM_CLASS_ARGUMENT,
IMAGE_SYM_CLASS_STRUCT_TAG,
IMAGE_SYM_CLASS_MEMBER_OF_UNION,
IMAGE_SYM_CLASS_UNION_TAG,
IMAGE_SYM_CLASS_TYPE_DEFINITION,
IMAGE_SYM_CLASS_UNDEFINED_STATIC,
IMAGE_SYM_CLASS_ENUM_TAG,
IMAGE_SYM_CLASS_MEMBER_OF_ENUM,
IMAGE_SYM_CLASS_REGISTER_PARAM,
IMAGE_SYM_CLASS_BIT_FIELD,
IMAGE_SYM_CLASS_FAR_EXTERNAL,
IMAGE_SYM_CLASS_BLOCK,
IMAGE_SYM_CLASS_FUNCTION,
IMAGE_SYM_CLASS_END_OF_STRUCT,
IMAGE_SYM_CLASS_FILE,
IMAGE_SYM_CLASS_SECTION,
IMAGE_SYM_CLASS_WEAK_EXTERNAL,
IMAGE_SYM_CLASS_CLR_TOKEN,
);
const FLAGS_IMAGE_COMDAT_SELECT: &[Flag<u8>] = &flags!(
IMAGE_COMDAT_SELECT_NODUPLICATES,
IMAGE_COMDAT_SELECT_ANY,
IMAGE_COMDAT_SELECT_SAME_SIZE,
IMAGE_COMDAT_SELECT_EXACT_MATCH,
IMAGE_COMDAT_SELECT_ASSOCIATIVE,
IMAGE_COMDAT_SELECT_LARGEST,
IMAGE_COMDAT_SELECT_NEWEST,
);
const FLAGS_IMAGE_WEAK_EXTERN: &[Flag<u32>] = &flags!(
IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY,
IMAGE_WEAK_EXTERN_SEARCH_LIBRARY,
IMAGE_WEAK_EXTERN_SEARCH_ALIAS,
IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY,
);
const FLAGS_IMAGE_SUBSYSTEM: &[Flag<u16>] = &flags!(
IMAGE_SUBSYSTEM_UNKNOWN,
IMAGE_SUBSYSTEM_NATIVE,
IMAGE_SUBSYSTEM_WINDOWS_GUI,
IMAGE_SUBSYSTEM_WINDOWS_CUI,
IMAGE_SUBSYSTEM_OS2_CUI,
IMAGE_SUBSYSTEM_POSIX_CUI,
IMAGE_SUBSYSTEM_NATIVE_WINDOWS,
IMAGE_SUBSYSTEM_WINDOWS_CE_GUI,
IMAGE_SUBSYSTEM_EFI_APPLICATION,
IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER,
IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER,
IMAGE_SUBSYSTEM_EFI_ROM,
IMAGE_SUBSYSTEM_XBOX,
IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION,
IMAGE_SUBSYSTEM_XBOX_CODE_CATALOG,
);
const FLAGS_IMAGE_DLLCHARACTERISTICS: &[Flag<u16>] = &flags!(
IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA,
IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE,
IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY,
IMAGE_DLLCHARACTERISTICS_NX_COMPAT,
IMAGE_DLLCHARACTERISTICS_NO_ISOLATION,
IMAGE_DLLCHARACTERISTICS_NO_SEH,
IMAGE_DLLCHARACTERISTICS_NO_BIND,
IMAGE_DLLCHARACTERISTICS_APPCONTAINER,
IMAGE_DLLCHARACTERISTICS_WDM_DRIVER,
IMAGE_DLLCHARACTERISTICS_GUARD_CF,
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE,
);
const FLAGS_IMAGE_DIRECTORY_ENTRY: &[Flag<usize>] = &flags!(
IMAGE_DIRECTORY_ENTRY_EXPORT,
IMAGE_DIRECTORY_ENTRY_IMPORT,
IMAGE_DIRECTORY_ENTRY_RESOURCE,
IMAGE_DIRECTORY_ENTRY_EXCEPTION,
IMAGE_DIRECTORY_ENTRY_SECURITY,
IMAGE_DIRECTORY_ENTRY_BASERELOC,
IMAGE_DIRECTORY_ENTRY_DEBUG,
IMAGE_DIRECTORY_ENTRY_ARCHITECTURE,
IMAGE_DIRECTORY_ENTRY_GLOBALPTR,
IMAGE_DIRECTORY_ENTRY_TLS,
IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG,
IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT,
IMAGE_DIRECTORY_ENTRY_IAT,
IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT,
IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR,
);
const FLAGS_RT: &[Flag<u16>] = &flags!(
RT_CURSOR,
RT_BITMAP,
RT_ICON,
RT_MENU,
RT_DIALOG,
RT_STRING,
RT_FONTDIR,
RT_FONT,
RT_ACCELERATOR,
RT_RCDATA,
RT_MESSAGETABLE,
RT_GROUP_CURSOR,
RT_GROUP_ICON,
RT_VERSION,
RT_DLGINCLUDE,
RT_PLUGPLAY,
RT_VXD,
RT_ANICURSOR,
RT_ANIICON,
RT_HTML,
RT_MANIFEST,
);
const FLAGS_IMAGE_OBJECT_TYPE: &[Flag<u16>] =
&flags!(IMPORT_OBJECT_CODE, IMPORT_OBJECT_DATA, IMPORT_OBJECT_CONST);
const FLAGS_IMAGE_OBJECT_NAME: &[Flag<u16>] = &flags!(
IMPORT_OBJECT_ORDINAL,
IMPORT_OBJECT_NAME,
IMPORT_OBJECT_NAME_NO_PREFIX,
IMPORT_OBJECT_NAME_UNDECORATE,
IMPORT_OBJECT_NAME_EXPORTAS,
);
@@ -42,13 +42,13 @@ Entry Address: 0
Segment { name: ".debug$S", address: 0, size: 0, permissions: R-- }
Segment { name: ".idata$5", address: 0, size: 0, permissions: RW- }
Segment { name: ".idata$4", address: 0, size: 0, permissions: RW- }
1: Section { name: ".debug$S", address: 0, size: 42, align: 1, kind: Other, flags: Coff { characteristics: 42100040 } }
2: Section { name: ".idata$5", address: 0, size: 8, align: 8, kind: Data, flags: Coff { characteristics: c0400040 } }
3: Section { name: ".idata$4", address: 0, size: 8, align: 8, kind: Data, flags: Coff { characteristics: c0400040 } }
1: Section { name: ".debug$S", address: 0, size: 42, align: 1, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".idata$5", address: 0, size: 8, align: 8, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_8BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
3: Section { name: ".idata$4", address: 0, size: 8, align: 8, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_8BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
Symbols
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
1: Symbol { name: "\u{7f}test_x64_NULL_THUNK_DATA", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
1: Symbol { name: "\u{7f}test_x64_NULL_THUNK_DATA", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
Dynamic symbols
@@ -64,12 +64,12 @@ Relative Address Base: 0
Entry Address: 0
Segment { name: ".debug$S", address: 0, size: 0, permissions: R-- }
Segment { name: ".idata$3", address: 0, size: 0, permissions: RW- }
1: Section { name: ".debug$S", address: 0, size: 42, align: 1, kind: Other, flags: Coff { characteristics: 42100040 } }
2: Section { name: ".idata$3", address: 0, size: 14, align: 4, kind: Data, flags: Coff { characteristics: c0300040 } }
1: Section { name: ".debug$S", address: 0, size: 42, align: 1, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".idata$3", address: 0, size: 14, align: 4, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
Symbols
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
1: Symbol { name: "__NULL_IMPORT_DESCRIPTOR", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
1: Symbol { name: "__NULL_IMPORT_DESCRIPTOR", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
Dynamic symbols
@@ -86,19 +86,19 @@ Entry Address: 0
Segment { name: ".debug$S", address: 0, size: 0, permissions: R-- }
Segment { name: ".idata$2", address: 0, size: 0, permissions: RW- }
Segment { name: ".idata$6", address: 0, size: 0, permissions: RW- }
1: Section { name: ".debug$S", address: 0, size: 42, align: 1, kind: Other, flags: Coff { characteristics: 42100040 } }
2: Section { name: ".idata$2", address: 0, size: 14, align: 4, kind: Data, flags: Coff { characteristics: c0300040 } }
3: Section { name: ".idata$6", address: 0, size: e, align: 2, kind: Data, flags: Coff { characteristics: c0200040 } }
1: Section { name: ".debug$S", address: 0, size: 42, align: 1, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".idata$2", address: 0, size: 14, align: 4, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
3: Section { name: ".idata$6", address: 0, size: e, align: 2, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_2BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
Symbols
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
1: Symbol { name: "__IMPORT_DESCRIPTOR_test_x64", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
2: Symbol { name: ".idata$2", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 68 } }
3: Symbol { name: ".idata$6", address: 0, size: 0, kind: Data, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
4: Symbol { name: ".idata$4", address: 0, size: 0, kind: Section, section: Undefined, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 68 } }
5: Symbol { name: ".idata$5", address: 0, size: 0, kind: Section, section: Undefined, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 68 } }
6: Symbol { name: "__NULL_IMPORT_DESCRIPTOR", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
7: Symbol { name: "\u{7f}test_x64_NULL_THUNK_DATA", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
1: Symbol { name: "__IMPORT_DESCRIPTOR_test_x64", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
2: Symbol { name: ".idata$2", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_SECTION } }
3: Symbol { name: ".idata$6", address: 0, size: 0, kind: Data, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
4: Symbol { name: ".idata$4", address: 0, size: 0, kind: Section, section: Undefined, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_SECTION } }
5: Symbol { name: ".idata$5", address: 0, size: 0, kind: Section, section: Undefined, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_SECTION } }
6: Symbol { name: "__NULL_IMPORT_DESCRIPTOR", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
7: Symbol { name: "\u{7f}test_x64_NULL_THUNK_DATA", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
.idata$2 relocations
(c, Relocation { kind: ImageOffset, encoding: Generic, size: 20, target: Symbol(SymbolIndex(3)), addend: 0, implicit_addend: true, flags: Coff { typ: 3 } })
@@ -122,19 +122,19 @@ test_x86.dll:
Format: Coff Little-endian 32-bit
Kind: Relocatable
Architecture: I386
Flags: Coff { characteristics: 100 }
Flags: Coff { characteristics: IMAGE_FILE_32BIT_MACHINE }
Relative Address Base: 0
Entry Address: 0
Segment { name: ".debug$S", address: 0, size: 0, permissions: R-- }
Segment { name: ".idata$5", address: 0, size: 0, permissions: RW- }
Segment { name: ".idata$4", address: 0, size: 0, permissions: RW- }
1: Section { name: ".debug$S", address: 0, size: 42, align: 1, kind: Other, flags: Coff { characteristics: 42100040 } }
2: Section { name: ".idata$5", address: 0, size: 4, align: 4, kind: Data, flags: Coff { characteristics: c0300040 } }
3: Section { name: ".idata$4", address: 0, size: 4, align: 4, kind: Data, flags: Coff { characteristics: c0300040 } }
1: Section { name: ".debug$S", address: 0, size: 42, align: 1, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".idata$5", address: 0, size: 4, align: 4, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
3: Section { name: ".idata$4", address: 0, size: 4, align: 4, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
Symbols
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
1: Symbol { name: "\u{7f}test_x86_NULL_THUNK_DATA", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
1: Symbol { name: "\u{7f}test_x86_NULL_THUNK_DATA", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
Dynamic symbols
@@ -145,17 +145,17 @@ test_x86.dll:
Format: Coff Little-endian 32-bit
Kind: Relocatable
Architecture: I386
Flags: Coff { characteristics: 100 }
Flags: Coff { characteristics: IMAGE_FILE_32BIT_MACHINE }
Relative Address Base: 0
Entry Address: 0
Segment { name: ".debug$S", address: 0, size: 0, permissions: R-- }
Segment { name: ".idata$3", address: 0, size: 0, permissions: RW- }
1: Section { name: ".debug$S", address: 0, size: 42, align: 1, kind: Other, flags: Coff { characteristics: 42100040 } }
2: Section { name: ".idata$3", address: 0, size: 14, align: 4, kind: Data, flags: Coff { characteristics: c0300040 } }
1: Section { name: ".debug$S", address: 0, size: 42, align: 1, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".idata$3", address: 0, size: 14, align: 4, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
Symbols
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
1: Symbol { name: "__NULL_IMPORT_DESCRIPTOR", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
1: Symbol { name: "__NULL_IMPORT_DESCRIPTOR", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
Dynamic symbols
@@ -166,25 +166,25 @@ test_x86.dll:
Format: Coff Little-endian 32-bit
Kind: Relocatable
Architecture: I386
Flags: Coff { characteristics: 100 }
Flags: Coff { characteristics: IMAGE_FILE_32BIT_MACHINE }
Relative Address Base: 0
Entry Address: 0
Segment { name: ".debug$S", address: 0, size: 0, permissions: R-- }
Segment { name: ".idata$2", address: 0, size: 0, permissions: RW- }
Segment { name: ".idata$6", address: 0, size: 0, permissions: RW- }
1: Section { name: ".debug$S", address: 0, size: 42, align: 1, kind: Other, flags: Coff { characteristics: 42100040 } }
2: Section { name: ".idata$2", address: 0, size: 14, align: 4, kind: Data, flags: Coff { characteristics: c0300040 } }
3: Section { name: ".idata$6", address: 0, size: e, align: 2, kind: Data, flags: Coff { characteristics: c0200040 } }
1: Section { name: ".debug$S", address: 0, size: 42, align: 1, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".idata$2", address: 0, size: 14, align: 4, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
3: Section { name: ".idata$6", address: 0, size: e, align: 2, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_2BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
Symbols
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
1: Symbol { name: "__IMPORT_DESCRIPTOR_test_x86", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
2: Symbol { name: ".idata$2", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 68 } }
3: Symbol { name: ".idata$6", address: 0, size: 0, kind: Data, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
4: Symbol { name: ".idata$4", address: 0, size: 0, kind: Section, section: Undefined, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 68 } }
5: Symbol { name: ".idata$5", address: 0, size: 0, kind: Section, section: Undefined, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 68 } }
6: Symbol { name: "__NULL_IMPORT_DESCRIPTOR", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
7: Symbol { name: "\u{7f}test_x86_NULL_THUNK_DATA", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
1: Symbol { name: "__IMPORT_DESCRIPTOR_test_x86", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
2: Symbol { name: ".idata$2", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_SECTION } }
3: Symbol { name: ".idata$6", address: 0, size: 0, kind: Data, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
4: Symbol { name: ".idata$4", address: 0, size: 0, kind: Section, section: Undefined, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_SECTION } }
5: Symbol { name: ".idata$5", address: 0, size: 0, kind: Section, section: Undefined, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_SECTION } }
6: Symbol { name: "__NULL_IMPORT_DESCRIPTOR", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
7: Symbol { name: "\u{7f}test_x86_NULL_THUNK_DATA", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
.idata$2 relocations
(c, Relocation { kind: ImageOffset, encoding: Generic, size: 20, target: Symbol(SymbolIndex(3)), addend: 0, implicit_addend: true, flags: Coff { typ: 7 } })
@@ -215,13 +215,13 @@ Entry Address: 0
Segment { name: ".debug$S", address: 0, size: 0, permissions: R-- }
Segment { name: ".idata$5", address: 0, size: 0, permissions: RW- }
Segment { name: ".idata$4", address: 0, size: 0, permissions: RW- }
1: Section { name: ".debug$S", address: 0, size: 46, align: 1, kind: Other, flags: Coff { characteristics: 42100040 } }
2: Section { name: ".idata$5", address: 0, size: 8, align: 8, kind: Data, flags: Coff { characteristics: c0400040 } }
3: Section { name: ".idata$4", address: 0, size: 8, align: 8, kind: Data, flags: Coff { characteristics: c0400040 } }
1: Section { name: ".debug$S", address: 0, size: 46, align: 1, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".idata$5", address: 0, size: 8, align: 8, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_8BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
3: Section { name: ".idata$4", address: 0, size: 8, align: 8, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_8BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
Symbols
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
1: Symbol { name: "\u{7f}test_arm64ec_NULL_THUNK_DATA", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
1: Symbol { name: "\u{7f}test_arm64ec_NULL_THUNK_DATA", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
Dynamic symbols
@@ -237,12 +237,12 @@ Relative Address Base: 0
Entry Address: 0
Segment { name: ".debug$S", address: 0, size: 0, permissions: R-- }
Segment { name: ".idata$3", address: 0, size: 0, permissions: RW- }
1: Section { name: ".debug$S", address: 0, size: 46, align: 1, kind: Other, flags: Coff { characteristics: 42100040 } }
2: Section { name: ".idata$3", address: 0, size: 14, align: 4, kind: Data, flags: Coff { characteristics: c0300040 } }
1: Section { name: ".debug$S", address: 0, size: 46, align: 1, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".idata$3", address: 0, size: 14, align: 4, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
Symbols
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
1: Symbol { name: "__NULL_IMPORT_DESCRIPTOR", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
1: Symbol { name: "__NULL_IMPORT_DESCRIPTOR", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
Dynamic symbols
@@ -259,19 +259,19 @@ Entry Address: 0
Segment { name: ".debug$S", address: 0, size: 0, permissions: R-- }
Segment { name: ".idata$2", address: 0, size: 0, permissions: RW- }
Segment { name: ".idata$6", address: 0, size: 0, permissions: RW- }
1: Section { name: ".debug$S", address: 0, size: 46, align: 1, kind: Other, flags: Coff { characteristics: 42100040 } }
2: Section { name: ".idata$2", address: 0, size: 14, align: 4, kind: Data, flags: Coff { characteristics: c0300040 } }
3: Section { name: ".idata$6", address: 0, size: 12, align: 2, kind: Data, flags: Coff { characteristics: c0200040 } }
1: Section { name: ".debug$S", address: 0, size: 46, align: 1, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".idata$2", address: 0, size: 14, align: 4, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
3: Section { name: ".idata$6", address: 0, size: 12, align: 2, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_2BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
Symbols
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
1: Symbol { name: "__IMPORT_DESCRIPTOR_test_arm64ec", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
2: Symbol { name: ".idata$2", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 68 } }
3: Symbol { name: ".idata$6", address: 0, size: 0, kind: Data, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
4: Symbol { name: ".idata$4", address: 0, size: 0, kind: Section, section: Undefined, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 68 } }
5: Symbol { name: ".idata$5", address: 0, size: 0, kind: Section, section: Undefined, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 68 } }
6: Symbol { name: "__NULL_IMPORT_DESCRIPTOR", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
7: Symbol { name: "\u{7f}test_arm64ec_NULL_THUNK_DATA", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
1: Symbol { name: "__IMPORT_DESCRIPTOR_test_arm64ec", address: 0, size: 0, kind: Data, section: Section(SectionIndex(2)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
2: Symbol { name: ".idata$2", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_SECTION } }
3: Symbol { name: ".idata$6", address: 0, size: 0, kind: Data, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
4: Symbol { name: ".idata$4", address: 0, size: 0, kind: Section, section: Undefined, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_SECTION } }
5: Symbol { name: ".idata$5", address: 0, size: 0, kind: Section, section: Undefined, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_SECTION } }
6: Symbol { name: "__NULL_IMPORT_DESCRIPTOR", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
7: Symbol { name: "\u{7f}test_arm64ec_NULL_THUNK_DATA", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
.idata$2 relocations
(c, Relocation { kind: ImageOffset, encoding: Generic, size: 20, target: Symbol(SymbolIndex(3)), addend: 0, implicit_addend: true, flags: Coff { typ: 2 } })
File diff suppressed because it is too large Load Diff
@@ -11,28 +11,28 @@ Segment { name: ".xdata", address: 0, size: 0, permissions: R-- }
Segment { name: ".pdata", address: 0, size: 0, permissions: R-- }
Segment { name: ".rdata", address: 0, size: 0, permissions: R-- }
Segment { name: ".rdata$zzz", address: 0, size: 0, permissions: R-- }
1: Section { name: ".text", address: 0, size: 80, align: 10, kind: Text, flags: Coff { characteristics: 60500020 } }
2: Section { name: ".data", address: 0, size: 0, align: 10, kind: Data, flags: Coff { characteristics: c0500040 } }
3: Section { name: ".bss", address: 0, size: 0, align: 10, kind: UninitializedData, flags: Coff { characteristics: c0500080 } }
4: Section { name: ".xdata", address: 0, size: 18, align: 4, kind: ReadOnlyData, flags: Coff { characteristics: 40300040 } }
5: Section { name: ".pdata", address: 0, size: 18, align: 4, kind: ReadOnlyData, flags: Coff { characteristics: 40300040 } }
6: Section { name: ".rdata", address: 0, size: 10, align: 10, kind: ReadOnlyData, flags: Coff { characteristics: 40500040 } }
7: Section { name: ".rdata$zzz", address: 0, size: 30, align: 10, kind: ReadOnlyData, flags: Coff { characteristics: 40500040 } }
1: Section { name: ".text", address: 0, size: 80, align: 10, kind: Text, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".data", address: 0, size: 0, align: 10, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
3: Section { name: ".bss", address: 0, size: 0, align: 10, kind: UninitializedData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_UNINITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
4: Section { name: ".xdata", address: 0, size: 18, align: 4, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
5: Section { name: ".pdata", address: 0, size: 18, align: 4, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
6: Section { name: ".rdata", address: 0, size: 10, align: 10, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
7: Section { name: ".rdata$zzz", address: 0, size: 30, align: 10, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
Symbols
0: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 67 } }
2: Symbol { name: "printf", address: 0, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Coff { typ: 20, storage_class: 3 } }
4: Symbol { name: "main", address: 51, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
5: Symbol { name: ".text", address: 0, size: 75, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
7: Symbol { name: ".data", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
9: Symbol { name: ".bss", address: 0, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
11: Symbol { name: ".xdata", address: 0, size: 18, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
13: Symbol { name: ".pdata", address: 0, size: 18, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
15: Symbol { name: ".rdata", address: 0, size: d, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
17: Symbol { name: ".rdata$zzz", address: 0, size: 2b, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
19: Symbol { name: "__imp___acrt_iob_func", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
20: Symbol { name: "__main", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
21: Symbol { name: "__mingw_vfprintf", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
0: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_FILE } }
2: Symbol { name: "printf", address: 0, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_STATIC } }
4: Symbol { name: "main", address: 51, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
5: Symbol { name: ".text", address: 0, size: 75, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
7: Symbol { name: ".data", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
9: Symbol { name: ".bss", address: 0, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
11: Symbol { name: ".xdata", address: 0, size: 18, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
13: Symbol { name: ".pdata", address: 0, size: 18, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
15: Symbol { name: ".rdata", address: 0, size: d, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
17: Symbol { name: ".rdata$zzz", address: 0, size: 2b, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
19: Symbol { name: "__imp___acrt_iob_func", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
20: Symbol { name: "__main", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
21: Symbol { name: "__mingw_vfprintf", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
.text relocations
(2f, Relocation { kind: Relative, encoding: Generic, size: 20, target: Symbol(SymbolIndex(13)), addend: fffffffffffffffc, implicit_addend: true, flags: Coff { typ: 4 } })
@@ -26,10 +26,10 @@ ImageSectionHeader {
NumberOfRelocations: 4
NumberOfLinenumbers: 0
Characteristics: 0x60500020
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_CODE (0x20)
IMAGE_SCN_MEM_EXECUTE (0x20000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
ImageRelocation {
VirtualAddress: 0x2F
Symbol: "__imp___acrt_iob_func" (0x13)
@@ -63,10 +63,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0500040
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSectionHeader {
Index: 3
@@ -80,10 +80,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0500080
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_UNINITIALIZED_DATA (0x80)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSectionHeader {
Index: 4
@@ -97,9 +97,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x40300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
}
ImageSectionHeader {
Index: 5
@@ -113,9 +113,9 @@ ImageSectionHeader {
NumberOfRelocations: 6
NumberOfLinenumbers: 0
Characteristics: 0x40300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
ImageRelocation {
VirtualAddress: 0x0
Symbol: ".text" (0x5)
@@ -159,9 +159,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x40500040
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSectionHeader {
Index: 7
@@ -175,9 +175,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x40500040
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSymbol {
Index: 0
@@ -185,8 +185,6 @@ ImageSymbol {
Value: 0x0
Section: IMAGE_SYM_DEBUG (-2)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_FILE (0x67)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolFile {
@@ -198,9 +196,7 @@ ImageSymbol {
Name: "printf"
Value: 0x0
Section: ".text" (0x1)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolFunction {
@@ -216,9 +212,7 @@ ImageSymbol {
Name: "main"
Value: 0x51
Section: ".text" (0x1)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -228,8 +222,6 @@ ImageSymbol {
Value: 0x0
Section: ".text" (0x1)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -249,8 +241,6 @@ ImageSymbol {
Value: 0x0
Section: ".data" (0x2)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -270,8 +260,6 @@ ImageSymbol {
Value: 0x0
Section: ".bss" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -291,8 +279,6 @@ ImageSymbol {
Value: 0x0
Section: ".xdata" (0x4)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -312,8 +298,6 @@ ImageSymbol {
Value: 0x0
Section: ".pdata" (0x5)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -333,8 +317,6 @@ ImageSymbol {
Value: 0x0
Section: ".rdata" (0x6)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -354,8 +336,6 @@ ImageSymbol {
Value: 0x0
Section: ".rdata$zzz" (0x7)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -375,8 +355,6 @@ ImageSymbol {
Value: 0x0
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -385,9 +363,7 @@ ImageSymbol {
Name: "__main"
Value: 0x0
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -396,9 +372,7 @@ ImageSymbol {
Name: "__mingw_vfprintf"
Value: 0x0
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -12,37 +12,37 @@ Segment { name: ".text$mn", address: 0, size: 0, permissions: R-X }
Segment { name: ".text$mn", address: 0, size: 0, permissions: R-X }
Segment { name: ".data", address: 0, size: 0, permissions: RW- }
Segment { name: ".chks64", address: 0, size: 0, permissions: --- }
1: Section { name: ".drectve", address: 0, size: 2f, align: 1, kind: Linker, flags: Coff { characteristics: 100a00 } }
2: Section { name: ".debug$S", address: 0, size: 7c, align: 1, kind: Other, flags: Coff { characteristics: 42100040 } }
3: Section { name: ".text$mn", address: 0, size: 14, align: 10, kind: Text, flags: Coff { characteristics: 60500020 } }
4: Section { name: ".text$mn", address: 0, size: a, align: 10, kind: Text, flags: Coff { characteristics: 60501020 } }
5: Section { name: ".text$mn", address: 0, size: 29, align: 10, kind: Text, flags: Coff { characteristics: 60501020 } }
6: Section { name: ".text$mn", address: 0, size: 3a, align: 10, kind: Text, flags: Coff { characteristics: 60501020 } }
7: Section { name: ".data", address: 0, size: d, align: 4, kind: Data, flags: Coff { characteristics: c0300040 } }
8: Section { name: ".chks64", address: 0, size: 40, align: 10, kind: Linker, flags: Coff { characteristics: a00 } }
1: Section { name: ".drectve", address: 0, size: 2f, align: 1, kind: Linker, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_LNK_INFO | IMAGE_SCN_LNK_REMOVE } }
2: Section { name: ".debug$S", address: 0, size: 7c, align: 1, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
3: Section { name: ".text$mn", address: 0, size: 14, align: 10, kind: Text, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
4: Section { name: ".text$mn", address: 0, size: a, align: 10, kind: Text, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_CODE | IMAGE_SCN_LNK_COMDAT | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
5: Section { name: ".text$mn", address: 0, size: 29, align: 10, kind: Text, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_CODE | IMAGE_SCN_LNK_COMDAT | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
6: Section { name: ".text$mn", address: 0, size: 3a, align: 10, kind: Text, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_CODE | IMAGE_SCN_LNK_COMDAT | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
7: Section { name: ".data", address: 0, size: d, align: 4, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
8: Section { name: ".chks64", address: 0, size: 40, align: 10, kind: Linker, flags: Coff { characteristics: IMAGE_SCN_LNK_INFO | IMAGE_SCN_LNK_REMOVE } }
Comdat { symbol: SymbolIndex(14), name: "___local_stdio_printf_options", kind: Any } Sections: 4
Comdat { symbol: SymbolIndex(17), name: "__vfprintf_l", kind: Any } Sections: 5
Comdat { symbol: SymbolIndex(18), name: "_printf", kind: Any } Sections: 6
Symbols
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
1: Symbol { name: "@feat.00", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
2: Symbol { name: ".drectve", address: 0, size: 2f, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
4: Symbol { name: ".debug$S", address: 0, size: 7c, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
6: Symbol { name: ".text$mn", address: 0, size: 14, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
8: Symbol { name: ".text$mn", address: 0, size: a, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
10: Symbol { name: ".text$mn", address: 0, size: 29, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
12: Symbol { name: ".text$mn", address: 0, size: 3a, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
14: Symbol { name: "___local_stdio_printf_options", address: 0, size: 0, kind: Text, section: Section(SectionIndex(4)), scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
15: Symbol { name: "___acrt_iob_func", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
16: Symbol { name: "___stdio_common_vfprintf", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
17: Symbol { name: "__vfprintf_l", address: 0, size: 0, kind: Text, section: Section(SectionIndex(5)), scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
18: Symbol { name: "_printf", address: 0, size: 0, kind: Text, section: Section(SectionIndex(6)), scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
19: Symbol { name: "_main", address: 0, size: 0, kind: Text, section: Section(SectionIndex(3)), scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
20: Symbol { name: "?_OptionsStorage@?1??__local_stdio_printf_options@@9@9", address: 0, size: 8, kind: Data, section: Common, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
21: Symbol { name: ".data", address: 0, size: d, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
23: Symbol { name: "$SG9248", address: 0, size: 0, kind: Data, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
24: Symbol { name: ".chks64", address: 0, size: 40, kind: Section, section: Section(SectionIndex(8)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
1: Symbol { name: "@feat.00", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
2: Symbol { name: ".drectve", address: 0, size: 2f, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
4: Symbol { name: ".debug$S", address: 0, size: 7c, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
6: Symbol { name: ".text$mn", address: 0, size: 14, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
8: Symbol { name: ".text$mn", address: 0, size: a, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
10: Symbol { name: ".text$mn", address: 0, size: 29, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
12: Symbol { name: ".text$mn", address: 0, size: 3a, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
14: Symbol { name: "___local_stdio_printf_options", address: 0, size: 0, kind: Text, section: Section(SectionIndex(4)), scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
15: Symbol { name: "___acrt_iob_func", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
16: Symbol { name: "___stdio_common_vfprintf", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
17: Symbol { name: "__vfprintf_l", address: 0, size: 0, kind: Text, section: Section(SectionIndex(5)), scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
18: Symbol { name: "_printf", address: 0, size: 0, kind: Text, section: Section(SectionIndex(6)), scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
19: Symbol { name: "_main", address: 0, size: 0, kind: Text, section: Section(SectionIndex(3)), scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
20: Symbol { name: "?_OptionsStorage@?1??__local_stdio_printf_options@@9@9", address: 0, size: 8, kind: Data, section: Common, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
21: Symbol { name: ".data", address: 0, size: d, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
23: Symbol { name: "$SG9248", address: 0, size: 0, kind: Data, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
24: Symbol { name: ".chks64", address: 0, size: 40, kind: Section, section: Section(SectionIndex(8)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
.text$mn relocations
(4, Relocation { kind: Absolute, encoding: Generic, size: 20, target: Symbol(SymbolIndex(17)), addend: 0, implicit_addend: true, flags: Coff { typ: 6 } })
@@ -26,9 +26,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x100A00
IMAGE_SCN_ALIGN_1BYTES (0x100000)
IMAGE_SCN_LNK_INFO (0x200)
IMAGE_SCN_LNK_REMOVE (0x800)
IMAGE_SCN_ALIGN_1BYTES (0x100000)
}
ImageSectionHeader {
Index: 2
@@ -42,10 +42,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x42100040
IMAGE_SCN_ALIGN_1BYTES (0x100000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_DISCARDABLE (0x2000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_1BYTES (0x100000)
}
ImageSectionHeader {
Index: 3
@@ -59,10 +59,10 @@ ImageSectionHeader {
NumberOfRelocations: 2
NumberOfLinenumbers: 0
Characteristics: 0x60500020
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_CODE (0x20)
IMAGE_SCN_MEM_EXECUTE (0x20000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
ImageRelocation {
VirtualAddress: 0x4
Symbol: "$SG9248" (0x17)
@@ -86,11 +86,11 @@ ImageSectionHeader {
NumberOfRelocations: 1
NumberOfLinenumbers: 0
Characteristics: 0x60501020
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_CODE (0x20)
IMAGE_SCN_LNK_COMDAT (0x1000)
IMAGE_SCN_MEM_EXECUTE (0x20000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
ImageRelocation {
VirtualAddress: 0x4
Symbol: "?_OptionsStorage@?1??__local_stdio_printf_options@@9@9" (0x14)
@@ -109,11 +109,11 @@ ImageSectionHeader {
NumberOfRelocations: 2
NumberOfLinenumbers: 0
Characteristics: 0x60501020
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_CODE (0x20)
IMAGE_SCN_LNK_COMDAT (0x1000)
IMAGE_SCN_MEM_EXECUTE (0x20000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
ImageRelocation {
VirtualAddress: 0x14
Symbol: "___local_stdio_printf_options" (0xE)
@@ -137,11 +137,11 @@ ImageSectionHeader {
NumberOfRelocations: 2
NumberOfLinenumbers: 0
Characteristics: 0x60501020
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_CODE (0x20)
IMAGE_SCN_LNK_COMDAT (0x1000)
IMAGE_SCN_MEM_EXECUTE (0x20000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
ImageRelocation {
VirtualAddress: 0x19
Symbol: "___acrt_iob_func" (0xF)
@@ -165,10 +165,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
}
ImageSectionHeader {
Index: 8
@@ -191,8 +191,6 @@ ImageSymbol {
Value: 0x1047556
Section: IMAGE_SYM_ABSOLUTE (-1)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -202,8 +200,6 @@ ImageSymbol {
Value: 0x80010191
Section: IMAGE_SYM_ABSOLUTE (-1)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -213,8 +209,6 @@ ImageSymbol {
Value: 0x0
Section: ".drectve" (0x1)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -234,8 +228,6 @@ ImageSymbol {
Value: 0x0
Section: ".debug$S" (0x2)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -255,8 +247,6 @@ ImageSymbol {
Value: 0x0
Section: ".text$mn" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -276,8 +266,6 @@ ImageSymbol {
Value: 0x0
Section: ".text$mn" (0x4)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -297,8 +285,6 @@ ImageSymbol {
Value: 0x0
Section: ".text$mn" (0x5)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -318,8 +304,6 @@ ImageSymbol {
Value: 0x0
Section: ".text$mn" (0x6)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -338,9 +322,7 @@ ImageSymbol {
Name: "___local_stdio_printf_options"
Value: 0x0
Section: ".text$mn" (0x4)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -349,9 +331,7 @@ ImageSymbol {
Name: "___acrt_iob_func"
Value: 0x0
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -360,9 +340,7 @@ ImageSymbol {
Name: "___stdio_common_vfprintf"
Value: 0x0
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -371,9 +349,7 @@ ImageSymbol {
Name: "__vfprintf_l"
Value: 0x0
Section: ".text$mn" (0x5)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -382,9 +358,7 @@ ImageSymbol {
Name: "_printf"
Value: 0x0
Section: ".text$mn" (0x6)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -393,9 +367,7 @@ ImageSymbol {
Name: "_main"
Value: 0x0
Section: ".text$mn" (0x3)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -405,8 +377,6 @@ ImageSymbol {
Value: 0x8
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -416,8 +386,6 @@ ImageSymbol {
Value: 0x0
Section: ".data" (0x7)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -437,8 +405,6 @@ ImageSymbol {
Value: 0x0
Section: ".data" (0x7)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -448,8 +414,6 @@ ImageSymbol {
Value: 0x0
Section: ".chks64" (0x8)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -1,7 +1,7 @@
Format: Pe Little-endian 64-bit
Kind: Executable
Architecture: X86_64
Flags: Coff { characteristics: 26 }
Flags: Coff { characteristics: IMAGE_FILE_EXECUTABLE_IMAGE | IMAGE_FILE_LINE_NUMS_STRIPPED | IMAGE_FILE_LARGE_ADDRESS_AWARE }
Relative Address Base: 140000000
Entry Address: 1400014d0
Segment { name: ".text", address: 140001000, size: 6bf8, permissions: R-X }
@@ -23,46 +23,46 @@ Segment { name: ".debug_frame", address: 140032000, size: 2198, permissions: R--
Segment { name: ".debug_str", address: 140035000, size: 87d, permissions: R-- }
Segment { name: ".debug_loc", address: 140036000, size: 121dc, permissions: R-- }
Segment { name: ".debug_ranges", address: 140049000, size: 14f0, permissions: R-- }
1: Section { name: ".text", address: 140001000, size: 6bf8, align: 1000, kind: Text, flags: Coff { characteristics: 60500060 } }
2: Section { name: ".data", address: 140008000, size: f0, align: 1000, kind: Data, flags: Coff { characteristics: c0500040 } }
3: Section { name: ".rdata", address: 140009000, size: 1000, align: 1000, kind: ReadOnlyData, flags: Coff { characteristics: 40600040 } }
4: Section { name: ".pdata", address: 14000a000, size: 474, align: 1000, kind: ReadOnlyData, flags: Coff { characteristics: 40300040 } }
5: Section { name: ".xdata", address: 14000b000, size: 428, align: 1000, kind: ReadOnlyData, flags: Coff { characteristics: 40300040 } }
6: Section { name: ".bss", address: 14000c000, size: b80, align: 1000, kind: UninitializedData, flags: Coff { characteristics: c0600080 } }
7: Section { name: ".idata", address: 14000d000, size: 710, align: 1000, kind: Data, flags: Coff { characteristics: c0300040 } }
8: Section { name: ".CRT", address: 14000e000, size: 60, align: 1000, kind: Data, flags: Coff { characteristics: c0400040 } }
9: Section { name: ".tls", address: 14000f000, size: 10, align: 1000, kind: Data, flags: Coff { characteristics: c0400040 } }
10: Section { name: ".rsrc", address: 140010000, size: 4e8, align: 1000, kind: Data, flags: Coff { characteristics: c0300040 } }
11: Section { name: ".reloc", address: 140011000, size: 84, align: 1000, kind: Other, flags: Coff { characteristics: 42300040 } }
12: Section { name: ".debug_aranges", address: 140012000, size: 6a0, align: 1000, kind: Other, flags: Coff { characteristics: 42500040 } }
13: Section { name: ".debug_info", address: 140013000, size: 12b4c, align: 1000, kind: Other, flags: Coff { characteristics: 42100040 } }
14: Section { name: ".debug_abbrev", address: 140026000, size: 3035, align: 1000, kind: Other, flags: Coff { characteristics: 42100040 } }
15: Section { name: ".debug_line", address: 14002a000, size: 7c26, align: 1000, kind: Other, flags: Coff { characteristics: 42100040 } }
16: Section { name: ".debug_frame", address: 140032000, size: 2198, align: 1000, kind: Other, flags: Coff { characteristics: 42400040 } }
17: Section { name: ".debug_str", address: 140035000, size: 87d, align: 1000, kind: Other, flags: Coff { characteristics: 42100040 } }
18: Section { name: ".debug_loc", address: 140036000, size: 121dc, align: 1000, kind: Other, flags: Coff { characteristics: 42100040 } }
19: Section { name: ".debug_ranges", address: 140049000, size: 14f0, align: 1000, kind: Other, flags: Coff { characteristics: 42100040 } }
1: Section { name: ".text", address: 140001000, size: 6bf8, align: 1000, kind: Text, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_CODE | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".data", address: 140008000, size: f0, align: 1000, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
3: Section { name: ".rdata", address: 140009000, size: 1000, align: 1000, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_32BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
4: Section { name: ".pdata", address: 14000a000, size: 474, align: 1000, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
5: Section { name: ".xdata", address: 14000b000, size: 428, align: 1000, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
6: Section { name: ".bss", address: 14000c000, size: b80, align: 1000, kind: UninitializedData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_32BYTES | IMAGE_SCN_CNT_UNINITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
7: Section { name: ".idata", address: 14000d000, size: 710, align: 1000, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
8: Section { name: ".CRT", address: 14000e000, size: 60, align: 1000, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_8BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
9: Section { name: ".tls", address: 14000f000, size: 10, align: 1000, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_8BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
10: Section { name: ".rsrc", address: 140010000, size: 4e8, align: 1000, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
11: Section { name: ".reloc", address: 140011000, size: 84, align: 1000, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
12: Section { name: ".debug_aranges", address: 140012000, size: 6a0, align: 1000, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
13: Section { name: ".debug_info", address: 140013000, size: 12b4c, align: 1000, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
14: Section { name: ".debug_abbrev", address: 140026000, size: 3035, align: 1000, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
15: Section { name: ".debug_line", address: 14002a000, size: 7c26, align: 1000, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
16: Section { name: ".debug_frame", address: 140032000, size: 2198, align: 1000, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_8BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
17: Section { name: ".debug_str", address: 140035000, size: 87d, align: 1000, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
18: Section { name: ".debug_loc", address: 140036000, size: 121dc, align: 1000, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
19: Section { name: ".debug_ranges", address: 140049000, size: 14f0, align: 1000, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
Symbols
0: Symbol { name: "crtexe.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 67 } }
2: Symbol { name: "__mingw_invalidParameterHandler", address: 140001000, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Coff { typ: 20, storage_class: 3 } }
4: Symbol { name: "pre_c_init", address: 140001010, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Coff { typ: 20, storage_class: 3 } }
5: Symbol { name: ".rdata$.refptr.__mingw_initltsdrot_force", address: 140009740, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
7: Symbol { name: ".rdata$.refptr.__mingw_initltsdyn_force", address: 140009750, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
9: Symbol { name: ".rdata$.refptr.__mingw_initltssuo_force", address: 140009760, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
11: Symbol { name: ".rdata$.refptr.__image_base__", address: 1400096e0, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
13: Symbol { name: ".rdata$.refptr.__mingw_app_type", address: 140009730, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
15: Symbol { name: "managedapp", address: 14000c020, size: 0, kind: Data, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
16: Symbol { name: ".rdata$.refptr._fmode", address: 140009810, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
18: Symbol { name: ".rdata$.refptr._commode", address: 1400097f0, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
20: Symbol { name: ".rdata$.refptr._MINGW_INSTALL_DEBUG_MATHERR", address: 140009690, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
22: Symbol { name: "pre_cpp_init", address: 140001130, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Coff { typ: 20, storage_class: 3 } }
23: Symbol { name: ".rdata$.refptr._newmode", address: 140009840, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
25: Symbol { name: "envp", address: 14000c028, size: 0, kind: Data, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
26: Symbol { name: "argv", address: 14000c030, size: 0, kind: Data, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
27: Symbol { name: "argc", address: 14000c038, size: 0, kind: Data, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
28: Symbol { name: "startinfo", address: 14000c018, size: 0, kind: Data, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
29: Symbol { name: ".rdata$.refptr._dowildcard", address: 140009800, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
0: Symbol { name: "crtexe.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_FILE } }
2: Symbol { name: "__mingw_invalidParameterHandler", address: 140001000, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_STATIC } }
4: Symbol { name: "pre_c_init", address: 140001010, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_STATIC } }
5: Symbol { name: ".rdata$.refptr.__mingw_initltsdrot_force", address: 140009740, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
7: Symbol { name: ".rdata$.refptr.__mingw_initltsdyn_force", address: 140009750, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
9: Symbol { name: ".rdata$.refptr.__mingw_initltssuo_force", address: 140009760, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
11: Symbol { name: ".rdata$.refptr.__image_base__", address: 1400096e0, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
13: Symbol { name: ".rdata$.refptr.__mingw_app_type", address: 140009730, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
15: Symbol { name: "managedapp", address: 14000c020, size: 0, kind: Data, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
16: Symbol { name: ".rdata$.refptr._fmode", address: 140009810, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
18: Symbol { name: ".rdata$.refptr._commode", address: 1400097f0, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
20: Symbol { name: ".rdata$.refptr._MINGW_INSTALL_DEBUG_MATHERR", address: 140009690, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
22: Symbol { name: "pre_cpp_init", address: 140001130, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_STATIC } }
23: Symbol { name: ".rdata$.refptr._newmode", address: 140009840, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
25: Symbol { name: "envp", address: 14000c028, size: 0, kind: Data, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
26: Symbol { name: "argv", address: 14000c030, size: 0, kind: Data, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
27: Symbol { name: "argc", address: 14000c038, size: 0, kind: Data, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
28: Symbol { name: "startinfo", address: 14000c018, size: 0, kind: Data, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
29: Symbol { name: ".rdata$.refptr._dowildcard", address: 140009800, size: 8, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
Dynamic symbols
@@ -159,11 +159,11 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x60500060
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_CODE (0x20)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_EXECUTE (0x20000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSectionHeader {
Index: 2
@@ -177,10 +177,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0500040
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSectionHeader {
Index: 3
@@ -194,9 +194,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x40600040
IMAGE_SCN_ALIGN_32BYTES (0x600000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_32BYTES (0x600000)
}
ImageSectionHeader {
Index: 4
@@ -210,9 +210,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x40300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
}
ImageSectionHeader {
Index: 5
@@ -226,9 +226,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x40300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
}
ImageSectionHeader {
Index: 6
@@ -242,10 +242,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0600080
IMAGE_SCN_ALIGN_32BYTES (0x600000)
IMAGE_SCN_CNT_UNINITIALIZED_DATA (0x80)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_32BYTES (0x600000)
}
ImageSectionHeader {
Index: 7
@@ -259,10 +259,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
}
ImageSectionHeader {
Index: 8
@@ -276,10 +276,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0400040
IMAGE_SCN_ALIGN_8BYTES (0x400000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_8BYTES (0x400000)
}
ImageSectionHeader {
Index: 9
@@ -293,10 +293,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0400040
IMAGE_SCN_ALIGN_8BYTES (0x400000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_8BYTES (0x400000)
}
ImageSectionHeader {
Index: 10
@@ -310,10 +310,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
}
ImageSectionHeader {
Index: 11
@@ -327,10 +327,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x42300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_DISCARDABLE (0x2000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
}
ImageSectionHeader {
Index: 12
@@ -344,10 +344,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x42500040
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_DISCARDABLE (0x2000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSectionHeader {
Index: 13
@@ -361,10 +361,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x42100040
IMAGE_SCN_ALIGN_1BYTES (0x100000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_DISCARDABLE (0x2000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_1BYTES (0x100000)
}
ImageSectionHeader {
Index: 14
@@ -378,10 +378,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x42100040
IMAGE_SCN_ALIGN_1BYTES (0x100000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_DISCARDABLE (0x2000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_1BYTES (0x100000)
}
ImageSectionHeader {
Index: 15
@@ -395,10 +395,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x42100040
IMAGE_SCN_ALIGN_1BYTES (0x100000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_DISCARDABLE (0x2000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_1BYTES (0x100000)
}
ImageSectionHeader {
Index: 16
@@ -412,10 +412,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x42400040
IMAGE_SCN_ALIGN_8BYTES (0x400000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_DISCARDABLE (0x2000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_8BYTES (0x400000)
}
ImageSectionHeader {
Index: 17
@@ -429,10 +429,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x42100040
IMAGE_SCN_ALIGN_1BYTES (0x100000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_DISCARDABLE (0x2000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_1BYTES (0x100000)
}
ImageSectionHeader {
Index: 18
@@ -446,10 +446,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x42100040
IMAGE_SCN_ALIGN_1BYTES (0x100000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_DISCARDABLE (0x2000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_1BYTES (0x100000)
}
ImageSectionHeader {
Index: 19
@@ -463,10 +463,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x42100040
IMAGE_SCN_ALIGN_1BYTES (0x100000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_DISCARDABLE (0x2000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_1BYTES (0x100000)
}
ImageSymbol {
Index: 0
@@ -474,8 +474,6 @@ ImageSymbol {
Value: 0x5F
Section: IMAGE_SYM_DEBUG (-2)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_FILE (0x67)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolFile {
@@ -487,9 +485,7 @@ ImageSymbol {
Name: "__mingw_invalidParameterHandler"
Value: 0x0
Section: ".text" (0x1)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolFunction {
@@ -505,9 +501,7 @@ ImageSymbol {
Name: "pre_c_init"
Value: 0x10
Section: ".text" (0x1)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -517,8 +511,6 @@ ImageSymbol {
Value: 0x740
Section: ".rdata" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -538,8 +530,6 @@ ImageSymbol {
Value: 0x750
Section: ".rdata" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -559,8 +549,6 @@ ImageSymbol {
Value: 0x760
Section: ".rdata" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -580,8 +568,6 @@ ImageSymbol {
Value: 0x6E0
Section: ".rdata" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -601,8 +587,6 @@ ImageSymbol {
Value: 0x730
Section: ".rdata" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -622,8 +606,6 @@ ImageSymbol {
Value: 0x20
Section: ".bss" (0x6)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -633,8 +615,6 @@ ImageSymbol {
Value: 0x810
Section: ".rdata" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -654,8 +634,6 @@ ImageSymbol {
Value: 0x7F0
Section: ".rdata" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -675,8 +653,6 @@ ImageSymbol {
Value: 0x690
Section: ".rdata" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -695,9 +671,7 @@ ImageSymbol {
Name: "pre_cpp_init"
Value: 0x130
Section: ".text" (0x1)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -707,8 +681,6 @@ ImageSymbol {
Value: 0x840
Section: ".rdata" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -728,8 +700,6 @@ ImageSymbol {
Value: 0x28
Section: ".bss" (0x6)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -739,8 +709,6 @@ ImageSymbol {
Value: 0x30
Section: ".bss" (0x6)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -750,8 +718,6 @@ ImageSymbol {
Value: 0x38
Section: ".bss" (0x6)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -761,8 +727,6 @@ ImageSymbol {
Value: 0x18
Section: ".bss" (0x6)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -772,8 +736,6 @@ ImageSymbol {
Value: 0x800
Section: ".rdata" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -792,9 +754,7 @@ ImageSymbol {
Name: "__tmainCRTStartup"
Value: 0x180
Section: ".text" (0x1)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -1,17 +1,17 @@
Format: Pe Little-endian 32-bit
Kind: Executable
Architecture: I386
Flags: Coff { characteristics: 102 }
Flags: Coff { characteristics: IMAGE_FILE_EXECUTABLE_IMAGE | IMAGE_FILE_32BIT_MACHINE }
Relative Address Base: 400000
Entry Address: 4012e1
Segment { name: ".text", address: 401000, size: 104d3, permissions: R-X }
Segment { name: ".rdata", address: 412000, size: 6808, permissions: R-- }
Segment { name: ".data", address: 419000, size: 12f4, permissions: RW- }
Segment { name: ".reloc", address: 41b000, size: ec8, permissions: R-- }
1: Section { name: ".text", address: 401000, size: 104d3, align: 1000, kind: Text, flags: Coff { characteristics: 60000020 } }
2: Section { name: ".rdata", address: 412000, size: 6808, align: 1000, kind: ReadOnlyData, flags: Coff { characteristics: 40000040 } }
3: Section { name: ".data", address: 419000, size: 12f4, align: 1000, kind: Data, flags: Coff { characteristics: c0000040 } }
4: Section { name: ".reloc", address: 41b000, size: ec8, align: 1000, kind: Other, flags: Coff { characteristics: 42000040 } }
1: Section { name: ".text", address: 401000, size: 104d3, align: 1000, kind: Text, flags: Coff { characteristics: IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".rdata", address: 412000, size: 6808, align: 1000, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
3: Section { name: ".data", address: 419000, size: 12f4, align: 1000, kind: Data, flags: Coff { characteristics: IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
4: Section { name: ".reloc", address: 41b000, size: ec8, align: 1000, kind: Other, flags: Coff { characteristics: IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
Symbols
+21 -21
View File
@@ -1,7 +1,7 @@
Format: Coff Little-endian 32-bit
Kind: Relocatable
Architecture: X86_64
Flags: Coff { characteristics: 4 }
Flags: Coff { characteristics: IMAGE_FILE_LINE_NUMS_STRIPPED }
Relative Address Base: 0
Entry Address: 0
Segment { name: ".text", address: 0, size: 0, permissions: R-X }
@@ -11,28 +11,28 @@ Segment { name: ".xdata", address: 0, size: 0, permissions: R-- }
Segment { name: ".pdata", address: 0, size: 0, permissions: R-- }
Segment { name: ".rdata", address: 0, size: 0, permissions: R-- }
Segment { name: ".rdata$zzz", address: 0, size: 0, permissions: R-- }
1: Section { name: ".text", address: 0, size: 80, align: 10, kind: Text, flags: Coff { characteristics: 60500020 } }
2: Section { name: ".data", address: 0, size: 0, align: 10, kind: Data, flags: Coff { characteristics: c0500040 } }
3: Section { name: ".bss", address: 0, size: 0, align: 10, kind: UninitializedData, flags: Coff { characteristics: c0500080 } }
4: Section { name: ".xdata", address: 0, size: 18, align: 4, kind: ReadOnlyData, flags: Coff { characteristics: 40300040 } }
5: Section { name: ".pdata", address: 0, size: 18, align: 4, kind: ReadOnlyData, flags: Coff { characteristics: 40300040 } }
6: Section { name: ".rdata", address: 0, size: 10, align: 10, kind: ReadOnlyData, flags: Coff { characteristics: 40500040 } }
7: Section { name: ".rdata$zzz", address: 0, size: 30, align: 10, kind: ReadOnlyData, flags: Coff { characteristics: 40500040 } }
1: Section { name: ".text", address: 0, size: 80, align: 10, kind: Text, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".data", address: 0, size: 0, align: 10, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
3: Section { name: ".bss", address: 0, size: 0, align: 10, kind: UninitializedData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_UNINITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
4: Section { name: ".xdata", address: 0, size: 18, align: 4, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
5: Section { name: ".pdata", address: 0, size: 18, align: 4, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
6: Section { name: ".rdata", address: 0, size: 10, align: 10, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
7: Section { name: ".rdata$zzz", address: 0, size: 30, align: 10, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
Symbols
0: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 67 } }
2: Symbol { name: "printf", address: 0, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Coff { typ: 20, storage_class: 3 } }
4: Symbol { name: "main", address: 51, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
5: Symbol { name: ".text", address: 0, size: 75, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
7: Symbol { name: ".data", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
9: Symbol { name: ".bss", address: 0, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
11: Symbol { name: ".xdata", address: 0, size: 18, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
13: Symbol { name: ".pdata", address: 0, size: 18, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
15: Symbol { name: ".rdata", address: 0, size: d, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
17: Symbol { name: ".rdata$zzz", address: 0, size: 2b, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
19: Symbol { name: "__imp___acrt_iob_func", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
20: Symbol { name: "__main", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
21: Symbol { name: "__mingw_vfprintf", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
0: Symbol { name: "base.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_FILE } }
2: Symbol { name: "printf", address: 0, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_STATIC } }
4: Symbol { name: "main", address: 51, size: 0, kind: Text, section: Section(SectionIndex(1)), scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
5: Symbol { name: ".text", address: 0, size: 75, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
7: Symbol { name: ".data", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
9: Symbol { name: ".bss", address: 0, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
11: Symbol { name: ".xdata", address: 0, size: 18, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
13: Symbol { name: ".pdata", address: 0, size: 18, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
15: Symbol { name: ".rdata", address: 0, size: d, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
17: Symbol { name: ".rdata$zzz", address: 0, size: 2b, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
19: Symbol { name: "__imp___acrt_iob_func", address: 0, size: 0, kind: Data, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
20: Symbol { name: "__main", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
21: Symbol { name: "__mingw_vfprintf", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
.text relocations
(2f, Relocation { kind: Relative, encoding: Generic, size: 20, target: Symbol(SymbolIndex(13)), addend: fffffffffffffffc, implicit_addend: true, flags: Coff { typ: 4 } })
+12 -39
View File
@@ -6,8 +6,7 @@ ImageFileHeader {
PointerToSymbolTable: 0x280
NumberOfSymbols: 22
SizeOfOptionalHeader: 0x0
Characteristics: 0x4
IMAGE_FILE_LINE_NUMS_STRIPPED (0x4)
Characteristics: IMAGE_FILE_LINE_NUMS_STRIPPED (0x4)
}
ImageSectionHeader {
Index: 1
@@ -21,10 +20,10 @@ ImageSectionHeader {
NumberOfRelocations: 4
NumberOfLinenumbers: 0
Characteristics: 0x60500020
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_CODE (0x20)
IMAGE_SCN_MEM_EXECUTE (0x20000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
ImageRelocation {
VirtualAddress: 0x2F
Symbol: "__imp___acrt_iob_func" (0x13)
@@ -58,10 +57,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0500040
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSectionHeader {
Index: 3
@@ -75,10 +74,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0500080
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_UNINITIALIZED_DATA (0x80)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSectionHeader {
Index: 4
@@ -92,9 +91,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x40300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
}
ImageSectionHeader {
Index: 5
@@ -108,9 +107,9 @@ ImageSectionHeader {
NumberOfRelocations: 6
NumberOfLinenumbers: 0
Characteristics: 0x40300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
ImageRelocation {
VirtualAddress: 0x0
Symbol: ".text" (0x5)
@@ -154,9 +153,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x40500040
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSectionHeader {
Index: 7
@@ -170,9 +169,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x40500040
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSymbol {
Index: 0
@@ -180,8 +179,6 @@ ImageSymbol {
Value: 0x0
Section: IMAGE_SYM_DEBUG (-2)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_FILE (0x67)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolFile {
@@ -193,9 +190,7 @@ ImageSymbol {
Name: "printf"
Value: 0x0
Section: ".text" (0x1)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolFunction {
@@ -211,9 +206,7 @@ ImageSymbol {
Name: "main"
Value: 0x51
Section: ".text" (0x1)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -223,8 +216,6 @@ ImageSymbol {
Value: 0x0
Section: ".text" (0x1)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -244,8 +235,6 @@ ImageSymbol {
Value: 0x0
Section: ".data" (0x2)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -265,8 +254,6 @@ ImageSymbol {
Value: 0x0
Section: ".bss" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -286,8 +273,6 @@ ImageSymbol {
Value: 0x0
Section: ".xdata" (0x4)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -307,8 +292,6 @@ ImageSymbol {
Value: 0x0
Section: ".pdata" (0x5)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -328,8 +311,6 @@ ImageSymbol {
Value: 0x0
Section: ".rdata" (0x6)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -349,8 +330,6 @@ ImageSymbol {
Value: 0x0
Section: ".rdata$zzz" (0x7)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -370,8 +349,6 @@ ImageSymbol {
Value: 0x0
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -380,9 +357,7 @@ ImageSymbol {
Name: "__main"
Value: 0x0
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -391,9 +366,7 @@ ImageSymbol {
Name: "__mingw_vfprintf"
Value: 0x0
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
+26 -26
View File
@@ -12,37 +12,37 @@ Segment { name: ".text$mn", address: 0, size: 0, permissions: R-X }
Segment { name: ".text$mn", address: 0, size: 0, permissions: R-X }
Segment { name: ".data", address: 0, size: 0, permissions: RW- }
Segment { name: ".chks64", address: 0, size: 0, permissions: --- }
1: Section { name: ".drectve", address: 0, size: 2f, align: 1, kind: Linker, flags: Coff { characteristics: 100a00 } }
2: Section { name: ".debug$S", address: 0, size: 7c, align: 1, kind: Other, flags: Coff { characteristics: 42100040 } }
3: Section { name: ".text$mn", address: 0, size: 14, align: 10, kind: Text, flags: Coff { characteristics: 60500020 } }
4: Section { name: ".text$mn", address: 0, size: a, align: 10, kind: Text, flags: Coff { characteristics: 60501020 } }
5: Section { name: ".text$mn", address: 0, size: 29, align: 10, kind: Text, flags: Coff { characteristics: 60501020 } }
6: Section { name: ".text$mn", address: 0, size: 3a, align: 10, kind: Text, flags: Coff { characteristics: 60501020 } }
7: Section { name: ".data", address: 0, size: d, align: 4, kind: Data, flags: Coff { characteristics: c0300040 } }
8: Section { name: ".chks64", address: 0, size: 40, align: 10, kind: Linker, flags: Coff { characteristics: a00 } }
1: Section { name: ".drectve", address: 0, size: 2f, align: 1, kind: Linker, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_LNK_INFO | IMAGE_SCN_LNK_REMOVE } }
2: Section { name: ".debug$S", address: 0, size: 7c, align: 1, kind: Other, flags: Coff { characteristics: IMAGE_SCN_ALIGN_1BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_MEM_READ } }
3: Section { name: ".text$mn", address: 0, size: 14, align: 10, kind: Text, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
4: Section { name: ".text$mn", address: 0, size: a, align: 10, kind: Text, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_CODE | IMAGE_SCN_LNK_COMDAT | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
5: Section { name: ".text$mn", address: 0, size: 29, align: 10, kind: Text, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_CODE | IMAGE_SCN_LNK_COMDAT | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
6: Section { name: ".text$mn", address: 0, size: 3a, align: 10, kind: Text, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_CODE | IMAGE_SCN_LNK_COMDAT | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
7: Section { name: ".data", address: 0, size: d, align: 4, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
8: Section { name: ".chks64", address: 0, size: 40, align: 10, kind: Linker, flags: Coff { characteristics: IMAGE_SCN_LNK_INFO | IMAGE_SCN_LNK_REMOVE } }
Comdat { symbol: SymbolIndex(14), name: "___local_stdio_printf_options", kind: Any } Sections: 4
Comdat { symbol: SymbolIndex(17), name: "__vfprintf_l", kind: Any } Sections: 5
Comdat { symbol: SymbolIndex(18), name: "_printf", kind: Any } Sections: 6
Symbols
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
1: Symbol { name: "@feat.00", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
2: Symbol { name: ".drectve", address: 0, size: 2f, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
4: Symbol { name: ".debug$S", address: 0, size: 7c, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
6: Symbol { name: ".text$mn", address: 0, size: 14, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
8: Symbol { name: ".text$mn", address: 0, size: a, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
10: Symbol { name: ".text$mn", address: 0, size: 29, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
12: Symbol { name: ".text$mn", address: 0, size: 3a, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 2, associative_section: None } }
14: Symbol { name: "___local_stdio_printf_options", address: 0, size: 0, kind: Text, section: Section(SectionIndex(4)), scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
15: Symbol { name: "___acrt_iob_func", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
16: Symbol { name: "___stdio_common_vfprintf", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
17: Symbol { name: "__vfprintf_l", address: 0, size: 0, kind: Text, section: Section(SectionIndex(5)), scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
18: Symbol { name: "_printf", address: 0, size: 0, kind: Text, section: Section(SectionIndex(6)), scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
19: Symbol { name: "_main", address: 0, size: 0, kind: Text, section: Section(SectionIndex(3)), scope: Linkage, weak: false, flags: Coff { typ: 20, storage_class: 2 } }
20: Symbol { name: "?_OptionsStorage@?1??__local_stdio_printf_options@@9@9", address: 0, size: 8, kind: Data, section: Common, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
21: Symbol { name: ".data", address: 0, size: d, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
23: Symbol { name: "$SG9248", address: 0, size: 0, kind: Data, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 3 } }
24: Symbol { name: ".chks64", address: 0, size: 40, kind: Section, section: Section(SectionIndex(8)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
0: Symbol { name: "@comp.id", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
1: Symbol { name: "@feat.00", address: 0, size: 0, kind: Data, section: Absolute, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
2: Symbol { name: ".drectve", address: 0, size: 2f, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
4: Symbol { name: ".debug$S", address: 0, size: 7c, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
6: Symbol { name: ".text$mn", address: 0, size: 14, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
8: Symbol { name: ".text$mn", address: 0, size: a, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
10: Symbol { name: ".text$mn", address: 0, size: 29, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
12: Symbol { name: ".text$mn", address: 0, size: 3a, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: IMAGE_COMDAT_SELECT_ANY, associative_section: None } }
14: Symbol { name: "___local_stdio_printf_options", address: 0, size: 0, kind: Text, section: Section(SectionIndex(4)), scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
15: Symbol { name: "___acrt_iob_func", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
16: Symbol { name: "___stdio_common_vfprintf", address: 0, size: 0, kind: Text, section: Undefined, scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
17: Symbol { name: "__vfprintf_l", address: 0, size: 0, kind: Text, section: Section(SectionIndex(5)), scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
18: Symbol { name: "_printf", address: 0, size: 0, kind: Text, section: Section(SectionIndex(6)), scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
19: Symbol { name: "_main", address: 0, size: 0, kind: Text, section: Section(SectionIndex(3)), scope: Linkage, weak: false, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
20: Symbol { name: "?_OptionsStorage@?1??__local_stdio_printf_options@@9@9", address: 0, size: 8, kind: Data, section: Common, scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
21: Symbol { name: ".data", address: 0, size: d, kind: Section, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
23: Symbol { name: "$SG9248", address: 0, size: 0, kind: Data, section: Section(SectionIndex(7)), scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC } }
24: Symbol { name: ".chks64", address: 0, size: 40, kind: Section, section: Section(SectionIndex(8)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
.text$mn relocations
(4, Relocation { kind: Absolute, encoding: Generic, size: 20, target: Symbol(SymbolIndex(17)), addend: 0, implicit_addend: true, flags: Coff { typ: 6 } })
+13 -49
View File
@@ -20,9 +20,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x100A00
IMAGE_SCN_ALIGN_1BYTES (0x100000)
IMAGE_SCN_LNK_INFO (0x200)
IMAGE_SCN_LNK_REMOVE (0x800)
IMAGE_SCN_ALIGN_1BYTES (0x100000)
}
ImageSectionHeader {
Index: 2
@@ -36,10 +36,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x42100040
IMAGE_SCN_ALIGN_1BYTES (0x100000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_DISCARDABLE (0x2000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_1BYTES (0x100000)
}
ImageSectionHeader {
Index: 3
@@ -53,10 +53,10 @@ ImageSectionHeader {
NumberOfRelocations: 2
NumberOfLinenumbers: 0
Characteristics: 0x60500020
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_CODE (0x20)
IMAGE_SCN_MEM_EXECUTE (0x20000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
ImageRelocation {
VirtualAddress: 0x4
Symbol: "$SG9248" (0x17)
@@ -80,11 +80,11 @@ ImageSectionHeader {
NumberOfRelocations: 1
NumberOfLinenumbers: 0
Characteristics: 0x60501020
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_CODE (0x20)
IMAGE_SCN_LNK_COMDAT (0x1000)
IMAGE_SCN_MEM_EXECUTE (0x20000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
ImageRelocation {
VirtualAddress: 0x4
Symbol: "?_OptionsStorage@?1??__local_stdio_printf_options@@9@9" (0x14)
@@ -103,11 +103,11 @@ ImageSectionHeader {
NumberOfRelocations: 2
NumberOfLinenumbers: 0
Characteristics: 0x60501020
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_CODE (0x20)
IMAGE_SCN_LNK_COMDAT (0x1000)
IMAGE_SCN_MEM_EXECUTE (0x20000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
ImageRelocation {
VirtualAddress: 0x14
Symbol: "___local_stdio_printf_options" (0xE)
@@ -131,11 +131,11 @@ ImageSectionHeader {
NumberOfRelocations: 2
NumberOfLinenumbers: 0
Characteristics: 0x60501020
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_CODE (0x20)
IMAGE_SCN_LNK_COMDAT (0x1000)
IMAGE_SCN_MEM_EXECUTE (0x20000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
ImageRelocation {
VirtualAddress: 0x19
Symbol: "___acrt_iob_func" (0xF)
@@ -159,10 +159,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
}
ImageSectionHeader {
Index: 8
@@ -185,8 +185,6 @@ ImageSymbol {
Value: 0x1047556
Section: IMAGE_SYM_ABSOLUTE (-1)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -196,8 +194,6 @@ ImageSymbol {
Value: 0x80010191
Section: IMAGE_SYM_ABSOLUTE (-1)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -207,8 +203,6 @@ ImageSymbol {
Value: 0x0
Section: ".drectve" (0x1)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -228,8 +222,6 @@ ImageSymbol {
Value: 0x0
Section: ".debug$S" (0x2)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -249,8 +241,6 @@ ImageSymbol {
Value: 0x0
Section: ".text$mn" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -270,8 +260,6 @@ ImageSymbol {
Value: 0x0
Section: ".text$mn" (0x4)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -291,8 +279,6 @@ ImageSymbol {
Value: 0x0
Section: ".text$mn" (0x5)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -312,8 +298,6 @@ ImageSymbol {
Value: 0x0
Section: ".text$mn" (0x6)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -332,9 +316,7 @@ ImageSymbol {
Name: "___local_stdio_printf_options"
Value: 0x0
Section: ".text$mn" (0x4)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -343,9 +325,7 @@ ImageSymbol {
Name: "___acrt_iob_func"
Value: 0x0
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -354,9 +334,7 @@ ImageSymbol {
Name: "___stdio_common_vfprintf"
Value: 0x0
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -365,9 +343,7 @@ ImageSymbol {
Name: "__vfprintf_l"
Value: 0x0
Section: ".text$mn" (0x5)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -376,9 +352,7 @@ ImageSymbol {
Name: "_printf"
Value: 0x0
Section: ".text$mn" (0x6)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -387,9 +361,7 @@ ImageSymbol {
Name: "_main"
Value: 0x0
Section: ".text$mn" (0x3)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -399,8 +371,6 @@ ImageSymbol {
Value: 0x8
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -410,8 +380,6 @@ ImageSymbol {
Value: 0x0
Section: ".data" (0x7)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -431,8 +399,6 @@ ImageSymbol {
Value: 0x0
Section: ".data" (0x7)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x0
}
@@ -442,8 +408,6 @@ ImageSymbol {
Value: 0x0
Section: ".chks64" (0x8)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -1,7 +1,7 @@
Format: Coff Little-endian 32-bit
Kind: Relocatable
Architecture: X86_64
Flags: Coff { characteristics: 4 }
Flags: Coff { characteristics: IMAGE_FILE_LINE_NUMS_STRIPPED }
Relative Address Base: 0
Entry Address: 0
Segment { name: ".text", address: 0, size: 0, permissions: R-X }
@@ -10,23 +10,23 @@ Segment { name: ".bss", address: 0, size: 0, permissions: RW- }
Segment { name: ".xdata", address: 0, size: 0, permissions: R-- }
Segment { name: ".pdata", address: 0, size: 0, permissions: R-- }
Segment { name: ".rdata$zzz", address: 0, size: 0, permissions: R-- }
1: Section { name: ".text", address: 0, size: 10, align: 10, kind: Text, flags: Coff { characteristics: 60500020 } }
2: Section { name: ".data", address: 0, size: 0, align: 10, kind: Data, flags: Coff { characteristics: c0500040 } }
3: Section { name: ".bss", address: 0, size: 0, align: 10, kind: UninitializedData, flags: Coff { characteristics: c0500080 } }
4: Section { name: ".xdata", address: 0, size: 8, align: 4, kind: ReadOnlyData, flags: Coff { characteristics: 40300040 } }
5: Section { name: ".pdata", address: 0, size: c, align: 4, kind: ReadOnlyData, flags: Coff { characteristics: 40300040 } }
6: Section { name: ".rdata$zzz", address: 0, size: 40, align: 10, kind: ReadOnlyData, flags: Coff { characteristics: 40500040 } }
1: Section { name: ".text", address: 0, size: 10, align: 10, kind: Text, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_CODE | IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_MEM_READ } }
2: Section { name: ".data", address: 0, size: 0, align: 10, kind: Data, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
3: Section { name: ".bss", address: 0, size: 0, align: 10, kind: UninitializedData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_UNINITIALIZED_DATA | IMAGE_SCN_MEM_READ | IMAGE_SCN_MEM_WRITE } }
4: Section { name: ".xdata", address: 0, size: 8, align: 4, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
5: Section { name: ".pdata", address: 0, size: c, align: 4, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_4BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
6: Section { name: ".rdata$zzz", address: 0, size: 40, align: 10, kind: ReadOnlyData, flags: Coff { characteristics: IMAGE_SCN_ALIGN_16BYTES | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_READ } }
Symbols
0: Symbol { name: "weak-extern.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: 67 } }
2: Symbol { name: ".text", address: 0, size: 7, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
4: Symbol { name: ".data", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
6: Symbol { name: ".bss", address: 0, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
8: Symbol { name: ".xdata", address: 0, size: 8, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
10: Symbol { name: ".pdata", address: 0, size: c, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
12: Symbol { name: ".rdata$zzz", address: 0, size: 38, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: 3, selection: 0, associative_section: None } }
14: Symbol { name: ".weak.weak_symbol.", address: 0, size: 0, kind: Data, section: Section(SectionIndex(1)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: 2 } }
15: Symbol { name: "weak_symbol", address: 0, size: 0, kind: Text, section: Unknown, scope: Linkage, weak: true, flags: Coff { typ: 20, storage_class: 69 } }
0: Symbol { name: "weak-extern.c", address: 0, size: 0, kind: File, section: None, scope: Compilation, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_FILE } }
2: Symbol { name: ".text", address: 0, size: 7, kind: Section, section: Section(SectionIndex(1)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
4: Symbol { name: ".data", address: 0, size: 0, kind: Section, section: Section(SectionIndex(2)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
6: Symbol { name: ".bss", address: 0, size: 0, kind: Section, section: Section(SectionIndex(3)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
8: Symbol { name: ".xdata", address: 0, size: 8, kind: Section, section: Section(SectionIndex(4)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
10: Symbol { name: ".pdata", address: 0, size: c, kind: Section, section: Section(SectionIndex(5)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
12: Symbol { name: ".rdata$zzz", address: 0, size: 38, kind: Section, section: Section(SectionIndex(6)), scope: Compilation, weak: false, flags: CoffSection { typ: 0, storage_class: IMAGE_SYM_CLASS_STATIC, selection: 0, associative_section: None } }
14: Symbol { name: ".weak.weak_symbol.", address: 0, size: 0, kind: Data, section: Section(SectionIndex(1)), scope: Linkage, weak: false, flags: Coff { typ: 0, storage_class: IMAGE_SYM_CLASS_EXTERNAL } }
15: Symbol { name: "weak_symbol", address: 0, size: 0, kind: Text, section: Unknown, scope: Linkage, weak: true, flags: Coff { typ: IMAGE_SYM_DTYPE_FUNCTION, storage_class: IMAGE_SYM_CLASS_WEAK_EXTERNAL } }
.pdata relocations
(0, Relocation { kind: ImageOffset, encoding: Generic, size: 20, target: Symbol(SymbolIndex(2)), addend: 0, implicit_addend: true, flags: Coff { typ: 3 } })
@@ -6,8 +6,7 @@ ImageFileHeader {
PointerToSymbolTable: 0x186
NumberOfSymbols: 17
SizeOfOptionalHeader: 0x0
Characteristics: 0x4
IMAGE_FILE_LINE_NUMS_STRIPPED (0x4)
Characteristics: IMAGE_FILE_LINE_NUMS_STRIPPED (0x4)
}
ImageSectionHeader {
Index: 1
@@ -21,10 +20,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x60500020
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_CODE (0x20)
IMAGE_SCN_MEM_EXECUTE (0x20000000)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSectionHeader {
Index: 2
@@ -38,10 +37,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0500040
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSectionHeader {
Index: 3
@@ -55,10 +54,10 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0xC0500080
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_UNINITIALIZED_DATA (0x80)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_MEM_WRITE (0x80000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSectionHeader {
Index: 4
@@ -72,9 +71,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x40300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
}
ImageSectionHeader {
Index: 5
@@ -88,9 +87,9 @@ ImageSectionHeader {
NumberOfRelocations: 3
NumberOfLinenumbers: 0
Characteristics: 0x40300040
IMAGE_SCN_ALIGN_4BYTES (0x300000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_4BYTES (0x300000)
ImageRelocation {
VirtualAddress: 0x0
Symbol: ".text" (0x2)
@@ -119,9 +118,9 @@ ImageSectionHeader {
NumberOfRelocations: 0
NumberOfLinenumbers: 0
Characteristics: 0x40500040
IMAGE_SCN_ALIGN_16BYTES (0x500000)
IMAGE_SCN_CNT_INITIALIZED_DATA (0x40)
IMAGE_SCN_MEM_READ (0x40000000)
IMAGE_SCN_ALIGN_16BYTES (0x500000)
}
ImageSymbol {
Index: 0
@@ -129,8 +128,6 @@ ImageSymbol {
Value: 0x0
Section: IMAGE_SYM_DEBUG (-2)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_FILE (0x67)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolFile {
@@ -143,8 +140,6 @@ ImageSymbol {
Value: 0x0
Section: ".text" (0x1)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -164,8 +159,6 @@ ImageSymbol {
Value: 0x0
Section: ".data" (0x2)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -185,8 +178,6 @@ ImageSymbol {
Value: 0x0
Section: ".bss" (0x3)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -206,8 +197,6 @@ ImageSymbol {
Value: 0x0
Section: ".xdata" (0x4)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -227,8 +216,6 @@ ImageSymbol {
Value: 0x0
Section: ".pdata" (0x5)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -248,8 +235,6 @@ ImageSymbol {
Value: 0x0
Section: ".rdata$zzz" (0x6)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_STATIC (0x3)
NumberOfAuxSymbols: 0x1
ImageAuxSymbolSection {
@@ -269,8 +254,6 @@ ImageSymbol {
Value: 0x0
Section: ".text" (0x1)
Type: 0x0
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_NULL (0x0)
StorageClass: IMAGE_SYM_CLASS_EXTERNAL (0x2)
NumberOfAuxSymbols: 0x0
}
@@ -279,9 +262,7 @@ ImageSymbol {
Name: "weak_symbol"
Value: 0x0
Section: IMAGE_SYM_UNDEFINED (0)
Type: 0x20
BaseType: IMAGE_SYM_TYPE_NULL (0x0)
DerivedType: IMAGE_SYM_DTYPE_FUNCTION (0x2)
Type: IMAGE_SYM_DTYPE_FUNCTION (0x20)
StorageClass: IMAGE_SYM_CLASS_WEAK_EXTERNAL (0x69)
NumberOfAuxSymbols: 0x1
ImageAuxWeak {
+8 -8
View File
@@ -495,7 +495,7 @@ pub enum FileFlags {
#[cfg(feature = "coff")]
Coff {
/// `Characteristics` field in the COFF file header.
characteristics: u16,
characteristics: crate::pe::FileFlags,
},
/// XCOFF file flags.
#[cfg(feature = "xcoff")]
@@ -533,7 +533,7 @@ pub enum SegmentFlags {
#[cfg(feature = "coff")]
Coff {
/// `Characteristics` field in the segment header.
characteristics: u32,
characteristics: crate::pe::SectionFlags,
},
}
@@ -630,7 +630,7 @@ pub enum SectionFlags {
#[cfg(feature = "coff")]
Coff {
/// `Characteristics` field in the section header.
characteristics: u32,
characteristics: crate::pe::SectionFlags,
},
/// XCOFF section flags.
#[cfg(feature = "xcoff")]
@@ -666,19 +666,19 @@ pub enum SymbolFlags<Section, Symbol> {
#[cfg(feature = "coff")]
Coff {
/// `Type` field in the COFF symbol.
typ: u16,
typ: crate::pe::SymbolType,
/// `StorageClass` field in the COFF symbol.
storage_class: u8,
storage_class: crate::pe::SymbolClass,
},
/// COFF flags for a section symbol with an auxiliary symbol.
#[cfg(feature = "coff")]
CoffSection {
/// `Type` field in the COFF symbol.
typ: u16,
typ: crate::pe::SymbolType,
/// `StorageClass` field in the COFF symbol.
storage_class: u8,
storage_class: crate::pe::SymbolClass,
/// `Selection` field in the auxiliary symbol for the section.
selection: u8,
selection: crate::pe::ComdatSelection,
/// `Number` field in the auxiliary symbol for the section.
associative_section: Option<Section>,
},
+831 -521
View File
File diff suppressed because it is too large Load Diff
+17 -11
View File
@@ -69,7 +69,8 @@ pub struct CoffComdat<
file: &'file CoffFile<'data, R, Coff>,
symbol_index: SymbolIndex,
symbol: &'data Coff::ImageSymbol,
selection: u8,
section_index: u32,
selection: pe::ComdatSelection,
}
impl<'data, 'file, R: ReadRef<'data>, Coff: CoffHeader> CoffComdat<'data, 'file, R, Coff> {
@@ -82,18 +83,20 @@ impl<'data, 'file, R: ReadRef<'data>, Coff: CoffHeader> CoffComdat<'data, 'file,
if !section_symbol.has_aux_section() {
return None;
}
// Must have a valid section index.
let section_number = section_symbol.section_number();
let section_index = section_number.index()?;
// Auxiliary record must have a non-associative selection.
let aux = file.common.symbols.aux_section(index).ok()?;
let selection = aux.selection;
if selection == 0 || selection == pe::IMAGE_COMDAT_SELECT_ASSOCIATIVE {
if selection == pe::ComdatSelection(0) || selection == pe::IMAGE_COMDAT_SELECT_ASSOCIATIVE {
return None;
}
// Find the COMDAT symbol.
let mut symbol_index = index;
let mut symbol = section_symbol;
let section_number = section_symbol.section_number();
loop {
symbol_index.0 += 1 + symbol.number_of_aux_symbols() as usize;
symbol = file.common.symbols.symbol(symbol_index).ok()?;
@@ -106,6 +109,7 @@ impl<'data, 'file, R: ReadRef<'data>, Coff: CoffHeader> CoffComdat<'data, 'file,
file,
symbol_index,
symbol,
section_index,
selection,
})
}
@@ -157,7 +161,7 @@ impl<'data, 'file, R: ReadRef<'data>, Coff: CoffHeader> ObjectComdat<'data>
fn sections(&self) -> Self::SectionIterator {
CoffComdatSectionIterator {
file: self.file,
section_number: self.symbol.section_number(),
section_index: self.section_index,
index: SymbolIndex(0),
}
}
@@ -176,7 +180,7 @@ pub struct CoffComdatSectionIterator<
Coff: CoffHeader = pe::ImageFileHeader,
> {
file: &'file CoffFile<'data, R, Coff>,
section_number: i32,
section_index: u32,
index: SymbolIndex,
}
@@ -198,7 +202,9 @@ impl<'data, 'file, R: ReadRef<'data>, Coff: CoffHeader> Iterator
continue;
}
let section_number = symbol.section_number();
let Some(section_index) = symbol.section_number().index() else {
continue;
};
let aux = self.file.common.symbols.aux_section(index).ok()?;
if aux.selection == pe::IMAGE_COMDAT_SELECT_ASSOCIATIVE {
@@ -207,12 +213,12 @@ impl<'data, 'file, R: ReadRef<'data>, Coff: CoffHeader> Iterator
} else {
u32::from(aux.number.get(LE))
};
if number as i32 == self.section_number {
return Some(SectionIndex(section_number as usize));
if number == self.section_index {
return Some(SectionIndex(section_index as usize));
}
} else if aux.selection != 0 {
if section_number == self.section_number {
return Some(SectionIndex(section_number as usize));
} else if aux.selection != pe::ComdatSelection(0) {
if section_index == self.section_index {
return Some(SectionIndex(section_index as usize));
}
}
}

Some files were not shown because too many files have changed in this diff Show More