- Crosscompile using CMake
Published: Tags: clang llvm cmake - Ieads Definitive Guide to LLVM Backends (I)
Published: Tags: llvm C++ VM When writing my first llvm backend at my last job I quickly found out that there is only very material assisting the creation of a custom backend. The posts and tutorials only cover the basics and stop as soon as it starts to become really interesting. This series of posts serves to fill the void left by others and to teach how to customice and tailor different aspects of a backend to your needs.
- Solving VM based checker with Klee
Published: Tags: ctf rev python llvm se To solve the “just the check please” task from PPP-CTF in 2023 I went the unusual path of lifting the virtual machine code used as obfuscation to LLVM-IR. That way I was able to utilize the advanced symbolic execution engine “Klee” to solve for the winning input.
- Recursive Disassembling
Published: Tags: rev python The two widespread ways to disassemble binaries are called linear sweep and recursive disassembling. While the first one is particularly easy to use and implement it also has severe drawbacks. Let me demystify the recursive algorithm, show its merits and provide you with a small sample script so you don’t need to skimp on disassembling when whipping up your next static analysis toolchain.
- Crosscompile
Published: Tags: clang llvm Cross compiling for different architectures and linux distributions is actually not half as hard as it is made out to be. I know many that regard cross compilation as too difficult and error prone to be even considered and thus always require an entire setup for the target architecture. But handling virtual machines can be cumbersome and juggling real hardware even more. Worry not tho, i will teach you an easy yet versitile way to achieve cross compilation