Die Verzweiflung

03/17/2011 15:37 rokko93#1
Guten Tag, Hello, Merhaba....

Ich, ein 17jähriger Schüler, bin seit einiger Zeit im ePVP Forum unterwegs und muss sagen, es gefällt mir. Das Problem ist, das ich es nicht voll und ganz ausnutzen kann, da ich mich keiner Kategorie zuzuordnen weiß. =/
Ich bin ein Mensch mit der Einstellung das Informationen zu allen zugänglich sein sollten.

Mein Anliegen besteht darin, mir Tipps, Ratschläge, vllt auch Lösungen zu meinem Zweifel zu geben. Und zwar kann ich mich nicht entscheiden, welche Programmiersprache ich lernen soll (SCHON WIEDER so einer, der nicht weiß der sich nicht entscheiden kann....jain). Angefangen hat alles damals mit Delphi. Hab Begriffe wie Compiler, Assembler, Maschinencode verinnerlicht und mittlerweile weis ich (zumindest denke ich das) einiges über die Technik bescheid und kann mir gut vorstellen wie, was und warum es so läuft. Nun möchte ich aber eine Sprache lernen, die ich später auch gebrauchen kann (ich will mal Informatik studieren), aber auch mit dem ich einiges anstellen kann. In jedem Forum, bei denen ich nur mitgelesen hab, wurde C++ erwähnt...es sei DIE Sprache, man könne alles damit machen usw..Also hab ich mir ein Buch gekauft (C++ von A bis Z) und habe es ANgelesen.
Jetzt stelle ich mir die Frage, brauche ich das:confused: Muss ich wirklich eine so komplexe Sprache lernen und alles gleich am Anfang können, oder reicht es wenn ich eine effizientere Sprache lerne bei dem ich die gleiche Leistung in weniger Zeit erbringe.
Das nächste Problem ist, das ich nicht weis in welchem Bereich in unterwegs sein will. Ob Gamehacking, Webhacking, Hardwarehacking (sagt man das so??) oder einfach nur Anwendungsprogrammierer. Meine Gier nach Wissen ist GROß, ich will wissen wie etwas Funktioniert, warum es so Funktioniert und wie man seinen Vorteil daraus zieht, wie man es Manipuliert. Ich will mir Informationen beschaffen können usw.. Diese Eigenschaften von mir merkte ich in meiner vorliebe zur Mathematik, Physik und Chemie, Naturwissenschaften eben. B2T: Welchen Bereich sollte ich zunächst wählen? Interesse wären eben in Gamehacking oder Webhacking (Ja ich weis was hacken ist, ich meine auch nicht das cracken)
Da nun diese Bereiche verschiedene Sprachen voraussetzen, wollte ich nun eine Sprache lernen, womit ich in einem Bereich seeeeehr tiefgreifend bin und im anderen Bereich es mir gut helfen kann (natürlich habe ich vor, mehr als eine Sprache zu lernen)

Mfg DustaiL
03/17/2011 16:08 MrSm!th#2
Wenn du wissen willst, wie alles im Hintergrund funktioniert, ist C++ definitiv die richtige Sprache, da sie perfekt dafür ist, Windows und Programme für Windows (gleiches gilt natürlich auch für andere Betriebssysteme, aber Windows ist nunmal am weitesten verbreitet) auf tiefster Ebene zu beeinflussen.
So viel komplexer als Java, C# und Delphi ist C++ nicht, der einzige Unterschied ist eben, dass Java und C# hauseigene Klassen für Strings haben und einige Dinge, die man in C++ selbst machen müsste, schon fertig anbieten, die Sprachen sind aber genau so komplex.

Sagen wir so, wenn du C# und C++ kannst, wirst du später keine Probleme haben, in keinem der Gebiete, die du genannt hast.
03/17/2011 16:10 black0utCpp#3
Erst mal lustiger Titel aber deine Frage ist durchaus berechtigt !

Es ist ambivalent : C++ ist sehr schnell aber auch sehr komplex ,sobald du jedoch C++ (zumindest die Grundlagen ) verstanden hast wird es dir nicht schwer fallen weitere Programmiersprachen zu erlernen !

Zum Thema Gamehacking :

Ist in C++ durchaus geschickt kann aber auch in C# realisiert werden.
und was du dir unter Webhacking vorstellst verstehe ich nicht ganz 0.o .

Also in letzter Konsequenz würde ich dir dazu raten C++ zu erlernen ,da C++ schnell
und es viel Unterstützung im Web gibt . Wenn du dich dem aber nicht gewachsen fühlst /du zu wenig Zeit hast.Könntest du mit Webscriptsprachen (PHP JAVASCRIPT)
anfangen und dann später auf C++ umsteigen !

