diff options
author | David Timber <dxdt@dev.snart.me> | 2024-11-21 06:49:24 +0100 |
---|---|---|
committer | David Timber <dxdt@dev.snart.me> | 2024-11-21 06:49:24 +0100 |
commit | 265dc7ecbb11a8586c5712f281cc8f20a79d05aa (patch) | |
tree | a451ab7dce97e4cd9562b589f1bcd5bbf5460cb4 /writeups | |
parent | d34f035e31a9e541abc23da5ac6c8270f5613270 (diff) |
Update writeups/unaligned-mem ...
Add pack.c and table.html
Diffstat (limited to 'writeups')
-rw-r--r-- | writeups/unaligned-mem/pack.c | 28 | ||||
-rw-r--r-- | writeups/unaligned-mem/table.html | 352 |
2 files changed, 380 insertions, 0 deletions
diff --git a/writeups/unaligned-mem/pack.c b/writeups/unaligned-mem/pack.c new file mode 100644 index 0000000..2b39d4d --- /dev/null +++ b/writeups/unaligned-mem/pack.c @@ -0,0 +1,28 @@ +#include <stdio.h> +#include <stdbool.h> + +#if 0 +#pragma pack(1) +#endif +struct { + unsigned a; + bool b; + unsigned short c; + unsigned d; +} a; + +int main(void) { + a.a = 0xAAAAAAAA; + a.b = true; + a.c = 0xFFFF; + a.d = 0x55555555; + + for (unsigned i = 1; i <= sizeof(a); i += 1) { + printf("%02x ", ((unsigned char*)&a)[i - 1]); + if (i % 4 == 0) { + printf("\n"); + } + } + + return 0; +} diff --git a/writeups/unaligned-mem/table.html b/writeups/unaligned-mem/table.html new file mode 100644 index 0000000..59f0fd4 --- /dev/null +++ b/writeups/unaligned-mem/table.html @@ -0,0 +1,352 @@ +<!DOCTYPE html> +<html> +<head> + <style> + table { + border-collapse: collapse; + display: inline-block; + margin: 1em; + } + td { + min-width: 45px; + border: 1pt solid black; + text-align: center; + width: 25%; + } + td.empty {} + td.set { + background: red; + } + td.pad { + background: green; + } + </style> +</head> +<body> + +<table> +<tbody> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="set" colspan="3">int ...</td> + </tr> + <tr> + <td class="set">... int</td> + <td class="pad"> </td> + <td class="pad"> </td> + <td class="pad"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> +</tbody> +</table> + +<table> +<tbody> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="set" colspan="4">int</td> + </tr> + <tr> + <td class="set">bool</td> + <td class="pad"> </td> + <td class="set" colspan="2">short</td> + </tr> + <tr> + <td class="set" colspan="4">int</td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> +</tbody> +</table> + +<table> +<tbody> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="set" colspan="4">int</td> + </tr> + <tr> + <td class="set">bool</td> + <td class="set" colspan="2">short</td> + <td class="set">int ...</td> + </tr> + <tr> + <td class="set" colspan="3">... int</td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> + <tr> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + <td class="empty"> </td> + </tr> +</tbody> +</table> + +</body> +</html> |