add the stuff floating from other machines

This commit is contained in:
writer 2024-10-15 10:13:30 +09:00
parent 30e65244e2
commit 35788d79e2
252 changed files with 12374 additions and 603 deletions

View file

@ -1,11 +1,13 @@
# Reverse Engineering
* Objective: turn a x86 binary executable back into C source code.
* Understand how the compiler turns C into assembly code.
* Low-level OS structures and executable file format.
---
##Assembly 101
## Assembly 101
### Arithmetic Instructions
@ -116,7 +118,7 @@ p = q + (z + 1)
```
becomes
````
```
temp = z + 1
a = b + z
p = q + z
@ -164,6 +166,7 @@ Becomes:
y = x + x
y = (x << 4) - x
```
#### Code block reordering
Codes such as :
@ -177,6 +180,7 @@ l1:
l2:
return;
```
Becomes:
```
if (a > 10) goto l1
@ -198,6 +202,7 @@ goto l2
#### Instruction scheduling
Assembly code like:
```
mov eax, [esi]
add eax, 1
@ -205,6 +210,7 @@ mov ebx, [edi]
add ebx, 1
```
Becomes:
```
mov eax, [esi]
mov ebx, [edi]
@ -329,6 +335,6 @@ xxd -r hello.dump > hello
----
# Relevant Talks
# Talks
* [Patrick Wardle: Writing OS X Malware](https://vimeo.com/129435995)
* [Patrick Wardle: Writing OS X Malware](https://vimeo.com/129435995).