.PLT and .GOT – the key to code sharing and dynamic libraries

This text was found here: http://www.technovelty.org/linux/pltgot.html The shared library is an integral part of a modern system, but often the mechanisms behind the implementation are less well understood. There are, of course, many guides to this sort of thing. Hopefully this adds another perspective that resonates with someone. Let's start at the beginning — - … Continue reading .PLT and .GOT – the key to code sharing and dynamic libraries

Advertisements

Understanding Linux ELF RTLD internals

This text was found here: http://s.eresi-project.org/inc/articles/elf-rtld.txt /* Last update Sun Dec 22 06:55:39 2002 mayhem - Version 0.1 May 2001 - Version 0.2 .::. 2002 (WIP) : - Added stuff about rtld relocation . - Added stuff about rtld symbol resolution . - Various fixes and some links added . This draft remained unreleased for … Continue reading Understanding Linux ELF RTLD internals

An Emulator Writer’s HOWTO for Static Binary Translation

This is a very interesting article that I found at: http://www.gtoal.com/sbt/. This is a practical article showing to to craft a simple static binary translator and emulator. There is a lot of Computer Science literature on binary translation, both of the sexy dynamic variety and the slightly duller (from the CS point of view) static … Continue reading An Emulator Writer’s HOWTO for Static Binary Translation

Linkers and Loaders

This is an excelent (!!!) article describing in general terms how the process of linking (static and dynamic) and loading elf programs on linux works. This is a very valuable article. The original is found here: http://www.linuxjournal.com/article/6463?page=0,0 Discussing how compilers, links and loaders work and the benefits of shared libraries. Linking is the process of combining … Continue reading Linkers and Loaders

How debugger works

This text was found here http://www.alexonlinux.com/how-debugger-works Introduction In this article, I’d like to tell you how real debugger works. What happens under the hood and why it happens. We’ll even write our own small debugger and see it in action. I will talk about Linux, although same principles apply to other operating systems. Also, we’ll … Continue reading How debugger works

Where 0x08048000 ELF address came from?

Reading some ELF [1] and linux memory managing papers [2] I noticed the use of address 0x08048000 for the start of linear address but no one told why this address was chosen. Until now I didn't find an reasonably explanation, below are some links about what I was reading and commenting about this misteriousssss number: … Continue reading Where 0x08048000 ELF address came from?