aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Timber <dxdt@dev.snart.me>2024-11-21 06:49:24 +0100
committerDavid Timber <dxdt@dev.snart.me>2024-11-21 06:49:24 +0100
commit265dc7ecbb11a8586c5712f281cc8f20a79d05aa (patch)
treea451ab7dce97e4cd9562b589f1bcd5bbf5460cb4
parentd34f035e31a9e541abc23da5ac6c8270f5613270 (diff)
Update writeups/unaligned-mem ...
Add pack.c and table.html
-rw-r--r--writeups/unaligned-mem/pack.c28
-rw-r--r--writeups/unaligned-mem/table.html352
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">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="set" colspan="3">int ...</td>
+ </tr>
+ <tr>
+ <td class="set">... int</td>
+ <td class="pad">&nbsp;</td>
+ <td class="pad">&nbsp;</td>
+ <td class="pad">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+</tbody>
+</table>
+
+<table>
+<tbody>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="set" colspan="4">int</td>
+ </tr>
+ <tr>
+ <td class="set">bool</td>
+ <td class="pad">&nbsp;</td>
+ <td class="set" colspan="2">short</td>
+ </tr>
+ <tr>
+ <td class="set" colspan="4">int</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+</tbody>
+</table>
+
+<table>
+<tbody>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</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">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+ <tr>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ <td class="empty">&nbsp;</td>
+ </tr>
+</tbody>
+</table>
+
+</body>
+</html>