Ciekawe, co się stało przed wywołaniem metody main(), np. Załadowanie pliku wykonywalnego do pamięci, dynamiczne ładowanie udostępnianej biblioteki. Czy masz jakieś sugestie, jak zrozumieć te rzeczy przez ćwiczenia ręczne?Każde ćwiczenie praktyczne, aby zrozumieć, w jaki sposób program jest ładowany do pamięci i wykonywane.
Narzędzia amd rzeczy znam, a przy użyciu obecnie obejmuje:
- strace
- demontować
- readelf
- /proc/pid/mapa
UWAGI: Znam wspaniałą książkę linkers and loaders, ale praktyczne ćwiczenia mogą mnie nauczyć lepiej niż czytanie książki.