Anzumerken wäre , dass C++ von A bis Z von vielen als nicht besonders einsteigerfreundlich eingestuft wird
03/17/2011 16:24 rokko93#4
Vielen dank erstmal für die Antworten :) Ich weis diese zu schätzen (Vorallem MrSm!th :> )
Unter Webhacking versteh ich in Server/Datenbanken eindringen. Exploits/Bugs herausfinden, Webseiten manipulieren.
Kann ich sowas wirklich auch mit C++ realisieren?
03/17/2011 16:28 black0utCpp#5
Exploits = ASM . (Stackowerflow ,register,Stack ...)
In Datenbanken eindringen kannst durch viele verschiedene Methoden
entweder durch MySQL Injection (eigtl. jede große Website heutzutage ist dagegen gefeit ! oder in dem du ein Programm dafür in C++ oder einer anderen ungefähr equivalenten also Java, C# schreibst..

Quote:
Originally Posted by rokko93 View Post
diese zu schätzen (Vorallem MrSm!th :> )
Das hat mich sehr verletzt -.- ;-)
03/17/2011 16:35 rokko93#6
Quote:
Das hat mich sehr verletzt -.- ;-)
Leider kenn ich mich mit den aktiven Personen hier noch nicht so aus =/

ASM ist ja schon Königsdisziplin, das will ich doch dann erst lernen, wenns auch soweit ist :S. Wie schaut es aber mit GUI in Windows mit C++ aus? Ich hab nicht sehr gute Sachen gehört. Sollte man dafür andere Sprachen ANLERNEN (für die GUI) und die Funktionen/Klassen, welche in C++ geschrieben worden sind und die wesentlichen/wichtigen Sachen enthalten (memory editing etc) einbinden?
03/17/2011 16:40 black0utCpp#7
Oh Gott das Graphical User Interface unter C++ ist das größte Argument GEGEN C++
die Windows API hat Funktion ,denen tausende Paramter übergeben werden müssen.
Da würde ich dir C# empfehlen und
Quote:
Das hat mich sehr verletzt -.- ;-)
war nicht ernst gemeint ;)
03/17/2011 16:43 rokko93#8
Kann ich meine C++ - "Sachen" in C# einbinden? Also Klassen, Funktionen oder vllt auch dll's?
03/17/2011 16:44 black0utCpp#9
nicht das ich wüsste bin aber überfragt
03/17/2011 18:21 ZackBlack#10
Quote:
Originally Posted by black0utCpp View Post
Oh Gott das Graphical User Interface unter C++ ist das größte Argument GEGEN C++
die Windows API hat Funktion ,denen tausende Paramter übergeben werden müssen.
WinForms, MFC könnte man verwenden wenns ne schöne Gui sein muss. Für ne Gui ne andere Sprache zu lernen würde ich nicht machen.
03/17/2011 18:35 xNopex#11
Quote:
Oh Gott das Graphical User Interface unter C++ ist das größte Argument GEGEN C++
Soll ganz nette Libs geben (QT, WxWidgets, etc.).
Aber natürlich hast du recht. GUI mit .NET = Lego spielen. Das ist sehr komfortabel. Java bietet mit awt und dem ganzen Zeugs auch ganz komfortable Sachen an. Aber wenn man sich an QT oder andere gewöhnt hat, sollte auch mit C++ relativ schnell eine GUI Anwendung stehen.

Quote:
Kann ich meine C++ - "Sachen" in C# einbinden? Also Klassen, Funktionen oder vllt auch dll's?
Ja. Dafür ist C++/CLI da.
03/17/2011 19:40 Akorn#12
Quote:
Originally Posted by rokko93 View Post
Vielen dank erstmal für die Antworten :) Ich weis diese zu schätzen (Vorallem MrSm!th :> )
Unter Webhacking versteh ich in Server/Datenbanken eindringen. Exploits/Bugs herausfinden, Webseiten manipulieren.
Kann ich sowas wirklich auch mit C++ realisieren?
Da solltest man sich vorallem mit der Websprache PHP und den Aufbau und die befehle der SQL Datenbanken auseinadersetzten. Auch kentnisse übers Unix/Linux BS sollte man sich aneignen.

Quote:
Originally Posted by black0utCpp View Post
Exploits = ASM . (Stackowerflow ,register,Stack ...)
Exploiten heist das man einen Fehler in der Pogrammierung ausnutzt das muss nicht umbedingt was mit Assembler zu tun haben.

