How to Assembler

  • Registrierung ist offen, allerdings wurden web.de und gmx.de als Mailanbieter gesperrt. Es gibt aktuell ein Problem mit dem Mailserver, demnach landen die Mails derzeit meistens im Spam.

preppy style

Penetration Tester
Moderator
May 5, 2024
128
197
43
Internet
Servus Leute,

ich will Assembler lernen. Alles an Quellen, Buecher, Plattformen usw her damit.
Was hat euch geholfen beim lernen?

Gruß,
preppy
 
  • Like
Reactions: AURUM
Disclaimer: Mein Background liegt im Linux Bereich, und mein hauptwissen stammt aus dem reversing und shellcoding. Assembly-Programme habe ich nur selten geschrieben, und wenn, dann waren es meist CTF-Challenges.

Zunächst solltest du lernen, wie man einen Debugger benutzt:
  • Unter Windows sind windbg und x64dbg ziemlich beliebt
  • Unter Linux gibts gdb und lldb

Wenn du dich für gdb entscheidest, rate ich dir, ein gdb-plugin zu verwenden, denn ohne ist gdb echt pain.
Die beiden bekanntesten sind pwndbg und gef:

Als nächstes solltest du entscheiden, welche Architektur du lernen möchtest:

Es gibt auch noch weitere Architekturen wie mips und riscv-v usw. die oft im embedded bereich eingesetzt werden.

Bücher, die ich sehr empfehlen kann:
Nützliche Seiten:
Es ist auch sinnvoll, vorher C zu lernen, da der Sprung von C zu Assembly dann nicht mehr so weit ist.
 
Last edited:
Was ist die Motivation dahinter?
Die basic instructions nachlesen und mithilfe von IDA einfache, selbstgeschriebene, Programme durchgehen war hilfreich für mich.
 
Was ist die Motivation dahinter?
Die basic instructions nachlesen und mithilfe von IDA einfache, selbstgeschriebene, Programme durchgehen war hilfreich für mich.
Die Motivation ist weiter runter als Assembler geht’s halt nicht mehr und da ich eigentlich programmieren kann bzw. code lesen und verstehen kann, ist es denk ich eine gute Möglichkeit seinen Horizont zu erweitern.
 
Die Motivation ist weiter runter als Assembler geht’s halt nicht mehr und da ich eigentlich programmieren kann bzw. code lesen und verstehen kann, ist es denk ich eine gute Möglichkeit seinen Horizont zu erweitern.

Kannst alternativ auch simple sachen programmieren (z.b. Taschenrechner, etc.) oder CrackMe's runterladen und dir das dann in Ghidra ansehen und daraus lernen.
 
Kannst alternativ auch simple sachen programmieren (z.b. Taschenrechner, etc.) oder CrackMe's runterladen und dir das dann in Ghidra ansehen und daraus lernen.
Ja der Plan ist erstmal zu verstehen was so grundsätzlich abgeht, dann eine solide Basis und dann mal schauen was wie es weiter geht
Post automatically merged:

Inwiefern ist der Sprung von C zu Assembly dann nicht mehr so weit? Ich finde da liegen immer noch Welten dazwischen.
Ja mein Plan ist auch erst assembly und dann c
 
  • Like
Reactions: Logxn
Inwiefern ist der Sprung von C zu Assembly dann nicht mehr so weit? Ich finde da liegen immer noch Welten dazwischen.
Ich glaube er meint damit, dass wenn du deinen reinen C Code dir in IDA anschaust, dass du - verglichen mit der Zeile in C und der Zeile im Disasembly - recht nah das verfolgen kannst. Hingegen bei C++ (gerade mit Templates) wirds halt absolut aids. Aber ich gebe dir recht, der Sprung ist definitiv immens.
 
Bevor du Lehrmaterial anschaust, solltest du dich für einen Syntax entscheiden. Leute mit wenig Erfahrung würden wahrscheinlich zum Intel Syntax raten, wenn man sich allerdings ein wenig informiert, erkennt man schnell den AT&T Syntax als unfassbar überlegen an.
 
Servus Leute,

ich will Assembler lernen. Alles an Quellen, Buecher, Plattformen usw her damit.
Was hat euch geholfen beim lernen?

Gruß,
preppy

Wie wäre es mit ein wenig mehr Kontext für uns:
Weshalb möchtest du Assembler lernen?
Was erhoffst du dir von fremden Meinungen, aus diesem Thread hier?
Worauf möchtest du in Zukunft hinarbeiten?
Bei welchem Kenntnisstand kann man dich abholen?

Das würde helfen dir eine halbwegs vernünftige Antwort geben zu können.

Ansonsten kann ich dir MIPS32/64, MASM oder meine eigene Assemblersprache empfehlen. Was aber je nach Anwendungsgebiet schwachsinnige Empfehlungen sein können.

Es ist generell angenehmer, wenn Jemand wenigstens einen Funken Eigeninitiative zeigt und sich nicht alles herantragen lassen möchte.

tl;dr -> Gib Gas, mach dich selbst schlau und sobald du auf dir unlösbare Probleme triffst, melde dich nochmal. :)

Grüße, calb.
 
Wie wäre es mit ein wenig mehr Kontext für uns:
Weshalb möchtest du Assembler lernen?
Was erhoffst du dir von fremden Meinungen, aus diesem Thread hier?
Worauf möchtest du in Zukunft hinarbeiten?
Bei welchem Kenntnisstand kann man dich abholen?

Das würde helfen dir eine halbwegs vernünftige Antwort geben zu können.

Ansonsten kann ich dir MIPS32/64, MASM oder meine eigene Assemblersprache empfehlen. Was aber je nach Anwendungsgebiet schwachsinnige Empfehlungen sein können.

Es ist generell angenehmer, wenn Jemand wenigstens einen Funken Eigeninitiative zeigt und sich nicht alles herantragen lassen möchte.

tl;dr -> Gib Gas, mach dich selbst schlau und sobald du auf dir unlösbare Probleme triffst, melde dich nochmal. :)

Grüße, calb.
Danke für die Antwort, ich möchte dir gerne deine Fragen beantworten.
Ich lerne gerne neues.
Das Zukünftige Ziel ist ehrlicherweise noch unklar, in erster Linie dient es dazu meinen Horizont zu erweitern und ich erhoffe mir daraus Techniken, besseres Verständnis oder Fähigkeiten zu erlernen die mich in meinem Job als Pentester weiterbringen.

Jawohl mach ich, dazu ist es aber hilfreich überhaupt mal zu wissen wo man anfangen muss.

Alles hier dient lediglich als Stoffsammlung.

Danke für Infos.

Gruß
 
Last edited: