logo
首页技术栈工具库讨论
hdis86

hdis86

hdis86 is an interface to the udis86 disassembler, which decodes machine code for 16-, 32-, and 64-bit x86 and x86-64 / AMD64 processors. hdis86 provides an instruction stream as a Haskell algebraic data type, suitable for inspection by pattern matching. It also provides metadata such as assembly syntax in Intel or AT&T flavors. This library exposes three layers of wrapping: The Pure module has the simplest interface, effectively ByteString -> [Instruction]. The IO module exposes an imperative API closely matching the udis86 state machine, while providing Haskellish types and automatic resource management. The C module is a direct import of the udis86 library, with C types and conventions. Many users can simply import Hdis86. The Incremental module provides disassembly of lazy ByteStrings, and a function for building other incremental operations. By default, hdis86 will statically link a built-in copy of udis86-1.7, which is provided by its author under a similar BSD license. See inside the tarball for more information. If you have udis86 installed on your system, you can instead link dynamically using cabal configure --flags=external-udis86. In that case see also doc/customizing.txt. This code is available on GitHub at https://github.com/kmcallister/hdis86. The udis86 project website is located at http://udis86.sourceforge.net/. New in version 0.2: Disassembly of lazy ByteStrings A function for building other incremental operations Record selectors on Instruction QuickCheck Arbitrary instances for Instruction and related types
由 
bruceshi2021-01-13 收录
--
推荐
不推荐
更多信息
GitHub iconkmcallister/hdis8614
HACKAGE
carbal install hdis86
查看
标签
根据用户添加的标签生成
暂无标签