diff options
Diffstat (limited to '00')
-rw-r--r-- | 00/README.md | 15 | ||||
-rwxr-xr-x | 00/hexcompile | bin | 632 -> 632 bytes |
2 files changed, 8 insertions, 7 deletions
diff --git a/00/README.md b/00/README.md index 3be7e5c..25dc1ae 100644 --- a/00/README.md +++ b/00/README.md @@ -25,7 +25,7 @@ it even smaller if you wanted to. Let's take a look at what's inside (`od -t x1 00 10 00 00 00 00 00 00 48 b8 6d 02 40 00 00 00 00 00 48 89 c7 31 c0 48 89 c6 48 b8 02 00 00 00 00 00 00 00 0f 05 48 b8 72 02 40 00 00 00 00 00 -48 89 c7 48 b8 41 00 00 00 00 00 00 00 48 89 c6 +48 89 c7 48 b8 41 02 00 00 00 00 00 00 48 89 c6 48 b8 ed 01 00 00 00 00 00 00 48 89 c2 48 b8 02 00 00 00 00 00 00 00 0f 05 48 b8 03 00 00 00 00 00 00 00 48 89 c7 48 89 c2 48 b8 6a 02 40 00 00 @@ -179,18 +179,19 @@ Now we open our output file: - `48 b8 72 02 40 00 00 00 00 00` `mov rax, 0x400272` - `48 89 c7` `mov rdi, rax` -- `48 b8 41 00 00 00 00 00 00 00` `mov rax, 0x41` +- `48 b8 41 02 00 00 00 00 00 00` `mov rax, 0x41` - `48 89 c6` `mov rsi, rax` - `48 b8 ed 01 00 00 00 00 00 00` `mov rax, 0o755` - `48 89 c2` `mov rdx, rax` - `48 b8 02 00 00 00 00 00 00 00` `mov rax, 2` - `0f 05` `syscall` -In C, this is `open("out00", O_WRONLY|O_CREAT, 0755)`. This is quite similar -to our first call, with two important differences: first, we specify `0x41` as -the second argument. This tells Linux that we are writing to the file -(`O_WRONLY = 0x01`), and that we want to create it if it doesn't exist -(`O_CREAT = 0x40`). Secondly, we are setting the third argument this time. It +In C, this is `open("out00", O_WRONLY|O_CREAT|O_TRUNC, 0755)`. This is quite +similar to our first call, with two important differences: first, we specify +`0x241` as the second argument. This tells Linux that we are writing to the +file (`O_WRONLY = 0x01`), that we want to create it if it doesn't exist +(`O_CREAT = 0x40`), and that we want to delete any previous contents it had +(`O_TRUNC = 0x200`). Secondly, we are setting the third argument this time. It specifies the permissions our file is created with (`0o755` means user read/write/execute, group/other read/execute). This is not very important to the actual execution of the program, so don't worry if you don't know what it diff --git a/00/hexcompile b/00/hexcompile Binary files differindex 6aeed48..f4c575e 100755 --- a/00/hexcompile +++ b/00/hexcompile |