Quote:
In Datenbanken eindringen kannst durch viele verschiedene Methoden
entweder durch MySQL Injection (eigtl. jede große Website heutzutage ist dagegen gefeit !
Eigentlich Nennt man das eindringen in SQL datenbanken
"SQL injection" MySQL ist nur eines von vielen Datenbank Programmen.

Quote:
Originally Posted by rokko93 View Post
ASM ist ja schon Königsdisziplin, das will ich doch dann erst lernen, wenns auch soweit ist :S. Wie schaut es aber mit GUI in Windows mit C++ aus? Ich hab nicht sehr gute Sachen gehört. Sollte man dafür andere Sprachen ANLERNEN (für die GUI) und die Funktionen/Klassen, welche in C++ geschrieben worden sind und die wesentlichen/wichtigen Sachen enthalten (memory editing etc) einbinden?
In C++ steht einem nicht direkt ein GUI system zu verfügung so wie es die .NET sprachen indirek haben. Stattdessen hat man die freiheit zwischen mehreren GUI Librarys auswählen zu können.

Quote:
Originally Posted by black0utCpp View Post
Oh Gott das Graphical User Interface unter C++ ist das größte Argument GEGEN C++
die Windows API hat Funktion ,denen tausende Paramter übergeben werden müssen.
Wie ich oben ja geschrieben habe gibt es ja noch andere GUI librarys. Und beider Winapi kann man durch Dialoge einiges Vereinfachen.
03/17/2011 21:44 rokko93#13
Uyuyuy hier gehts ja mittlerweile richtig zur Sache :).
Schon klar, ich hab mit C++ natürlich mehrere Lib's zur Verfügung, aber das ist wie wenn ich ein Rennauto will und mir ein Opel hole, egal welches Modell. (Nichts gegen Opel :D).
Ich hab jetzt mit C# angefangen, die Syntax baut sich auf C++ auf (Ich weis nicht, aber Allgemein die Syntax von C/C++/C# ist für mich am logischten). Damit hat sich auch das GUI Problem gelöst, ich hab außerdem noch viele möglichkeiten mit der Sprache und nach ner weile lerne ich mir noch C++ für die "krassen" Sachen an.

Hab mal hier ein Codebeispiel für Primzahlen
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Primzahlen
{
    class Program
    {
        public static void Main()
        {
            int  anfang, ende, zaehler = 0, teiler;

            Console.WriteLine("Anfangswert eingeben: ");
            anfang = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Endewert eingeben: ");
            ende = Convert.ToInt32(Console.ReadLine());


            for ( ;  anfang < ende;  anfang++)
            {

                for (teiler = 2; teiler < anfang; teiler++)
                {
                    if ((anfang % teiler) == 0) break;

                }

                if (teiler == anfang)
                {
                    zaehler++;
                    Console.WriteLine("{0} ist eine Primzahl", anfang);
                }

            }
            Console.WriteLine("in diesem bereich gab es {0} primzahlen",zaehler );
            Console.Write("Programm beenden");
            Console.ReadKey();
        }
        
    }
}
Und bevor ich noch ein neuen Thread eröffne stelle ich hier mal gleich noch 2Fragen:
Sind hier viele/gute C#-Coder unterwegs?
Hab jetzt als Tutorial [Only registered and activated users can see links. Click Here To Register...] genommen, ist das zu empfehlen?
03/17/2011 22:07 MrSm!th#14
Du verstehst das mit dem Webhacking irgendwie falsch.
Erstmal ist es illegal, von daher pfui, zweitens hat es nichts mit der Programmiersprache zutun.
Buffer/Stack Overflows kannst du mit allem produzieren, C++, Asm, Autoit, whatever.
Außerdem gibt es ja noch zig andere Methoden wie Sql-Injections, was man dann ja eher per Hand macht, DDoS, ... .

Außerdem hat das nun wirklich 0 mit Gamehacking oder Andwendungsprogrammierung zutun und Geld verdienen, wird damit auch schwer.

Lass die Finger davon, die meisten enden dann doch nur als Script Kiddies die sich irgendwelche Exploits irgendwoher holen und sie an irgendwelchen Seiten testen, die sie bei Google finden.

Quote:
Schon klar, ich hab mit C++ natürlich mehrere Lib's zur Verfügung, aber das ist wie wenn ich ein Rennauto will und mir ein Opel hole, egal welches Modell. (Nichts gegen Opel ).
Nicht wirklich. Ich habe noch nicht soo viele komplexe GUI Anwendungen in Sprachen wie C# gemacht, aber ich behaupte mal ganz dreist, gibt fast keinen Unterschied zwischen dem Entwickeln (!) des GUIs mit C# und mit C++ mit MFC (oder WinForms)
03/17/2011 22:17 rokko93#15
Ok, heißt das wenn ich jetzt Hacks/Trainer/etc erstelle bin ich mit C++ besser bedient?
Außerdem will ich die Tools dann eh weiter ausbauen, z.b. wenn ein Bot angeschrieben wird, bzw. unerwartete Ereignisse passieren, das ich ein E-mail geschickt bekomme, wenn nicht sogar den Bot beende mit meinem handy.