C++ oder eher Asm?

05/16/2013 15:21 hansewurst#1
Hey lieber coder :)

Steh grad vor der großen frage ob ich c++ lernne soll oder asm?
Will hauptsächlich mit debuggern arbeiten pointer offsets etc. rausfinden, Ist da eher asm besser, oder das langfristige c++?

Danke für alle guten antworten :)
05/16/2013 15:36 マルコ#2
Die Frage ist, was willst du mit den Offsets anfangen? Ohne Hochsprache gar nichts.
Mein Vorschlag: Lern erstmal eine Hochsprache (C++, Delphi, C#, ...) und wenn du damit genug Erfahrung gesammelt hast (vllt so in 2 Jahren) kannst du die Basics von Assembler anschauen. Du musst Assembler nicht perfekt können. Die Basics reichen aus. Ist zumindest meine Meinung. Und je mehr du dait machst, umso besser wirst du dann auch mit Assembler.
Aber ich bezweifle, dass du jemals ein Programm mit Assembler machst. Die Sprache ist für solche Zwecke fast vollständig ausgestorben ;)
05/16/2013 16:59 hansewurst#3
Nur so neben bei, wäre dieses buch gut?
[Only registered and activated users can see links. Click Here To Register...]
05/16/2013 17:04 snow#4
Warum nicht beides lernen? Mit C++ wirst du so gut wie alles was du vor hast, realisieren können, den Reversing-Part / whatever kannst du dann mit Assembler erledigen.
Ich habe das Buch auch, es ist halt nicht wirklich eine Lektüre, mit der du sofort etwas anfangen kannst. Es fängt sehr theoretisch an (wie ist eine CPU aufgebaut etc.) und du lernst die Grundlagen der Assembler-Programmierung. Für die paar € ist das okay, persönlich würde ich aber sagen, dass mir die Tutorials von lena151 mehr gebracht haben, evtl. ist das ja etwas für dich. :)

Was genau hast du denn mit Assembler vor?
05/16/2013 17:10 Schlüsselbein#5
Ich kenn das Buch nicht, aber hier mal meine Meinung dazu:
Für Assembler brauchst du nicht unbedingt ein Buch.

Lern einfach C++. Wenn du dich zwangsläufig auch mit Assembler beschäftigen willst, lerne gar C. Schau dir zu verschiedenen kleinen Programmen von dir den erzeugten Assemblercode an und versuch zu verstehen, was der Compiler gemacht hat - mehr braucht man meistens nicht. Das Gefühl dafür kommt mit der Zeit einfach von selbst, wenn man sich genug dafür beschäftigt.


Je nach Assembler hast du nicht viele Befehle und wenn man sich ein wenig mit Prozessoren beschäftigt, fällt das lesen von Assembler leicht.
05/16/2013 17:11 マルコ#6
Ich rate einem Anfänger sehr davon ab, sich zu viel auf einmal vorzunehmen. Das endet eher in einem frustrierenden Chaos.
05/16/2013 17:14 Schlüsselbein#7
Das sage ich im Prinzip ja auch. Ich denke nicht, dass man sich explizit mit Assembler befassen will, gerade da der TS ja auch keine Programme in purem Assembler schreiben will. Das Gefühl kommt wie gesagt mit der Zeit und das ein oder andere mal kommt man auch nicht drum herum, sich mit Assembler zu befassen - selbst wenn man C oder C++ benutzt.
05/16/2013 17:32 .SkyneT.#8
Quote:
Originally Posted by Schlüsselbein View Post
Ich kenn das Buch nicht, aber hier mal meine Meinung dazu:
Für Assembler brauchst du nicht unbedingt ein Buch.

Lern einfach C++. Wenn du dich zwangsläufig auch mit Assembler beschäftigen willst, lerne gar C. Schau dir zu verschiedenen kleinen Programmen von dir den erzeugten Assemblercode an und versuch zu verstehen, was der Compiler gemacht hat - mehr braucht man meistens nicht. Das Gefühl dafür kommt mit der Zeit einfach von selbst, wenn man sich genug dafür beschäftigt.


