diff --git a/school/os-sec/20181015_0-betriebssysteme.md b/school/os-sec/20181015_0-betriebssysteme.md new file mode 100644 index 0000000..d831799 --- /dev/null +++ b/school/os-sec/20181015_0-betriebssysteme.md @@ -0,0 +1,8 @@ +--- +title: Betriebssysteme +date: 2018-10-15 +--- + +# Betriebssysteme + +Bell-LaPaluda? diff --git a/school/os-sec/20181015_1-x86.md b/school/os-sec/20181015_1-x86.md new file mode 100644 index 0000000..f59c90e --- /dev/null +++ b/school/os-sec/20181015_1-x86.md @@ -0,0 +1,88 @@ +--- +title: x86 ASM +date: 2018-10-15 +--- + +# x86 ASM + +## Outline + +* 32 bit System + +## Syntax + +### Intel Syntax (verwendet in Vorlesung) + +* Intel Syntax (Ziel Operant ist immer links) +* Adressen in `[1234]` + +### AT&T Syntax + +* Ziel Operant ist rechts +* Register mit `%` +* Number Literals mit `$` + +## Memory Layout + +* `.bss` global uninitialized variables +* `.data` global initialized variables +* heap: dynamic variables +* `.text`: code (usually read-only) +* stack: lokale Variablen + procedure activation records +* heap grows up +* stack grows down + +### Stack Frame + +* **ESP**: Ende des Stacks +* **EBP**: Begin des aktuellen Stack Frames + +Enthält: + +* Lokale Variablen +* Parameter +* Caller Adresse + +| :---: | +| | +| --- | +| Parameters | +| :---: | +| Return address | +| :---: | +| prev frame address (alter *EBP*) | +| :---: | +| *EBP* -> | +| :---: | +| Local variables | +| :---: | +| *ESP* -> | +| :---: | +| | +| :---: | + +### MOV + +* `mov eax, ebx`: `eax = ebx` +* `mov edx, [1234]`: `edx = *1234` + + +### `PUSH` + +* `push ecx`: Wert von `ecx` auf den Stack, `esp - 4` +* `pop esi`: `esp + 4` + +### `RET` + +* `pop eip` + +### Subroutinen + +`f(1,2,3)` -> + +``` +push 3 +push 2 +push 1 +call f +``` diff --git a/school/os-sec/index.md b/school/os-sec/index.md new file mode 100644 index 0000000..1339477 --- /dev/null +++ b/school/os-sec/index.md @@ -0,0 +1,8 @@ +--- +title: Betriebssystemsicherheit +--- + +# Betriebssystemsicherheit + +* [Betriebssysteme](20181015_0-betriebssysteme) +* [x86 ASM](20181015_1-x86)