io_uring from Userland
You know the pains if you’ve written performance sensitive I/O code on Linux. Every read() and write() is a round trip into the kernel. POSIX AIO was a mess,...
You know the pains if you’ve written performance sensitive I/O code on Linux. Every read() and write() is a round trip into the kernel. POSIX AIO was a mess,...
In this article, we’re going to see how virtual inheritance works under the hood. To understand it, we will need to go deeper into the Itanium C++ ABI. We’ll...
Since we’re done with the basics, lets start reversing our magnificent virtual functions… So, what’s the deal with virtual functions? Virtual functions are C...
When reversing C++ binaries, identifying Inheritance is important. Derived Classes contain Base Class data at predictable offsets, creating recognizable memo...
C++ looks pretty simple on the surface… you write a class, create an object, and move on. But under the hood, the compiler is busy stitching together memory ...