반응형

// PE view  [codes.h]

// PE 에서 특정 값을 가져야하는 Machine,  flag, characteristics ,subsystem에서 사용하는 값들에 대한 값들을 선언해둠 

//딱히 이 부분은 일일이 타이핑해볼 이유가 없을것 같아  COPY &PASTE 하였다 .. 

//예전에 따라가본 소스코드는  구간이 명확하지 않아서 main부분이 좀많이 복잡햇는데 이번에 따라가보는 코드는

// 예전꺼에 비해 구간이 딱딱 떨어져 있어서 이해하기가 굉장히 쉽다 ( ㄱㅇㄷ ) 

//PE machine type code

#define IMAGE_FILE_MACHINE_UNKNOWN "IMAGE_FILE_MACHINE_UNKNOWN"

#define IMAGE_FILE_MACHINE_AM33 "IMAGE_FILE_MACHINE_AM33"

#define IMAGE_FILE_MACHINE_AMD64 "IMAGE_FILE_MACHINE_AMD64"

#define IMAGE_FILE_MACHINE_ARM "IMAGE_FILE_MACHINE_ARM"

#define IMAGE_FILE_MACHINE_ARMNT "IMAGE_FILE_MACHINE_ARMNT"

#define IMAGE_FILE_MACHINE_ARM64 "IMAGE_FILE_MACHINE_ARM64"

#define IMAGE_FILE_MACHINE_EBC "IMAGE_FILE_MACHINE_EBC"

#define IMAGE_FILE_MACHINE_I386 "IMAGE_FILE_MACHINE_I386"

#define IMAGE_FILE_MACHINE_IA64 "IMAGE_FILE_MACHINE_IA64"

#define IMAGE_FILE_MACHINE_M32R "IMAGE_FILE_MACHINE_M32R"

#define IMAGE_FILE_MACHINE_MIPS16 "IMAGE_FILE_MACHINE_MIPS16"

#define IMAGE_FILE_MACHINE_MIPSFPU "IMAGE_FILE_MACHINE_MIPSFPU"

#define IMAGE_FILE_MACHINE_MIPSFPU16 "IMAGE_FILE_MACHINE_MIPSFPU16"

#define IMAGE_FILE_MACHINE_POWERPC "IMAGE_FILE_MACHINE_POWERPC"

#define IMAGE_FILE_MACHINE_POWERPCFP "IMAGE_FILE_MACHINE_POWERPCFP"

#define IMAGE_FILE_MACHINE_R4000 "IMAGE_FILE_MACHINE_R4000"

#define IMAGE_FILE_MACHINE_SH3 "IMAGE_FILE_MACHINE_SH3"

#define IMAGE_FILE_MACHINE_SH3DSP "IMAGE_FILE_MACHINE_SH3DSP"

#define IMAGE_FILE_MACHINE_SH4 "IMAGE_FILE_MACHINE_SH4"

#define IMAGE_FILE_MACHINE_SH5 "IMAGE_FILE_MACHINE_SH5"

#define IMAGE_FILE_MACHINE_THUMB "IMAGE_FILE_MACHINE_THUMB"

#define IMAGE_FILE_MACHINE_WCEMIPSV2 “IMAGE_FILE_MACHINE_WCEMIPSV2"


//PE characteristics codes 

#define IMAGE_FILE_RELOCS_STRIPPED "IMAGE_FILE_RELOCS_STRIPPED"

#define IMAGE_FILE_EXECUTABLE_IMAGE "IMAGE_FILE_EXECUTABLE_IMAGE"

#define IMAGE_FILE_LINE_NUMS_STRIPPED "IMAGE_FILE_NUMS_STRIPPED"

#define IMAGE_FILE_LOCAL_SYMS_STRIPPED "IMAGE_FILE_SYMS_STRIPPED"

#define IMAGE_FILE_AGGRESSIVE_WS_TRIM "IMAGE_FILE_AGGRESSIVE_WS_TRIM"

#define IMAGE_FILE_LARGE_ADDRESS_AWARE "IMAGE_FILE_LARGE_ADDRESS_AWARE"

#define IMAGE_FILE_BYTES_REVERSED_LO "IMAGE_FILE_BYTES_REVERSED_LO"

#define IMAGE_FILE_32BIT_MACHINE "IMAGE_FILE_32BIT_MACHINE"

#define IMAGE_FILE_DEBUG_STRIPPED "IMAGE_FILE_DEBUG_STRIPPED"

#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP "IMAGE_FILE_REMOVEABLE_RUN_FROM_SWAP"

#define IMAGE_FILE_NET_RUN_FROM_SWAP "IMAGE_FILE_NET_RUN_FROM_SWAP"

#define IMAGE_FILE_SYSTEM "IMAGE_FILE_SYSTEM"

#define IMAGE_FILE_DLL "IMAGE_FILE_DLL"