Je nach Assembler hast du nicht viele Befehle und wenn man sich ein wenig mit Prozessoren beschäftigt, fällt das lesen von Assembler leicht.
Und dabei fürs erste die Optimierungen ausschalten, andernfalls
ist das ganze nochn stück schwerer zu verstehen.
05/16/2013 22:19 hansewurst#9
Quote:
Originally Posted by snow911 View Post
Warum nicht beides lernen? Mit C++ wirst du so gut wie alles was du vor hast, realisieren können, den Reversing-Part / whatever kannst du dann mit Assembler erledigen.
Ich habe das Buch auch, es ist halt nicht wirklich eine Lektüre, mit der du sofort etwas anfangen kannst. Es fängt sehr theoretisch an (wie ist eine CPU aufgebaut etc.) und du lernst die Grundlagen der Assembler-Programmierung. Für die paar € ist das okay, persönlich würde ich aber sagen, dass mir die Tutorials von lena151 mehr gebracht haben, evtl. ist das ja etwas für dich. :)

Was genau hast du denn mit Assembler vor?
Ich will eher richtung games hacking(Memory hacking) gehen, und da alle debuhger mit assembler laufen wusste ich nicht ob ich assembler lernen sollte. Wenn man z.B. pointer und offsets hat, kann man sie troz c++ kenntnisse nicht anwenden, weil in welchen buch wird memory hacking erklärt und welche befehle man verwenden muss? O.o

Ich will so schnell wie möglich memory hacking lernen, ich weis das dass lange dauert aber mein beruf soll auch etwas mit programmieren zu tun haben :)
05/17/2013 01:52 Dr. Coxxy#10
Quote:
Originally Posted by マルコ View Post
Die Frage ist, was willst du mit den Offsets anfangen? Ohne Hochsprache gar nichts.
Mein Vorschlag: Lern erstmal eine Hochsprache (C++, Delphi, C#, ...) und wenn du damit genug Erfahrung gesammelt hast (vllt so in 2 Jahren) kannst du die Basics von Assembler anschauen. Du musst Assembler nicht perfekt können. Die Basics reichen aus. Ist zumindest meine Meinung. Und je mehr du dait machst, umso besser wirst du dann auch mit Assembler.
Aber ich bezweifle, dass du jemals ein Programm mit Assembler machst. Die Sprache ist für solche Zwecke fast vollständig ausgestorben ;)
nja, das stimmt nicht wirklich, mit asm kriegt man meisten hackfeatures ohne probleme hin, das meiste sind net mehr als 20-100 zeilen asm, selbst aimbot etc. nicht wirklich ein problem.
probleme kriegst du, wenn du komplexere dinge wie z.b. ein ordentliches menü, etc. einbauen willst.

imo erstmal bissl asm lernen, nur grundlagen, dass du debugger bedienen kannst, lena151s reversing tuts durch, einfache codehooks mit CE hinkriegst und dann nebenbei ein bisschen C/C++ aneignen, die wirklichen hochsprachenfeatures, wie z.b. oo von c++ brauchst du eh erst wenn du nen gutes visualgui o.ä. machen willst.
05/17/2013 06:58 hansewurst#11
Quote:
Originally Posted by Dr. Coxxy View Post
nja, das stimmt nicht wirklich, mit asm kriegt man meisten hackfeatures ohne probleme hin, das meiste sind net mehr als 20-100 zeilen asm, selbst aimbot etc. nicht wirklich ein problem.
probleme kriegst du, wenn du komplexere dinge wie z.b. ein ordentliches menü, etc. einbauen willst.

imo erstmal bissl asm lernen, nur grundlagen, dass du debugger bedienen kannst, lena151s reversing tuts durch, einfache codehooks mit CE hinkriegst und dann nebenbei ein bisschen C/C++ aneignen, die wirklichen hochsprachenfeatures, wie z.b. oo von c++ brauchst du eh erst wenn du nen gutes visualgui o.ä. machen willst.
Hättest du dann ein buch oder irgend eine webseite zu empfehlen die mich zu asm näher bringt? :)
05/17/2013 07:57 Dr. Coxxy#12
Quote:
Originally Posted by hansewurst View Post
Hättest du dann ein buch oder irgend eine webseite zu empfehlen die mich zu asm näher bringt? :)
ich fand das hier ganz ok:
[Only registered and activated users can see links. Click Here To Register...]

solltest auf jedenfall lena151s reversing tuts machen und noch was zu reversing lesen.
Dazu:
[Only registered and activated users can see links. Click Here To Register...]
und wenn du dich auf ida spezialisierst:
[Only registered and activated users can see links. Click Here To Register...]

letzten beiden solltest du ohne probleme pdfs im netz finden... ;)