Notes

Do not read codes but patch binary.

libc

Simple overwriting of GOT

GOT overwriting is a good starting point for making sense of what is all about "relocation". Relocation can be done in two phases; statically or dynamically. Here, I will mention about dynamic relocation. When you call a function whatever …

Copying instruction area & executing it on the fly

Calling a function means setting one of the registers onto which the instructions for the function are stayed. Even when you call it at multiple times, the memory you access will never be changed by contrast with the allocation of the foot…

musl code reading ( 0. 概略編 )

xv6のuserland側を拡張しようと、最近musl(https://www.musl-libc.org/)のsourceを読んでいて、なかなか美しいので、備忘録的に何回かに分けてlogを残しておく。 先ず、musl自体なんだけど、軽量glibcの一種で,特徴として 1.単一のshared libraryになる. ->g…