#define IMAGE_FILE_UP_SYSTEM_ONLY "IMAGE_FILE_UP_SYSTEM_ONLY"

#define IMAGE_FILE_BYTES_REVERSED_HI “IMAGE_FILE_BYTES_REVERSED_HI"


//subsystem code

#define IMAGE_SUBSYSTEM_UNKNOWN "IMAGE_SUBSYSTEM_UNKNOWN"

#define IMAGE_SUBSYSTEM_NATIVE "IMAGE_SUBSYSTEM_NATIVE"

#define IMAGE_SUBSYSTEM_WINDOWS_GUI "IMAGE_SUBSYSTEM_WINDOWS_GUI"

#define IMAGE_SUBSYSTEM_WINDOWS_CUI "IMAGE_SUBSYSTEM_WINDOWS_CUI"

#define IMAGE_SUBSYSTEM_POSIX_CUI "IMAGE_SUBSYSTEM_POXIS_CUI"

#define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI "IMAGE_SUBSYSTEM_WINDOWS_CE_GUI"

#define IMAGE_SUBSYSTEM_EFI_APPLICATION "IMAGE_SUBSYSTEM_EFI_APPLICATION"

#define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER "IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER"

#define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER "IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER"

#define IMAGE_SUBSYSTEM_EFI_ROM "IMAGE_SUBSYSTEM_EFI_ROM"

#define IMAGE_SUBSYSTEM_XBOX "IMAGE_SUBSYSTEM_XBOX"


// characteristics flag

#define CHARACTERISTICS_RELOCS_STRIPPED 0x0001

#define CHARACTERISTICS_EXECUTABLE_IMAGE 0x0002

#define CHARACTERISTICS_LINE_NUMS_STRIPPED 0x0004

#define CHARACTERISTICS_LOCAL_SYMS_STRIPPED 0x0008

#define CHARACTERISTICS_AGGRESSIVE_WS_TRIM 0x0010

#define CHARACTERISTICS_LARGE_ADDRESS_AWARE 0x0020

#define CHARACTERISTICS_reserved 0x0040

#define CHARACTERISTICS_BYTES_REVERSED_LO 0x0080

#define CHARACTERISTICS_32BIT_MACHINE 0x0100

#define CHARACTERISTICS_DEBUG_STRIPPED 0x0200

#define CHARACTERISTICS_REMOVABLE_RUN_FROM_SWAP 0x0400

#define CHARACTERISTICS_NET_RUN_FROM_SWAP 0x0800

#define CHARACTERISTICS_SYSTEM 0x1000

#define CHARACTERISTICS_DLL 0x2000

#define CHARACTERISTICS_UP_SYSTEM_ONLY 0x4000

#define CHARACTERISTICS_BYTES_REVERSED_HI 0x8000


//characteristics code

#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE "IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE"

#define IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY "IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY"

#define IMAGE_DLLCHARACTERISTICS_NX_COMPAT "IMAGE_DLL_CHARACTERISTICS_NX_COMPAT"

#define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION "IMAGE_DLLCHARACTERISTICS_NO_ISOLATION"

#define IMAGE_DLLCHARACTERISTICS_NO_SEH "IMAGE_DLLCHARACTERISTICS_NO_SEH"

#define IMAGE_DLLCHARACTERISTICS_NO_BIND "IMAGE_DLLCHARACTERISTICS_NO_BIND"

#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER "IMAGE_DLLCHARACTERISTICS_WDM_DRIVER"

#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE “IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE"


//DLL characteristics flag

#define DLLCHARACTERISTICS_reserved1 0x0001

#define DLLCHARACTERISTICS_reserved2 0x0002

#define DLLCHARACTERISTICS_reserved3 0x0004

#define DLLCHARACTERISTICS_reserved4 0x0008

#define DLLCHARACTERISTICS_DYNAMIC_BASE 0x0040

#define DLLCHARACTERISTICS_FORCE_INTEGRITY 0x0080

#define DLLCHARACTERISTICS_NX_COMPAT 0x0100

#define DLLCHARACTERISTICS_NO_ISOLATION 0x0200

#define DLLCHARACTERISTICS_NO_SEH 0x0400

#define DLLCHARACTERISTICS_NO_BIND 0x0800

#define DLLCHARACTERISTICS_reserved5 0x1000

#define DLLCHARACTERISTICS_WDM_DRIVER 0x2000

#define DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE 0x8000


#endif // CODES_H_

반응형

'과거의 컴퓨터 공부 > PE Viewer 다시만들기 ' 카테고리의 다른 글

(PEViewer)utils.h  (0) 2015.06.02
(PEViewer)headers.h  (0) 2015.06.01
(PEViewer)Main.c  (0) 2015.05.31
PE viewer 다시 만들어보기  (0) 2015.05.31
,