# Decompiler vs. Disassembler
## Task 1:
## Ein Programm vergleicht, ob eine Zahl **gleich** 10 ist.
#### Wenn ja, soll ***`"Counter = 10"`*** ausgeben werden, sonst ***`"Counter not 10"`***
#### *Da die Zahl 7 statisch im Programm eingetragen ist, wird der erste Fall **nie** eintreffen.*
#### Egal, denn der Fokus der Übung liegt auf dem Unterschied zwischen **Decompiler und Disassembler**.
#### Das Programm liegt in 2 Varianten vor: als *C- und Java- Programm.*
---
```
main:
MOV b0, 7
MOV b1, 10
compare:
CMP b0, b1
JZ comparesuccesslabel
JMP comparenotsuccesslabel
comparenotsuccesslabel:
ECHO comparenotsuccesstext
JMP labelpause
comparenotsuccesstext:
STRING "Counter not 10"
comparesuccesslabel:
ECHO comparesuccesstext
JMP labelpause
comparesuccesstext:
STRING "Counter = 10"
labelpause:
PAUSE 60000
END
```
---
## Task 2:
### Disassemblieren Sie counter.o mit IDA Pro und analysieren Sie die grafische Ansicht:
### Lokalisieren Sie die Bedingungen und vergleichen Sie den Code mit YASP sowie Counter.c.

> Die Tools Gidhra und Tool IDA Pro sind beide Disassembling Tools. Diese Tools disassemblieren ein Programm oder Code-Teil. Mir persönlich gefällt IDA Pro besser, da es deutlich übersichtlicher ist.> [name=danieldemetry]
## Task 3:
### Disassemblieren Sie nun counter.o mit onlinedisassembler.io
### Finden Sie das Label main und machen Sie einen Screenshot von jeder Codesequenz, die Ihrem YASP-Code entspricht:
---

## Task 4: Dekompelieren SIe nun counter.jar mit decompiler.com und vergleichen Sie das Ergebnis mit *counter.java*

---

> Die Originaldatei (counter.java) aus Moodle ist 1 zu 1 ident zu der Dekompelierten Datei (counter.jar).
> > [name=danieldemetry]
## Task 5:
### Beschreiben Sie in eigenen Worten die Aufgaben und Funktionsweisen eines Decompilers im Vergleich zu Disassembler.
Die Übung vom 15.03.2021 hat mir vieles über einem Disassembler und Decompiler gezeigt.
Davor haben wir das noch nie gelernt und ich persönlich finde das sehr interessant, wie überhaupt ein "Programm" oder ein Codeteil wie wir es in der Stunde gemacht haben aussieht.
Dass sowas für das Cracken zuständig ist finde ich echt spannend und würde mich freuen wenn wir beim nächsten Switch das Thema weiterführen.