I came across a recent article on making Linux system calls from a Wine process. Windows programs running under Wine are still normal Linux processes and may interact with the Linux kernel like any other process. None of this was surprising, and the demonstration works just as I expect. Still, it...
During my OSCE exam preparation I had to deal with shellcode writing experience where very few allower characters were available. This brilliant talk by @muts, lead us to get in touch with a new encoding technique. When you can’t directly write words on the stack, due to bad characters, you can...
During my OSCE journey I came across an interesting technique to jump backwards into the very beginning of the buffer injected on the vulnerable process. The more reliable technique to jump back is to use an egghunter. You split your shellcode into stages: in the first stage you write an...
Code related to this article: hide-data-in-ptrWhen we write C code, pointers are everywhere. We can make a little extra use of pointers and sneak in some extra information in them. To pull this trick off, we exploit the natural alignment of data in memory. Data in memory is not stored at any...
In my previous article Kernels 101 - Let’s write a Kernel, I wrote how we can build a rudimentary x86 kernel that boots up using GRUB, runs in protected mode and prints a string on the screen. Today, we will extend that kernel to include keyboard driver that can read the characters a-z and 0-9...
Hello World,Let us write a simple kernel which could be loaded with the GRUB bootloader on an x86 system. This kernel will display a message on the screen and then hang. How does an x86 machine boot Before we think about writing a kernel, let’s see how the machine boots up and transfers control...
Intel’s x86 faces a tough road with ARM’s rise in servers. Discover how LLVM, VMs, and PaaS trends are reshaping the processor market landscape.One of the biggest challenges to Intel’s x86 hegemony in the consumer market has been the emergence of smartphones where ARM-based processors have...