C und Assembler gleichzeitig lernen

Ich habe eine Frage an euch:
Ich will diese 2 Bücher hier durchlesen:
dpunkt.verlag :: Hacking - Die Kunst des Exploits
und
Rootkits - James Butler / Greg Hoglund, Buch von Pearson Bookshop

Man muss ja aber C und auch ein bisschen Assembler können um die zu verstehen.
Ich kann bis jetzt aber nur C#, aber das ganz gut.
Also ich kann kleinere Anwendungen ohne Problemme programmieren.

Kann man 2 Programmiersprachen gleichzeitig lernen wenn man schon eine andere kann?
Was meint ihr.
Ich muss die Sprachen ja nicht perfekt beherrschen, nur soviel damit ich die 2 Bücher durchlesen und verstehen kann.
Oder soll ich lieber erst mal nur C oder Assembler lernen?
 
"Hacking - Die Kunst des Exploits" bringt einen (schnellen!) Einstieg in C mit und auch Assembler wird kurz und knackig angesprochen. Mit deinem Vorwissen in C# sollte das problemlos machbar sein. Ansonsten kannst du dir immernoch ein kleines C-Buch holen, wenn du Probleme mit Syntax oder Semantik hast. Zumindest weißt du dann auch, woran du noch arbeiten musst.

Für das zweite Buch solltest du dir eher Grundkenntnisse von Betriebssystemen aneignen, z.B. mit Modern Operation Systems. Hast du das erste Buch durchgearbeitet, dann sollten zumindest die Programmierkenntnisse (für den Anfang) ausreichend sein.
 
Das erste Buch habe ich jetzt schon mal bestellt :D
Das mit dem zweiten Buch lasse ich dann lieber vorerst,
weil ein 1200 seitiges Buch zu Betriebssystem durchzuarbeiten ist mir dann doch zu viel.
Ich hoffe ich komme nicht durcheinander bei den ganzen Programmiersprachen.
 
