Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- type ZyanStatus = Either ZyanCoreStatus ZydisStatus
- data ZydisStatus
- = ZydisStatusInvalidMask
- | ZydisStatusMalformedMvex
- | ZydisStatusMalformedEvex
- | ZydisStatusInvalidMap
- | ZydisStatusIllegalRex
- | ZydisStatusIllegalLegacyPFX
- | ZydisStatusIllegalLock
- | ZydisStatusBadRegister
- | ZydisStatusInstructionTooLong
- | ZydisStatusNoMoreData
- | ZydisStatusDecodingError
- | ZydisStatusSkipToken
- data ZyanCoreStatus
- = ZyanCoreStatusSuccess
- | ZyanCoreStatusFailed
- | ZyanCoreStatusTrue
- | ZyanCoreStatusFalse
- | ZyanCoreStatusInvalidArgument
- | ZyanCoreStatusInvalidOperation
- | ZyanCoreStatusAccessDenied
- | ZyanCoreStatusNotFound
- | ZyanCoreStatusOutOfRange
- | ZyanCoreStatusInsufficientBufferSize
- | ZyanCoreStatusNotEnoughMemory
- | ZyanCoreStatusBadSystemCall
- | ZyanCoreStatusOutOfResources
- | ZyanCoreStatusMissingDependency
- type ZyanUSize = Word64
- type Offset = ZyanUSize
- type Length = ZyanUSize
- initialize :: MachineMode -> AddressWidth -> IO (Either ZyanStatus Decoder)
- decodeBuffer :: Decoder -> ByteString -> Offset -> Length -> IO (Either ZyanStatus DecodedInstruction)
- decodeFullBuffer :: Decoder -> ByteString -> IO (Either ZyanStatus (Seq DecodedInstruction))
Documentation
type ZyanStatus = Either ZyanCoreStatus ZydisStatus Source #
data ZydisStatus Source #
Instances
Eq ZydisStatus Source # | |
Defined in Zydis.Status (==) :: ZydisStatus -> ZydisStatus -> Bool # (/=) :: ZydisStatus -> ZydisStatus -> Bool # | |
Show ZydisStatus Source # | |
Defined in Zydis.Status showsPrec :: Int -> ZydisStatus -> ShowS # show :: ZydisStatus -> String # showList :: [ZydisStatus] -> ShowS # |
data ZyanCoreStatus Source #
Instances
Eq ZyanCoreStatus Source # | |
Defined in Zydis.Status (==) :: ZyanCoreStatus -> ZyanCoreStatus -> Bool # (/=) :: ZyanCoreStatus -> ZyanCoreStatus -> Bool # | |
Show ZyanCoreStatus Source # | |
Defined in Zydis.Status showsPrec :: Int -> ZyanCoreStatus -> ShowS # show :: ZyanCoreStatus -> String # showList :: [ZyanCoreStatus] -> ShowS # |
initialize :: MachineMode -> AddressWidth -> IO (Either ZyanStatus Decoder) Source #
Initialize a Zydis decoder, required to decode instructions.
decodeBuffer :: Decoder -> ByteString -> Offset -> Length -> IO (Either ZyanStatus DecodedInstruction) Source #
Decode a single intruction.
decodeFullBuffer :: Decoder -> ByteString -> IO (Either ZyanStatus (Seq DecodedInstruction)) Source #
Efficiently decode an entire buffer of instructions.