Besserer Programmierer werden

11/10/2012 01:45 mcuncool#1
:rtfm:

Wir haben im Rahmen des Studiums Java gelernt und ich kann einfachere Programme erstellen und verstehe auch einwenig OOP. Wir sind aber nur sehr oberflächlich auf Windows oder Computer an sich eingegangen.

Und ich habe mal mit OllyDbg meine BF2.exe aufgemacht und war überwältigt, das ganze Assembler Zeug und Register und irgendwelche Zeiger werden auf irgendwelche Stellen im Speicher verschoben und und und... Ich kann mir einfach keinen Reim draus machen.

Mir ist klar, dass ich kein Plan von gar nichts habe, außer vielleicht einigen theoretischen Konzepten. Aber ich will mich unbedingt steigern! Was muss ich lesen, rauchen, beschwören, um besser zu werden? Ich will z.B. wissen wie ein Programm im Computer abgearbeitet wird und wie man sowas wie VLC Player scheibt und sollche Sachen.

Gebt mir Bücher oder Links oder helft mit dem Rat ^^
11/10/2012 02:01 Dr. Coxxy#2
kommt sehr stark darauf an was du machen möchtest.

wenn dich eher hardware nahe programmierung interessiert sind die sprachen der wahl assembler und C/C++.

windowsprogrammierung ist C# Sprache der wahl, java ist für betriebssystemübergreifende high level programmierung, php und javascript usw. für webprogrammierung etc...

kommt sehr stark drauf an, was du machen möchtest.

C und C++ sind echte allrounder mit denen du fast alles tun kannst was an einem rechner möglich ist.
11/10/2012 02:28 mcuncool#3
Ich habe mir aus dem Wunsch mich zu bessern einwenig C "angeeignet", sprich, die Syntax und an dieser Stelle danke ich Brian W. Kernighan für das geile Buch ^^

Die Sprache C gefällt mir sehr und ich werde mich bemühen darin besser zu werden, aber was nu?

Ich kenne jetzt die Syntax, wie füge ich eine eigene Dll zu einem Prozess und lasse eine Funktion daraus ausführen ? Wie schreib ich einen eigenen Service mit 'nem eigenen Protokoll ? Oder eine Firewall ?

Offensichtlich ist das mit meinem Wissensstand unmöglich, aber da will ich hin ^^
11/10/2012 02:48 Dr. Coxxy#4
internetz.

ne, zu bestimmten themengebieten findest auch fachliteratur in form von büchern, das meiste findest du aber im internet.

dll wird mittels der technik der dll injection in einen prozess geladen, oder wenn der prozess "freiwillig" läd ruft er loadlibrary auf, oder linkt statisch.
hier zum einlesen:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]

beim laden einer dll wird automatisch Dllmain aufgerufen:
[Only registered and activated users can see links. Click Here To Register...]

zu allen themen findest du hilfe im internet, am besten hilft eigtl. google und jede menge ausprobieren.

mit "<thema> c++ example" findest du eigtl praktisch zu jedem themengebiet beispiele und mehr.
für größere themen kann man sich auch wikipedia etc. anschauen, weitere anlaufstellen sind die msdn, cplusplus.com, codeproject usw.