|
@@ -0,0 +1,375 @@
|
|
|
+/**
|
|
|
+ * Executables in various formats for use in tests.
|
|
|
+ *
|
|
|
+ * @author n1474335 [n1474335@gmail.com]
|
|
|
+ * @copyright Crown Copyright 2022
|
|
|
+ * @license Apache-2.0
|
|
|
+ */
|
|
|
+
|
|
|
+/**
|
|
|
+ * ---------------ELF Header---------------
|
|
|
+ * 7f454c46 - Magic: .ELF
|
|
|
+ * 01 - Format: 32 bit
|
|
|
+ * 01 - Endianness: Little
|
|
|
+ * 01 - ELF Version: 1
|
|
|
+ * 00 - Target ABI: System V
|
|
|
+ * 00 - ABI Version: 0
|
|
|
+ * 00000000000000 - Padding
|
|
|
+ * 0200 - File Type: Executable File
|
|
|
+ * 0300 - ISA: x86
|
|
|
+ * 01000000 - ELF Version: 1
|
|
|
+ * 50210608 - Entry Point: 0x8062150
|
|
|
+ * 34000000 - PH Offset: 0x34
|
|
|
+ * 54000000 - SH Offset: 0x54
|
|
|
+ * 00000000 - Flags: 0
|
|
|
+ * 3400 - ELF Header Size: 0x34
|
|
|
+ * 2000 - PH Header Size: 0x20
|
|
|
+ * 0100 - PH Entries: 1
|
|
|
+ * 2800 - SH Size: 0x28
|
|
|
+ * 0300 - SH Entries: 0x3
|
|
|
+ * 0000 - SH Names Offset: 0x0
|
|
|
+ *
|
|
|
+ * -------------Program Header-------------
|
|
|
+ * 06000000 - PH Type: Program Header Table
|
|
|
+ * 34000000 - Segment Offset: 0x34
|
|
|
+ * 34800408 - VAddr of segment: 134512692
|
|
|
+ * 34800408 - PAddr of segment: 134512692
|
|
|
+ * 00010000 - Size of segment: 256
|
|
|
+ * 00010000 - Size of segment: 256
|
|
|
+ * 05000000 - Flags: Execute,Read
|
|
|
+ * 04000000 - Alignment
|
|
|
+ *
|
|
|
+ * --------------SH .shstrtab--------------
|
|
|
+ * 00000000 - SH Name Offset: 0
|
|
|
+ * 03000000 - SH Type: String Table
|
|
|
+ * 00000000 - Flags:
|
|
|
+ * 00000000 - VAddr of section: 0
|
|
|
+ * cc000000 - Section offset: 204
|
|
|
+ * 1c000000 - Section size: 28
|
|
|
+ * 00000000 - Associated: 0
|
|
|
+ * 00000000 - Extra Info: 0
|
|
|
+ * 00000000 - Alignment
|
|
|
+ * 00000000 - Entry Size: 0
|
|
|
+ *
|
|
|
+ * ---------------SH .symtab---------------
|
|
|
+ * 09000000 - SH Name Offset: 9
|
|
|
+ * 02000000 - SH Type: Symbol Table
|
|
|
+ * 00000000 - Flags:
|
|
|
+ * 00000000 - VAddr of section: 0
|
|
|
+ * e6000000 - Section offset: 230
|
|
|
+ * 10000000 - Section size: 16
|
|
|
+ * 00000000 - Associated: 0
|
|
|
+ * 00000000 - Extra Info: 0
|
|
|
+ * 00000000 - Alignment
|
|
|
+ * 10000000 - Entry Size: 16
|
|
|
+ *
|
|
|
+ * ---------------SH .strtab---------------
|
|
|
+ * 11000000 - SH Name Offset: 17
|
|
|
+ * 03000000 - SH Type: String Table
|
|
|
+ * 00000000 - Flags:
|
|
|
+ * 00000000 - VAddr of section: 0
|
|
|
+ * f5000000 - Section offset: 245
|
|
|
+ * 04000000 - Section size: 4
|
|
|
+ * 00000000 - Associated: 0
|
|
|
+ * 00000000 - Extra Info: 0
|
|
|
+ * 00000000 - Alignment
|
|
|
+ * 00000000 - Entry Size: 0
|
|
|
+ *
|
|
|
+ * ---------------.shstrtab---------------
|
|
|
+ * 2e73687374726162002e73796d746162002e73747274616200 - .shstrab\0.symtab\0.strtab\0
|
|
|
+ *
|
|
|
+ * ----------------.symtab----------------
|
|
|
+ * 00000000 - Name Offset: 0
|
|
|
+ * 00000000 - Value: 0
|
|
|
+ * 00000000 - Size: 0
|
|
|
+ * 00 - Info
|
|
|
+ * 00 - other
|
|
|
+ * 0000 - shdx
|
|
|
+ *
|
|
|
+ * ----------------.strtab----------------
|
|
|
+ * 74657374 - test
|
|
|
+ */
|
|
|
+export const ELF32_LE = "7f454c46010101000000000000000000020003000100000050210608340000005400000000000000340020000100280003000000" +
|
|
|
+ "0600000034000000348004083480040800010000000100000500000004000000" +
|
|
|
+ "00000000030000000000000000000000cc0000001c00000000000000000000000000000000000000" +
|
|
|
+ "09000000020000000000000000000000e60000001000000000000000000000000000000010000000" +
|
|
|
+ "11000000030000000000000000000000f50000000400000000000000000000000000000000000000" +
|
|
|
+ "2e73687374726162002e73796d746162002e73747274616200" +
|
|
|
+ "00000000000000000000000000000000" +
|
|
|
+ "74657374";
|
|
|
+
|
|
|
+/**
|
|
|
+ * ---------------ELF Header---------------
|
|
|
+ * 7f454c46 - Magic: .ELF
|
|
|
+ * 01 - Format: 32 bit
|
|
|
+ * 02 - Endianness: Big
|
|
|
+ * 01 - ELF Version: 1
|
|
|
+ * 00 - Target ABI: System V
|
|
|
+ * 00 - ABI Version: 0
|
|
|
+ * 00000000000000 - Padding
|
|
|
+ * 0002 - File Type: Executable File
|
|
|
+ * 0003 - ISA: x86
|
|
|
+ * 00000001 - ELF Version: 1
|
|
|
+ * 08062150 - Entry Point: 0x8062150
|
|
|
+ * 00000034 - PH Offset: 0x34
|
|
|
+ * 00000054 - SH Offset: 0x54
|
|
|
+ * 00000000 - Flags: 0
|
|
|
+ * 0034 - ELF Header Size: 0x34
|
|
|
+ * 0020 - PH Header Size: 0x20
|
|
|
+ * 0001 - PH Entries: 1
|
|
|
+ * 0028 - SH Size: 0x28
|
|
|
+ * 0003 - SH Entries: 0x3
|
|
|
+ * 0000 - SH Names Offset: 0x0
|
|
|
+ *
|
|
|
+ * -------------Program Header-------------
|
|
|
+ * 00000006 - PH Type: Program Header Table
|
|
|
+ * 00000034 - Segment Offset: 0x34
|
|
|
+ * 08048034 - VAddr of segment: 134512692
|
|
|
+ * 08048034 - PAddr of segment: 134512692
|
|
|
+ * 00000100 - Size of segment: 256
|
|
|
+ * 00000100 - Size of segment: 256
|
|
|
+ * 00000005 - Flags: Execute,Read
|
|
|
+ * 00000004 - Alignment
|
|
|
+ *
|
|
|
+ * --------------SH .shstrtab--------------
|
|
|
+ * 00000000 - SH Name Offset: 0
|
|
|
+ * 00000003 - SH Type: String Table
|
|
|
+ * 00000000 - Flags:
|
|
|
+ * 00000000 - VAddr of section: 0
|
|
|
+ * 000000cc - Section offset: 204
|
|
|
+ * 0000001c - Section size: 28
|
|
|
+ * 00000000 - Associated: 0
|
|
|
+ * 00000000 - Extra Info: 0
|
|
|
+ * 00000000 - Alignment
|
|
|
+ * 00000000 - Entry Size: 0
|
|
|
+ *
|
|
|
+ * ---------------SH .symtab---------------
|
|
|
+ * 00000009 - SH Name Offset: 9
|
|
|
+ * 00000002 - SH Type: Symbol Table
|
|
|
+ * 00000000 - Flags:
|
|
|
+ * 00000000 - VAddr of section: 0
|
|
|
+ * 000000e6 - Section offset: 230
|
|
|
+ * 00000010 - Section size: 16
|
|
|
+ * 00000000 - Associated: 0
|
|
|
+ * 00000000 - Extra Info: 0
|
|
|
+ * 00000000 - Alignment
|
|
|
+ * 00000010 - Entry Size: 16
|
|
|
+ *
|
|
|
+ * ---------------SH .strtab---------------
|
|
|
+ * 00000011 - SH Name Offset: 17
|
|
|
+ * 00000003 - SH Type: String Table
|
|
|
+ * 00000000 - Flags:
|
|
|
+ * 00000000 - VAddr of section: 0
|
|
|
+ * 000000f5 - Section offset: 245
|
|
|
+ * 00000004 - Section size: 4
|
|
|
+ * 00000000 - Associated: 0
|
|
|
+ * 00000000 - Extra Info: 0
|
|
|
+ * 00000000 - Alignment
|
|
|
+ * 00000000 - Entry Size: 0
|
|
|
+ *
|
|
|
+ * ---------------.shstrtab---------------
|
|
|
+ * 2e73687374726162002e73796d746162002e73747274616200 - .shstrab\0.symtab\0.strtab\0
|
|
|
+ *
|
|
|
+ * ----------------.symtab----------------
|
|
|
+ * 00000000 - Name Offset: 0
|
|
|
+ * 00000000 - Value: 0
|
|
|
+ * 00000000 - Size: 0
|
|
|
+ * 00 - Info
|
|
|
+ * 00 - other
|
|
|
+ * 0000 - shdx
|
|
|
+ *
|
|
|
+ * ----------------.strtab----------------
|
|
|
+ * 74657374 - test
|
|
|
+ */
|
|
|
+export const ELF32_BE = "7f454c46010201000000000000000000000200030000000108062150000000340000005400000000003400200001002800030000" +
|
|
|
+ "0000000600000034080480340804803400000100000001000000000500000004" +
|
|
|
+ "00000000000000030000000000000000000000cc0000001c00000000000000000000000000000000" +
|
|
|
+ "00000009000000020000000000000000000000e60000001000000000000000000000000000000010" +
|
|
|
+ "00000011000000030000000000000000000000f50000000400000000000000000000000000000000" +
|
|
|
+ "2e73687374726162002e73796d746162002e73747274616200" +
|
|
|
+ "00000000000000000000000000000000" +
|
|
|
+ "74657374";
|
|
|
+
|
|
|
+/**
|
|
|
+ * ---------------ELF Header---------------
|
|
|
+ * 7f454c46 - Magic: .ELF
|
|
|
+ * 02 - Format: 64 bit
|
|
|
+ * 01 - Endianness: Little
|
|
|
+ * 01 - ELF Version: 1
|
|
|
+ * 00 - Target ABI: System V
|
|
|
+ * 00 - ABI Version: 0
|
|
|
+ * 00000000000000 - Padding
|
|
|
+ * 0200 - File Type: Executable File
|
|
|
+ * 3e00 - ISA: AMD x86-64
|
|
|
+ * 01000000 - ELF Version: 1
|
|
|
+ * 5021060800000000 - Entry Point: 0x8062150
|
|
|
+ * 4000000000000000 - PH Offset: 0x40
|
|
|
+ * 7800000000000000 - SH Offset: 0x78
|
|
|
+ * 00000000 - Flags: 0
|
|
|
+ * 4000 - ELF Header Size: 0x40
|
|
|
+ * 3800 - PH Header Size: 0x38
|
|
|
+ * 0100 - PH Entries: 1
|
|
|
+ * 4000 - SH Size: 0x40
|
|
|
+ * 0300 - SH Entries: 0x3
|
|
|
+ * 0000 - SH Names Offset: 0x0
|
|
|
+ *
|
|
|
+ * -------------Program Header-------------
|
|
|
+ * 06000000 - PH Type: Program Header Table
|
|
|
+ * 05000000 - Flags: Execute,Read
|
|
|
+ * 3400000000000000 - Segment Offset: 0x34
|
|
|
+ * 3480040800000000 - VAddr of segment: 134512692
|
|
|
+ * 3480040800000000 - PAddr of segment: 134512692
|
|
|
+ * 0001000000000000 - Size of segment: 256
|
|
|
+ * 0001000000000000 - Size of segment: 256
|
|
|
+ * 0400000000000000 - Alignment
|
|
|
+ *
|
|
|
+ * --------------SH .shstrtab--------------
|
|
|
+ * 00000000 - SH Name Offset: 0
|
|
|
+ * 03000000 - SH Type: String Table
|
|
|
+ * 0000000000000000 - Flags:
|
|
|
+ * 0000000000000000 - VAddr of section: 0
|
|
|
+ * 3801000000000000 - Section offset: 312
|
|
|
+ * 1c00000000000000 - Section size: 28
|
|
|
+ * 00000000 - Associated: 0
|
|
|
+ * 00000000 - Extra Info: 0
|
|
|
+ * 0000000000000000 - Alignment
|
|
|
+ * 0000000000000000 - Entry Size: 0
|
|
|
+ *
|
|
|
+ * ---------------SH .symtab---------------
|
|
|
+ * 09000000 - SH Name Offset: 9
|
|
|
+ * 02000000 - SH Type: Symbol Table
|
|
|
+ * 0000000000000000 - Flags:
|
|
|
+ * 0000000000000000 - VAddr of section: 0
|
|
|
+ * 5001000000000000 - Section offset: 336
|
|
|
+ * 1000000000000000 - Section size: 16
|
|
|
+ * 00000000 - Associated: 0
|
|
|
+ * 00000000 - Extra Info: 0
|
|
|
+ * 0000000000000000 - Alignment
|
|
|
+ * 1800000000000000 - Entry Size: 24
|
|
|
+ *
|
|
|
+ * ---------------SH .strtab---------------
|
|
|
+ * 11000000 - SH Name Offset: 17
|
|
|
+ * 03000000 - SH Type: String Table
|
|
|
+ * 0000000000000000 - Flags:
|
|
|
+ * 0000000000000000 - VAddr of section: 0
|
|
|
+ * 6901000000000000 - Section offset: 361
|
|
|
+ * 0400000000000000 - Section size: 4
|
|
|
+ * 00000000 - Associated: 0
|
|
|
+ * 00000000 - Extra Info: 0
|
|
|
+ * 0000000000000000 - Alignment
|
|
|
+ * 0000000000000000 - Entry Size: 0
|
|
|
+ *
|
|
|
+ * ---------------.shstrtab---------------
|
|
|
+ * 2e73687374726162002e73796d746162002e73747274616200 - .shstrab\0.symtab\0.strtab\0
|
|
|
+ *
|
|
|
+ * ----------------.symtab----------------
|
|
|
+ * 00000000 - Name Offset: 0
|
|
|
+ * 00 - Info
|
|
|
+ * 00 - other
|
|
|
+ * 0000 - shdx
|
|
|
+ * 0000000000000000 - Value: 0
|
|
|
+ * 0000000000000000 - Size: 0
|
|
|
+ *
|
|
|
+ * ----------------.strtab----------------
|
|
|
+ * 74657374 - test
|
|
|
+ */
|
|
|
+export const ELF64_LE = "7f454c4602010100000000000000000002003e000100000050210608000000004000000000000000780000000000000000000000400038000100400003000000" +
|
|
|
+ "0600000005000000340000000000000034800408000000003480040800000000000100000000000000010000000000000400000000000000" +
|
|
|
+ "00000000030000000000000000000000000000000000000038010000000000001c00000000000000000000000000000000000000000000000000000000000000" +
|
|
|
+ "09000000020000000000000000000000000000000000000050010000000000001000000000000000000000000000000000000000000000001800000000000000" +
|
|
|
+ "11000000030000000000000000000000000000000000000069010000000000000400000000000000000000000000000000000000000000000000000000000000" +
|
|
|
+ "2e73687374726162002e73796d746162002e73747274616200" +
|
|
|
+ "000000000000000000000000000000000000000000000000" +
|
|
|
+ "74657374";
|
|
|
+
|
|
|
+/**
|
|
|
+ * ---------------ELF Header---------------
|
|
|
+ * 7f454c46 - Magic: .ELF
|
|
|
+ * 02 - Format: 64 bit
|
|
|
+ * 02 - Endianness: Big
|
|
|
+ * 01 - ELF Version: 1
|
|
|
+ * 00 - Target ABI: System V
|
|
|
+ * 00 - ABI Version: 0
|
|
|
+ * 00000000000000 - Padding
|
|
|
+ * 0002 - File Type: Executable File
|
|
|
+ * 003e - ISA: AMD x86-64
|
|
|
+ * 00000001 - ELF Version: 1
|
|
|
+ * 0000000008062150 - Entry Point: 0x8062150
|
|
|
+ * 0000000000000040 - PH Offset: 0x40
|
|
|
+ * 0000000000000078 - SH Offset: 0x78
|
|
|
+ * 00000000 - Flags: 0
|
|
|
+ * 0040 - ELF Header Size: 0x40
|
|
|
+ * 0038 - PH Header Size: 0x38
|
|
|
+ * 0001 - PH Entries: 1
|
|
|
+ * 0040 - SH Size: 0x40
|
|
|
+ * 0003 - SH Entries: 0x3
|
|
|
+ * 0000 - SH Names Offset: 0x0
|
|
|
+ *
|
|
|
+ * -------------Program Header-------------
|
|
|
+ * 00000006 - PH Type: Program Header Table
|
|
|
+ * 00000005 - Flags: Execute,Read
|
|
|
+ * 0000000000000034 - Segment Offset: 0x34
|
|
|
+ * 0000000008048034 - VAddr of segment: 134512692
|
|
|
+ * 0000000008048034 - PAddr of segment: 134512692
|
|
|
+ * 0000000000000100 - Size of segment: 256
|
|
|
+ * 0000000000000100 - Size of segment: 256
|
|
|
+ * 0400000000000000 - Alignment
|
|
|
+ *
|
|
|
+ * --------------SH .shstrtab--------------
|
|
|
+ * 00000000 - SH Name Offset: 0
|
|
|
+ * 00000003 - SH Type: String Table
|
|
|
+ * 0000000000000000 - Flags:
|
|
|
+ * 0000000000000000 - VAddr of section: 0
|
|
|
+ * 0000000000000138 - Section offset: 312
|
|
|
+ * 000000000000001c - Section size: 28
|
|
|
+ * 00000000 - Associated: 0
|
|
|
+ * 00000000 - Extra Info: 0
|
|
|
+ * 0000000000000000 - Alignment
|
|
|
+ * 0000000000000000 - Entry Size: 0
|
|
|
+ *
|
|
|
+ * ---------------SH .symtab---------------
|
|
|
+ * 00000009 - SH Name Offset: 9
|
|
|
+ * 00000002 - SH Type: Symbol Table
|
|
|
+ * 0000000000000000 - Flags:
|
|
|
+ * 0000000000000000 - VAddr of section: 0
|
|
|
+ * 0000000000000150 - Section offset: 336
|
|
|
+ * 0000000000000010 - Section size: 16
|
|
|
+ * 00000000 - Associated: 0
|
|
|
+ * 00000000 - Extra Info: 0
|
|
|
+ * 0000000000000000 - Alignment
|
|
|
+ * 0000000000000018 - Entry Size: 24
|
|
|
+ *
|
|
|
+ * ---------------SH .strtab---------------
|
|
|
+ * 00000011 - SH Name Offset: 17
|
|
|
+ * 00000003 - SH Type: String Table
|
|
|
+ * 0000000000000000 - Flags:
|
|
|
+ * 0000000000000000 - VAddr of section: 0
|
|
|
+ * 0000000000000169 - Section offset: 361
|
|
|
+ * 0000000000000004 - Section size: 4
|
|
|
+ * 00000000 - Associated: 0
|
|
|
+ * 00000000 - Extra Info: 0
|
|
|
+ * 0000000000000000 - Alignment
|
|
|
+ * 0000000000000000 - Entry Size: 0
|
|
|
+ *
|
|
|
+ * ---------------.shstrtab---------------
|
|
|
+ * 2e73687374726162002e73796d746162002e73747274616200 - .shstrab\0.symtab\0.strtab\0
|
|
|
+ *
|
|
|
+ * ----------------.symtab----------------
|
|
|
+ * 00000000 - Name Offset: 0
|
|
|
+ * 00 - Info
|
|
|
+ * 00 - other
|
|
|
+ * 0000 - shdx
|
|
|
+ * 0000000000000000 - Value: 0
|
|
|
+ * 0000000000000000 - Size: 0
|
|
|
+ *
|
|
|
+ * ----------------.strtab----------------
|
|
|
+ * 74657374 - test
|
|
|
+ */
|
|
|
+export const ELF64_BE = "7f454c460202010000000000000000000002003e0000000100000000080621500000000000000040000000000000007800000000004000380001004000030000" +
|
|
|
+ "0000000600000005000000000000003400000000080480340000000008048034000000000000010000000000000001000400000000000000" +
|
|
|
+ "0000000000000003000000000000000000000000000000000000000000000138000000000000001c000000000000000000000000000000000000000000000000" +
|
|
|
+ "00000009000000020000000000000000000000000000000000000000000001500000000000000010000000000000000000000000000000000000000000000018" +
|
|
|
+ "00000011000000030000000000000000000000000000000000000000000001690000000000000004000000000000000000000000000000000000000000000000" +
|
|
|
+ "2e73687374726162002e73796d746162002e73747274616200" +
|
|
|
+ "000000000000000000000000000000000000000000000000" +
|
|
|
+ "74657374";
|