PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : c++ Will mehr als einfachste standards



Nonne93
19.06.2010, 09:21
Hi
So ich beschäftige mich jetzt schon seit einiger zeit mit c++. Und habe schon viele Tutorials gelesen und auch verschiedene Bücher gelesen. Was ich aber gemacht hab ist nicht mehr wie die Grundbefehle, Schleifen und einfache Klasen.
Was kann ich jetzt weiter üben/ lernen? Möchte eigentlich schon bei der Windowsprogrammierung bleiben und vll demnächst einen einfachen keyloggern programmiern. In welche richtugn muss ich meine (sehr geringen) c++-skills weiterentwickeln?

ich weiß nicht genau welche möglichkeiten es gibt und finde auch über google keine guten hinweiße.
Kann mir dann vll jemand tutorials empfehlen oder auch nur stichwörter geben mit denen ich bei google erfolgreicher bin ;).

Ein stichwort was mir jedoch öfters begegnet ist ist WinAPI. Macht das sinn in verbindung mit c++ oder ist das nicht eher für C gedacht?

Nonne93

fred777
19.06.2010, 09:29
Wie der Name schon sagt, kannst die WinApi natürlich auch für C++ benutzen.
Ansonsten kannst dir ja auch mal GUI Programmierung anschauen, GTK,QT etc..

Cristhecrusader
19.06.2010, 10:11
Socketprogrammierung, Standardbibliothek und WINAPI

c2x
19.06.2010, 13:55
Was hat denn Socketprogrammierung mit einem Keylogger zu tun?

Atropos
19.06.2010, 14:00
Was hat denn Socketprogrammierung mit einem Keylogger zu tun?
Wenn es ein Remote-Keylogger sein soll muss er per Sockets die Daten übertragen.

katerlysator
19.06.2010, 14:41
Probiers mal mit Gui's wie QT , dazu gibt es ein sehr gutes Buch von Jürgen Wolf
Mfg

c2x
19.06.2010, 18:17
Wenn es ein Remote-Keylogger sein soll muss er per Sockets die Daten übertragen.

Kannte ich noch nicht, ausser in RAT's. ;)


Probiers mal mit Gui's wie QT , dazu gibt es ein sehr gutes Buch von Jürgen Wolf
Mfg

Ist das nicht Literatur die zum Anfang etwas schwer im Magen liegt? ;) Mach dich lieber erstmal mit der WinAPI vertraut und ein Framework wie Qt ist mehr als Umfrangreich und sicherlich nicht sehr gut für Anfänger geeignet.
Alleine der Funktionsumfang wird dich erschlagen. ;)

Rofelmao
20.06.2010, 03:45
Naja wenn du mit der GUI Programmierung anfängst musst du dich schon ganz gut mit Klassen und Zeiger auskennen.

Gui Programmierung mit der ".net Framework" ist deutlich einfacher mit der IDE von Microsoft als Qt.

Wenn du ein Keylogger programmieren willst musst du mit der WinAPI programmieren


#include <windows.h> //winapi
#include <iostream>

int main() {
if(GetAsyncKeyState(VK_TAB)) // vk_tab = tabulator
{
cout << "\t";
}
}

Virtual-Key Codes (Windows) (http://msdn.microsoft.com/en-us/library/dd375731%28v=VS.85%29.aspx)

in der libary findest du für jede Taste den entsprechenden code

jojoomgasd
20.06.2010, 17:43
ja nur ist .Net Framework meiner meinung nach komplett fürn arsch xD

Nonne93
20.06.2010, 19:15
Zu Win API... macht es sinn sich noch damit zu beschäftigen oder ist es schon zu veraltet? und wenne s sinn amcht kann mir jemand tutorials empfehlen? (finde auch nur viele veraltete)

Sawyer
20.06.2010, 19:26
Zu Win API... macht es sinn sich noch damit zu beschäftigen oder ist es schon zu veraltet? und wenne s sinn amcht kann mir jemand tutorials empfehlen? (finde auch nur viele veraltete)
Durchaus. Im Endefekt Bauen intern alle Grafischen Frameworks wie z.B wxWidgets, QT auf die Windows API auf. Meiner Meinung nach lohnt es sich durchaus mit der Windows API zu beschäftigen ;)

MfG, Sawyer

