This post is going to cover some stuff I learned while suffering through some rando keygen style reverse engineering CTFs. Basically, what do you do| k3170
So I lied a little about what would be the next in the series, I realized there was something I should have added to the previous one - which ironically was the addends about the r_addend field :) So here it is, the section on mangling r_addend fields with some other tricks I left out.| k3170
This post is part of a series on the ELF format, if you haven't checked out the other parts of the series here they are:| k3170
This post is part of a series on the ELF format, if you haven't checked out the other parts of the series here they are:| k3170
This post is part of a series on the ELF format, if you haven't checked out the other parts of the series here they are:| k3170
Hi folks, this post is part of a series about the ELF format. So far in this series we have:| k3170
Welcome back folks! In the previous post I covered pretty much the most trivial parts of the ELF file format. In this post we are actually going to work with one of the most interesting mechanisms in the file - the program headers! I skipped some parts of the ELF header in the previous post and decided to cover them here specifically because they inform on the Program Headers anyway. Lets get started!| k3170
ELF Files are charged with using their magic to perform two holy tasks in the linux universe. The first being to tell the kernel where to place stuff in memory from the ELF file on disk as well as providing ways to invoke the dynamic loaders functions and maybe even help out with some debugging information. Essentially speaking its telling the kernel where to put it in memory and also the plethora of tools that interpret the file where all the data structures are that hold useful information ...| k3170