johannst / dynld

Dynamic linker studies.

Home Page:https://blog.memzero.de/xpost-dynld/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dynld

This repository contains studies about process initialization and dynamic linking on Linux(x86_64). It is mainly used for personal studies, but may be useful to some random internet user.

All studies and discussions assume the following environment:

  • Arch: x86_64
  • OS: Linux Kernel
  • System ABI: SystemV x86_64 ABI
  • BinFMT: ELF

The studies are structured as follows:

  1. Ch 01 dynamic linking: Brief introduction to dynamic linking.
  2. Ch 02 process initialization: Building a no-std executable and exploring the initial process state.
  3. Ch 03 dynamic linker skeleton: Building a skeleton for the dynamic linker which can run a statically linked no-std executable.
  4. Ch 04 dynld no-std: Building a dynamic linker dynld which can initialize the execution environment for a no-std executable with a shared library dependency.

License

This project is licensed under the MIT license.

About

Dynamic linker studies.

https://blog.memzero.de/xpost-dynld/

License:MIT License


Languages

Language:C 82.2%Language:C++ 7.6%Language:Makefile 6.9%Language:Assembly 3.4%