Es kommt natürlich ganz drauf an, wie schnell du lernst, aber meiner Meinung nach ist der Sprung von einer abstrakteren Sprache (wie C#) zu niedrigeren Sprachen (wie C oder asm), relativ schwer.

Auch wenn sich C und C# von der Syntax sehr ähneln, ist es glaub ich doch nicht ganz so leicht, C zu lernen. Und Assembler ist überhaupt eine Klasse für sich.
Beides ist vielleicht viel auf einmal.

Durcheinanderkommen solltest du bei den zweien aber nicht, da sie sich völlig unterscheiden.
 
Ersteinmal danke für eure tollen Ratschläge und dafür dass ihr einen Noob wie mich unterstützt. :D
Das Buch "Hacking die Kunst des Exploits" ist heute bei mir angekommen und ich habe mich auch gleich ran gesetzt.
Nur leider habe ich ein paar Probleme, unzwar hat es erstmal nicht funktioniert von der Cd aus zu booten.
Ich habe dann Google betätigt und gleich einen Thread von Hackerboard gefunden: :thumb_up:
http://www.hackerboard.de/die-problemzone/47299-hacking-die-kunst-des-exploits-2.html
Der User Bitmuncher empfiehlt dort DVL als Linux-Version zu dem Buch und deshalb habe ich es mir nun runtergeladen und auf einen USB-Stick mitsamt Portable Virtual Box installiert.
Die Sache ist die dass ich keine Ahnung von Linux habe, ich weiß nicht wie ich das jetzt anstellen soll in der Konsole Programme in C (GNU) zu schreiben und Objdump zu benutzen...
Das ist doch richtig so dass ich die Konsolenversion habe oder?
Das Buch liegt jetzt bei mir und verstehen tuhe ich bis jetzt auch alles, der Exkurs zu C ist meiner Meinung nach auch sehr ausführlich und leicht verständlich, deshalb würde ich es echt schade finden wenn ich jetzt wegen solchen Lappalien das Buch zur Seite legen müsste..
Google habe ich schon benutzt zu dem Thema und die Seite www.die-kunst-des-exploits.de habe ich natürlich auch schon durchgelesen aber ich komme grad einfach nicht weiter...
 
Wo genau kommst du denn nicht weiter?
Nutzt du DVL als Live CD / USB oder ist es auf deinem Computer installiert oder hast du es in Virtual Box installiert?

Hast du das System denn schon gestartet?

Programme muss man nicht in der Konsole schreiben. Ein einfacher Texteditor oder wenn du willst eine IDE gehen genauso. Du musst dann halt nur wissen, wo dein Sourcecode bzw. Binaries abgelegt sind, wenn du weitere Programme wie objdump nutzen willst.

Objdump ist meines wissens tatsächlich "nur" ein Konsolenprogramm.
Ich hab leider nicht mehr im Kopf wie "gründlich" das Buch einen in die Materie einführt, aber wird denn nicht erklärt, wie man objdump nutzen soll?
Eine Konsole solltest du natürlich öffnen können.
Ich habe jetzt mal kurz nach Bildern von DVL gesucht. Anscheinend wird KDE als Oberfläche genutzt. (zumindest hier)
Falls deine Oberfläche genauso ausschaut, dann wäre die Konsole schon mal das erste Icon neben dem "Start" Button Oder im Startmenü wohl unter Zubehör --> Terminal oder ähnliches.
Oft funktioniert auch die Tastenkombination STRG + ALT + T

Weiterhin sollte objdump Systemweit nutzbar sein. D. h. egal in welchem Ordner du dich mit der Konsole befindest ein einfaches "objdump" eingeben und es sollte erkannt werden. (Ohne zusätzliche Parameter wirst du dann wohl eine Meldung bekommen, dass beim Befehl noch der eine oder andere Parameter fehlen)

Ansonsten, wenn du noch überhaupt keine Ahnung von Linux hast, dann solltest du dich da evlt. auch einarbeiten.
Zwei kostenlose Bücher gibt es hier und hier
 
Hey,
ich hab mir das Buch "Hacking - Die Kunst des Exploits" vor ein Paar wochen gekauft, und hab angefangen darin zu lesen.
Bisher hab ich nur PHP und Javascript Programmiert, und in dem Studium haben wir gerade microcode und assembler gemacht.
Sowohl der C-Code, als auch der Assembler Code der in dem Buch steht ist relativ leicht zu verstehen, bzw. wird sonst genau erklärt was da gerade passiert.
C ist im Buch nicht schwer zu lesen bzw. verstehen, jedoch muss man konzentriert sein um alles mitverfolgen zu können.

Ich hoffe ich hab helfen können..

lg.
 
Ins sogenannte KDE bin ich jetzt reingekommen, mir fehlte der Befehl "startx". :P
Das DVL ist als Live Linux auf dem USB Stick installiert, wird durch ein portables Virtual Box ausgeführt dass auch auf dem Stick ist.
Die EclipseIDE für C++ die sich in dem DVL befindet ist auch mega langsam,
meinst ich sollte es lieber auf der Festplatte installieren?
Brauche es ja nur für das Buch.
 
Wenn du DVL in Virtual Box laufen lässt dann müsstest du DVL nicht auf USB installieren. Da kannst du die ISO auch auf der Festplatte lassen. Das sollte dann schneller gehen. Denn wenn du portable Virtual Box auf dem Stick hast und vom Stick dann auch noch DVL in VirtualBox bootest, dann kann dies schon die Geschwindigkeit beeinträchtigen.
Ansonsten musst du DVL nicht auf deinen PC installieren. Die DVL ISO Datei dürfte wohl eine Hybrid ISO sein, von der du auch direkt booten und diese dann verwenden kannst.
Wenn du also DVL auf den Stick installiert hast, den Rechner neu starten und beim Start den Stick als Bootmedium auswählen. Dann wirst du direkt in DVL gebootet. Dort kannst du dann alles testen.
Dabei werden die Daten alle in den RAM geladen. Startest du den Rechner neu, ist alles wieder weg, sofern du deine Daten in DVL nicht seperat irgendwo gespeichert hast.

Da sollte dann auch (Sofern dein PC genug Power hat) die Programme schneller laufen.

PS: Wenn du übrigens startx nicht eingibst, bist du in der Konsolenansicht und kannst dort auch alle Befehle ausführen :wink:
 
Ich hab das jetzt so gemacht wie dus vorgeschlagen hast und nur Virtualbox auf dem Stick und öffne damit die Iso Datei.
Hast recht gehabt jetzt läuft es viel schneller.
Aber eigentlich brauch ich doch jetzt gar nicht mehr den Stick, kann die Virtualbox ja auch von meiner Festplatte aus starten oder?
Mein Pc ist denke ich schnell genug für sowas, habe mir extra einen mit 8GB Arbeitsspeicher besorgt fürs Coden.

Es hat jetzt auch geklappt mit dem kompilieren in der Shell mit GCC. :)
Danke nochmals :thumb_up:

Edit: Und das mit dem objdump funktioniert jetzt auch.
Das Hauptproblem war wohl einfach dass es so langsam war vom Stick aus, dass man nicht vernünftig damit arbeiten konnte.
Jetzt kann ich endlich mit dem Buch fortfahren.
 
Zuletzt bearbeitet:
Ja, du kannst Virtual Box auch von der Festplatte laufen lassen. Der USB Stick wird nicht wirklich benötigt.

Der Stick wäre eben nur interessant, wenn du direkt in DLV booten willst :wink:

Und es freut mich, dass das kompilieren geklappt hat :)

Dann viel Spaß noch beim "hacken" :)
 
Zurück
Oben