morph.
20.06.2010, 20:41
Genau, denn die WinAPI ist die Schnittstelle zu Funktionen des Betriebssystems, für alles wie Dateizugriffe, Netzwerk, Tastatur, Maus ect...
Sehr gutes Tutorial für Gui Programmierung mit der WinAPI:
theForger's Win32 API Tutorial (http://www.winprog.org/tutorial/)
Ansonsten kannst du eigentlich alle Funktionen der Winapi meiner Meinung nach schön kategorisiert in der MSDN nachlesen.
Was mir auch sehr geholfen hat, war diese Seite: Windows Data Types (Windows) (http://msdn.microsoft.com/en-us/library/aa383751(VS.85).aspx) . Dort werden alle Windows Datentypen aufgezählt und definiert... Generell findet man aber eigentlich fast alles was man wissen will unter den ersten Ergebnissen bei google.

c2x
20.06.2010, 23:27
Gui Programmierung mit der ".net Framework" ist deutlich einfacher mit der IDE von Microsoft als Qt.

Stimmt nicht. Es kommt darauf an, womit man persönlich besser umgehen kann und sich auskennt. Zudem bietet Qt wesentlich mehr Vorteile als das .NET Framework.


Wenn du ein Keylogger programmieren willst musst du mit der WinAPI programmieren

Not. Ick muss jar nüscht. Rein theoretisch braucht ein Keylogger keine GUI.

Gaara
21.06.2010, 06:15
sorry für die dumme frage aber bedeutet das, dass man die WinAPI _ausschließlich_ für GUI programmierung braucht? weil ich hab glaub ich das gleiche problem wie der thread ersteller.... ich hab die basics alle, hab ettliche fette wälzer gelesen, aber in büchern lernt man leider nichts über verschiedene bibliotheken usw. deswegen stellt sich auch mir die frage, wie lerne ich selbstständig die funktionen kennen, die ich bspw. für nen crypter brauchte?0o die funktionsweise hab ich schon lang drauf, aber wie ich sowas jemals umsetzen könnte weis ich nicht im entferntesten. das mit dem crypter war natürlich nur ein bsp. die aussage bezieht sich auf viele programmarten.

GregorSamsa
21.06.2010, 07:25
Also: WinAPI = Windows Application Programming Interface = Schnittstelle umd Windows (d.h. Betriebssystem) Funktionalität nutzen zu können.
Beispiele wären z.B. Winsock (Netzwerksockets) und WinAPI Gui Funktionen.

QT, .NET, etc. sind Librarys, die eine größere Menge funktionen zusammenfassen, und dem Anwender auf einfachere Art zur Verfügung stellen.

Man kann aber auch ohne diese Dinge arbeiten, schwieriger, aber theoretisch möglich:
Gui's kann man auch mit direktem ansprechen der Grafikkarte, z.B. über Ansi-C Funktionen, machen (macht das nicht, das is nervig xD). Keylogger schreibt man halt direkt per Gestapeltem Treiber im System (wobei... man bruacht auch die WinAPI um diesen zu laden...).

Als Anfänger ist aber die wichtigste Funktion für nen Keylogger GetAsyncKeyState(...) aus der WinAPI, die ihr euch mal anschauen solltet.

wacked
21.06.2010, 08:47
Oder für dumme erklärt:
Die winapi sind auch nur Funktionen. Benutze sie so wie printf(),getc(),rand(),itoa() oder andere.
Und für fragen zur winapi:msdn.com

Rofelmao
21.06.2010, 11:49
Not. Ick muss jar nüscht. Rein theoretisch braucht ein Keylogger keine GUI.

WinAPI ist doch keine GUI, die WinAPI ist eine schnittstelle damit man zugriffe auf die Windows Funktionen hat, na klar hatt die winapi auch eine GUI aber die veraltet ist und nicht mehr genutzt wird, weil Microsoft .net entwickelt hatt.

morph.
21.06.2010, 12:44
Und .net baut keinstenfalls auf der winapi auf oder wie?
Die WinAPI ist eigentlich alles, was du beim programmieren nutzen kannst, wie schon gesagt. Alle Funktionen die dir Windows abnimmt, rufst du über die Winapi auf, nur wenn du Hardware direkt ansprichst entgehst du ihr, ansonsten kannst du gar nichts machen als sie zu benutzen. Auch Frameworks wie .net und Qt, Wx ect. bauen nur auf der WinAPI auf, sie wrappen diese eigentlich nur in Klassen, damit es leichter für die Programmierer ist, einfache Sachen zu programmieren wie zum Beispiel ein Fenster oder so. Im Endeffekt steht aber halt das Betriebssystem dahinter, weswegen die WinAPI gar nicht veraltet sein kann, außerdem werden ja immer neue Funktionen hinzugefügt.

wacked
21.06.2010, 12:47
Wait? Veraltet? Nicht mehr genutzt? Alles was eine GUI hat und weder .NET oder QT,GTK,... ist benutzt die WinAPI. Also fast alle Windows Programme vom Editor & Calc & Taskmanger zum Explorer. Außerdem der Windows Media Player, C&C Alarmstufe 3 und ICQ. (Ich hatte keinen Bock mehr zu testen. Sollte aber eine gute Übersich sein.)

Aber die sind natürlich veraltet.

Und für alles außer GUI führt (außer .NET) sowieso kein Weg an der WinAPI vorbei.

Rofelmao
21.06.2010, 12:49
Die GUI von WinAPI ist veraltet, doch nicht die Funktionen *rofl* die funktionen machen vom programm alles aus.

morph.
21.06.2010, 12:54
Wieso sollte denn die "GUI von WinAPI" veraltet sein, nur weil sie was heruntergekommen aussieht? Das lässt sich mit nem einfachen Manifest lösen...


Alles was eine GUI hat und weder .NET oder QT,GTK,... ist benutzt die WinAPI.
Bei .NET bin ich mir nicht 100%ig sicher aber alle anderen GUI Frameworks benutzen zu die WinAPI sicher. Ich wüsste nicht, wie man das machen sollte außer direkt mit der Hardware zu interagieren.
Aber Veraltet, nop.

Rofelmao
21.06.2010, 12:58
Ja aber die GUI nutzt man nicht in der Schreibweise von WinAPI, sonder eher von anderen Bibliotheken wie z.B. Qt oder wxWidgets.

morph.
21.06.2010, 13:04
Das mag für die meisten Leute zutreffend sein, ich hingegen verabscheue Frameworks - besonders QT - da es eigentlich eher eine Last ist. Jede noch so unwichtige Funktion wurde mit in die Klassen gepackt, damit es schön einfach und schnell geht - für den DAU halt. Außerdem ist es scheisse ein QT Programm zu verteilen, da man die Libraries - wie bei allen anderen Frameworks - mitliefern oder statisch linken muss. Beides missfällt mir massiv. Außerdem hast du bei eigenem Code immer noch mehr Kontrolle über das Geschehen, ein eigener Wrapper muss also her oder du schreibst die GUI einfach, oder benutzt Ressourcen Dialoge ect.