-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Parser for PE/COFF format. -- -- Parser for PE/COFF format. @package pecoff @version 0.1 -- | Parses a ByteString into a Pecoff record. Parsing of section data -- currently left as a todo. module Data.Pecoff data Pecoff Pecoff :: IMAGE_FILE_MACHINE -> [IMAGE_FILE_CHARACTERISTICS] -> Word64 -> Word64 -> IMAGE_SUBSYSTEM -> [IMAGE_DLL_CHARACTERISTICS] -> [PecoffSection] -> Pecoff -- | Machine type. pMachine :: Pecoff -> IMAGE_FILE_MACHINE -- | File flags. pFileCharacteristics :: Pecoff -> [IMAGE_FILE_CHARACTERISTICS] -- | Entry point address. pEntryPointAddress :: Pecoff -> Word64 -- | Default load base for image. pImageBase :: Pecoff -> Word64 -- | Subsystem required to run this image. pSubsystem :: Pecoff -> IMAGE_SUBSYSTEM -- | DLL flags. pDllCharacteristics :: Pecoff -> [IMAGE_DLL_CHARACTERISTICS] -- | Sections contained in this PE/COFF object. pSections :: Pecoff -> [PecoffSection] data PecoffSection PecoffSection :: String -> Word64 -> Word64 -> [IMAGE_SCN_CHARACTERISTICS] -> ByteString -> ByteString -> ByteString -> PecoffSection -- | Name of section. psectName :: PecoffSection -> String -- | Virtual memory size. psectVirtualSize :: PecoffSection -> Word64 -- | Virtual memory address. psectVirtualAddress :: PecoffSection -> Word64 -- | Flags. psectCharacteristics :: PecoffSection -> [IMAGE_SCN_CHARACTERISTICS] -- | Raw data for relocations. psectRelocations :: PecoffSection -> ByteString -- | Raw data for linenumbers. psectLinenumbers :: PecoffSection -> ByteString -- | Raw data for section. psectRawData :: PecoffSection -> ByteString data IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_UNKNOWN :: IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_NATIVE :: IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_WINDOWS_GUI :: IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_WINDOWS_CUI :: IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_OS2_CUI :: IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_POSIX_CUI :: IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_NATIVE_WINDOWS :: IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_WINDOWS_CE_GUI :: IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_EFI_APPLICATION :: IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER :: IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER :: IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_EFI_ROM :: IMAGE_SUBSYSTEM IMAGE_SUBSYSTEM_XBOX :: IMAGE_SUBSYSTEM data IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_TYPE_NO_PAD :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_CNT_CODE :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_CNT_INITIALIZED_DATA :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_CNT_UNINITIALIZED_DATA :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_LNK_OTHER :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_LNK_INFO :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_LNK_REMOVE :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_LNK_COMDAT :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_GPREL :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_MEM_PURGEABLE :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_MEM_16BIT :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_MEM_LOCKED :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_MEM_PRELOAD :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_1BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_2BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_4BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_8BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_16BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_32BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_64BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_128BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_256BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_512BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_1024BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_2048BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_4096BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_ALIGN_8192BYTES :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_LNK_NRELOC_OVFL :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_MEM_DISCARDABLE :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_MEM_NOT_CACHED :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_MEM_NOT_PAGED :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_MEM_SHARED :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_MEM_EXECUTE :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_MEM_READ :: IMAGE_SCN_CHARACTERISTICS IMAGE_SCN_MEM_WRITE :: IMAGE_SCN_CHARACTERISTICS data IMAGE_DLL_CHARACTERISTICS IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE :: IMAGE_DLL_CHARACTERISTICS IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY :: IMAGE_DLL_CHARACTERISTICS IMAGE_DLL_CHARACTERISTICS_NX_COMPAT :: IMAGE_DLL_CHARACTERISTICS IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION :: IMAGE_DLL_CHARACTERISTICS IMAGE_DLL_CHARACTERISTICS_NO_SEH :: IMAGE_DLL_CHARACTERISTICS IMAGE_DLL_CHARACTERISTICS_NO_BIND :: IMAGE_DLL_CHARACTERISTICS IMAGE_DLL_CHARACTERISTICS_WDM_DRIVER :: IMAGE_DLL_CHARACTERISTICS IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE :: IMAGE_DLL_CHARACTERISTICS data IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_RELOCS_STRIPPED :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_EXECUTABLE_IMAGE :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_LINE_NUMS_STRIPPED :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_LOCAL_SYMS_STIRPPED :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_AGGRESSIVE_WS_TRIM :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_LARGE_ADDRESS_AWARE :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_BYTES_REVERSED_LO :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_32BIT_MACHINE :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_DEBUG_STRIPPED :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_NET_RUN_FROM_SWAP :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_SYSTEM :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_DLL :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_UP_SYSTEM_ONLY :: IMAGE_FILE_CHARACTERISTICS IMAGE_FILE_BYTES_REVERSED_HI :: IMAGE_FILE_CHARACTERISTICS data IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_UNKNOWN :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_AM33 :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_AMD64 :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_ARM :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_EBC :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_I386 :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_IA64 :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_M32R :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_MIPS16 :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_MIPSFPU :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_MIPSFPU16 :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_POWERPC :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_POWERPCFP :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_R4000 :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_SH3 :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_SH3DSP :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_SH4 :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_SH5 :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_THUMB :: IMAGE_FILE_MACHINE IMAGE_FILE_MACHINE_WCEMIPSV2 :: IMAGE_FILE_MACHINE -- | Parse the ByteString of a PE/COFF file into a Pecoff record. parsePecoff :: ByteString -> Pecoff instance Show PecoffSection instance Eq PecoffSection instance Show Pecoff instance Eq Pecoff instance Show IMAGE_FILE_MACHINE instance Eq IMAGE_FILE_MACHINE instance Show IMAGE_FILE_CHARACTERISTICS instance Eq IMAGE_FILE_CHARACTERISTICS instance Show IMAGE_DLL_CHARACTERISTICS instance Eq IMAGE_DLL_CHARACTERISTICS instance Show IMAGE_SCN_CHARACTERISTICS instance Eq IMAGE_SCN_CHARACTERISTICS instance Show IMAGE_SUBSYSTEM instance Eq IMAGE_SUBSYSTEM