Rizin
unix-like reverse engineering framework and cli tools
te_specs.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2008-2013 nibble <nibble.ds@gmail.com>
2
// SPDX-FileCopyrightText: 2008-2013 xvilka <anton.kochkov@gmail.com>
3
// SPDX-License-Identifier: LGPL-3.0-only
4
5
#undef TE_
6
#undef TE_Word
7
#undef TE_DWord
8
#undef TE_VWord
9
10
#define TE_Word ut16
11
#define TE_DWord ut64
12
#define TE_VWord ut32
13
14
#ifndef _INCLUDE_RZ_BIN_TE_SPECS_H_
15
#define _INCLUDE_RZ_BIN_TE_SPECS_H_
16
17
#define TE_NAME_LENGTH 256
18
#define TE_STRING_LENGTH 256
19
20
#define TE_IMAGE_FILE_MACHINE_UNKNOWN 0x0000
21
#define TE_IMAGE_FILE_MACHINE_ALPHA 0x0184
22
#define TE_IMAGE_FILE_MACHINE_ALPHA64 0x0284
23
#define TE_IMAGE_FILE_MACHINE_AM33 0x01d3
24
#define TE_IMAGE_FILE_MACHINE_AMD64 0x8664
25
#define TE_IMAGE_FILE_MACHINE_ARM 0x01c0
26
#define TE_IMAGE_FILE_MACHINE_AXP64 TE_IMAGE_FILE_MACHINE_ALPHA64
27
#define TE_IMAGE_FILE_MACHINE_CEE 0xc0ee
28
#define TE_IMAGE_FILE_MACHINE_CEF 0x0cef
29
#define TE_IMAGE_FILE_MACHINE_EBC 0x0ebc
30
#define TE_IMAGE_FILE_MACHINE_I386 0x014c
31
#define TE_IMAGE_FILE_MACHINE_IA64 0x0200
32
#define TE_IMAGE_FILE_MACHINE_M32R 0x9041
33
#define TE_IMAGE_FILE_MACHINE_M68K 0x0268
34
#define TE_IMAGE_FILE_MACHINE_MIPS16 0x0266
35
#define TE_IMAGE_FILE_MACHINE_MIPSFPU 0x0366
36
#define TE_IMAGE_FILE_MACHINE_MIPSFPU16 0x0466
37
#define TE_IMAGE_FILE_MACHINE_POWERPC 0x01f0
38
#define TE_IMAGE_FILE_MACHINE_POWERPCFP 0x01f1
39
#define TE_IMAGE_FILE_MACHINE_R10000 0x0168
40
#define TE_IMAGE_FILE_MACHINE_R3000 0x0162
41
#define TE_IMAGE_FILE_MACHINE_R4000 0x0166
42
#define TE_IMAGE_FILE_MACHINE_SH3 0x01a2
43
#define TE_IMAGE_FILE_MACHINE_SH3DSP 0x01a3
44
#define TE_IMAGE_FILE_MACHINE_SH3E 0x01a4
45
#define TE_IMAGE_FILE_MACHINE_SH4 0x01a6
46
#define TE_IMAGE_FILE_MACHINE_SH5 0x01a8
47
#define TE_IMAGE_FILE_MACHINE_THUMB 0x01c2
48
#define TE_IMAGE_FILE_MACHINE_TRICORE 0x0520
49
#define TE_IMAGE_FILE_MACHINE_WCEMIPSV2 0x0169
50
51
#define TE_IMAGE_DIRECTORY_ENTRIES 2
52
53
#define TE_IMAGE_DIRECTORY_ENTRY_BASERELOC 0
54
#define TE_IMAGE_DIRECTORY_ENTRY_DEBUG 1
55
56
#define TE_IMAGE_SUBSYSTEM_UNKNOWN 0
57
#define TE_IMAGE_SUBSYSTEM_NATIVE 1
58
#define TE_IMAGE_SUBSYSTEM_WINDOWS_GUI 2
59
#define TE_IMAGE_SUBSYSTEM_WINDOWS_CUI 3
60
#define TE_IMAGE_SUBSYSTEM_POSIX_CUI 7
61
#define TE_IMAGE_SUBSYSTEM_WINDOWS_CE_GUI 9
62
#define TE_IMAGE_SUBSYSTEM_EFI_APPLICATION 10
63
#define TE_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11
64
#define TE_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12
65
#define TE_IMAGE_SUBSYSTEM_EFI_ROM 13
66
#define TE_IMAGE_SUBSYSTEM_XBOX 14
67
68
typedef
struct
{
69
ut32
VirtualAddress
;
70
ut32
Size
;
71
}
efi_image_data_directory
;
72
73
typedef
struct
{
74
ut16
Signature
;
75
ut16
Machine
;
76
ut8
NumberOfSections
;
77
ut8
Subsystem
;
78
ut16
StrippedSize
;
79
ut32
AddressOfEntryPoint
;
80
ut32
BaseOfCode
;
81
ut64
ImageBase
;
82
efi_image_data_directory
DataDirectory[2];
83
}
TE_image_file_header
;
84
85
#define TE_IMAGE_SIZEOF_NAME 8
86
87
#define TE_IMAGE_SCN_MEM_SHARED 0x10000000
88
#define TE_IMAGE_SCN_MEM_EXECUTE 0x20000000
89
#define TE_IMAGE_SCN_MEM_READ 0x40000000
90
#define TE_IMAGE_SCN_MEM_WRITE 0x80000000
91
92
typedef
struct
{
93
ut8
Name[
TE_IMAGE_SIZEOF_NAME
];
94
ut32
VirtualSize
;
95
ut32
VirtualAddress
;
96
ut32
SizeOfRawData
;
97
ut32
PointerToRawData
;
98
ut32
PointerToRelocations
;
99
ut32
PointerToLineNumbers
;
100
ut16
NumberOfRelocations
;
101
ut16
NumberOfLinenumbers
;
102
ut32
Characteristics
;
103
}
TE_image_section_header
;
104
105
#endif
ut16
uint16_t ut16
Definition:
demangler_util.h:30
ut32
uint32_t ut32
Definition:
demangler_util.h:31
ut8
uint8_t ut8
Definition:
lh5801.h:11
TE_image_file_header
Definition:
te_specs.h:73
TE_image_file_header::StrippedSize
ut16 StrippedSize
Definition:
te_specs.h:78
TE_image_file_header::BaseOfCode
ut32 BaseOfCode
Definition:
te_specs.h:80
TE_image_file_header::ImageBase
ut64 ImageBase
Definition:
te_specs.h:81
TE_image_file_header::Subsystem
ut8 Subsystem
Definition:
te_specs.h:77
TE_image_file_header::Machine
ut16 Machine
Definition:
te_specs.h:75
TE_image_file_header::AddressOfEntryPoint
ut32 AddressOfEntryPoint
Definition:
te_specs.h:79
TE_image_file_header::NumberOfSections
ut8 NumberOfSections
Definition:
te_specs.h:76
TE_image_file_header::Signature
ut16 Signature
Definition:
te_specs.h:74
TE_image_section_header
Definition:
te_specs.h:92
TE_image_section_header::Characteristics
ut32 Characteristics
Definition:
te_specs.h:102
TE_image_section_header::VirtualAddress
ut32 VirtualAddress
Definition:
te_specs.h:95
TE_image_section_header::VirtualSize
ut32 VirtualSize
Definition:
te_specs.h:94
TE_image_section_header::NumberOfLinenumbers
ut16 NumberOfLinenumbers
Definition:
te_specs.h:101
TE_image_section_header::PointerToLineNumbers
ut32 PointerToLineNumbers
Definition:
te_specs.h:99
TE_image_section_header::SizeOfRawData
ut32 SizeOfRawData
Definition:
te_specs.h:96
TE_image_section_header::PointerToRawData
ut32 PointerToRawData
Definition:
te_specs.h:97
TE_image_section_header::NumberOfRelocations
ut16 NumberOfRelocations
Definition:
te_specs.h:100
TE_image_section_header::PointerToRelocations
ut32 PointerToRelocations
Definition:
te_specs.h:98
efi_image_data_directory
Definition:
te_specs.h:68
efi_image_data_directory::Size
ut32 Size
Definition:
te_specs.h:70
efi_image_data_directory::VirtualAddress
ut32 VirtualAddress
Definition:
te_specs.h:69
TE_IMAGE_SIZEOF_NAME
#define TE_IMAGE_SIZEOF_NAME
Definition:
te_specs.h:85
ut64
ut64(WINAPI *w32_GetEnabledXStateFeatures)()
librz
bin
format
te
te_specs.h
Generated by
1.9.1