Zydis is an open source Intel x86, 32 bit and 64 bit, instruction decoder, commonly referred to as a disassembler.
What is included in this set of posts are the Zydis dlls (32 and 64 bit) along with the majority of the C examples and tools translated from C to FPC. In addition to that, there are a few additional examples and tools that I made for my personal use in learning Zydis and thought they might be useful to others as well.
The folders/directories, which contain the examples and the tools, are numbered in such a way that lower numbered directories are simpler/easier to understand. Higher numbered directories almost always require knowledge that was exposed in lower numbered directories.
In addition to that, all files that end with the letter "A" are translations from C programs that are part of the Zydis set of examples and tools. Files that do not end in "A" are additional files that I created to test and learn Zydis which I felt could be useful to others as well.
The total amount of information exceeds what the forum allows to be uploaded in a single post. For this reason, the entire set of file is broken into 6 archive files named Zydis(A)..(F)
To obtain a working installation, create a directory, I suggest "Zydis", put all the archives in that directory and tell 7zip to "Extract here". That will recreate the entire working structure.
ZydisA.7z has the 32bit and 64bit Zydis dlls.
ZydisB.7z has the Pascal (FPC) bindings and the .o, .a and .ppu file needed for linking
ZydisC.7z has Windows API definitions and the related 32 bit .o, .a and .ppu files
ZydisD.7z has the Windows API related 64 bit .o, .a and .ppu files
ZydisE.7z has the source code and Lazarus projects for all the examples and tools.
ZydisF.7z has data files that are convenient to refer to in the examples and tools.
IMPORTANT: I use my own Windows API definitions and the majority of genuinely useful and interesting examples use those definitions, therefore, to get the most out of the examples, you have to have the definitions in ZydisC.7z and ZydisD.7z. Also important, these two file contain a rather small subset of my personal definitions, therefore they cannot, unfortunately, be used as a replacement for the definitions included with Lazarus/FPC.
Attached to this post are ZydisA.7z, ZydisE.7z and ZydisF.7z