dynarmic/externals/zydis/examples/README.md
Alexandre Bouvier cbeed6396f externals: Update zydis to 4.0.0
Merge commit '6fa8d51479e9a5542c67bec715a1f68e7ed057ba'
2022-11-20 22:14:24 +01:00

1.4 KiB

Zydis Examples

Decoder

We currently don't have any examples that specifically only demonstrate using the decoder, but all formatter examples also demonstrate decoding instructions. Additionally, the ZydisInfo.c and ZydisDisasm.c examples in the tools directory serve as additional examples for both decoding and formatting.

Formatter

Formatter01

Demonstrates basic hooking functionality of the ZydisFormatter class by implementing a custom symbol-resolver.

Formatter02

Demonstrates basic hooking functionality of the ZydisFormatter class and the ability to completely omit specific operands.

The example demonstrates the hooking functionality of the ZydisFormatter class by rewriting the mnemonics of (V)CMPPS and (V)CMPPD to their corresponding alias-forms (based on the condition encoded in the immediate operand).

Formatter03

Demonstrates the tokenizing feature of the ZydisFormatter class.

Encoder

EncodeFromScratch

Example assembling a basic function returning 0x1337 in rax from scratch.

RewriteCode

Demonstrates how to rewrite ("reassemble") instructions.

Misc

ZydisWinKernel

Implements an example Windows kernel-mode driver.