Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 21:54

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C++ lernen womit?

Discussion on C++ lernen womit? within the C/C++ forum part of the Coders Den category.

Reply
 
Old 12/04/2012, 23:46   #31
 
Dr. Coxxy's Avatar
 
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
Quote:
Originally Posted by Nightblizard View Post
Nope.


Damit kannst du Funktionen deklarieren und Aufrufen als wären sie in C++ geschrieben.

"FastCall This calling convention is not supported."
da fangen die probleme schon an.
da auch inline assembler nicht möglich ist, bekommt man bei funktionen die außerhalb der normal üblichen konventionen liegen, was durchaus schonmal durch compileroptimierung oder durch i-nen trick des programmierers (sieht man öfters mal in low level engine funktionen), praktisch nicht lösbare probleme.
EDIT:
da es wohl auch kein naked functions gibt(korrigier mich, wenn ich irre), fallen auch noch einige hookingmethoden und andere tricks raus.

Quote:
Sauber und unauffällig, daran ist nichts auszusetzen.
ist einfach zu erkennen und lassen sich gegenmaßnahmen gegen ergreifen.
um diese gegenmaßnahmen auszuschalten muss man dann wieder unmanaged code anwenden, falls überhaupt so einfach möglich.

Quote:
Doch, auch hier übernimmt der Marshal die ganze Arbeit.
mir jetzt nicht so genau angeschaut, aber kann ich ein objekt wie dieses hier:
Code:
class GameClass
{
public:
	__declspec(align(16)) Vec4 a;
	__declspec(align(16)) Vec3 b;
	__declspec(align(16)) Vec4 c;
	__declspec(align(16)) Vec3 d;
	int SomeInt1;
	bool SomeBool1;
	bool SomeBool2;
	bool SomeBool3;
	char* SomeCString;

	virtual void f0000();
	virtual int& f0001();
};
in c# so simpel wie hier (c++) deklarieren und benutzen?
z.b.:
Code:
	GameClass* Blubb = (GameClass*) 0x123456;
	Blubb->f0000();
	Blubb->a = Vec4(0, 1, 2, 3);
	int temp = Blubb->f0001();
	Blubb->SomeBool3 = false;
oder objekte davon selber erstellen?
oder muss ich erst zig tricks anwenden, damit vtable, bool alignment und vector alignment beachtet wird?

Quote:
Jup, das geht sogar einfacher als in C++, weil das der Marshal für dich macht. Siehe oben.
einfacher würde ich das nicht nennen, in c/c++ reicht ein typedef.
Dr. Coxxy is offline  
Thanks
1 User
Old 12/05/2012, 13:22   #32
 
DerBasiop's Avatar
 
elite*gold: 12
Join Date: Aug 2012
Posts: 616
Received Thanks: 66
Können wir uns wieder um den eigentlichen Thread Kümmern ;-)
DerBasiop is offline  
Thanks
1 User
Old 12/05/2012, 13:53   #33

 
Flyff_Service's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 680
Received Thanks: 337
Quote:
Weil das so eine Aussage wie "C++ Code ist schneller als .NET Code" ist und ganz einfach falsch ist. C++ ist sehr gut dafür geeignet, aber besser als C#? In manchen Bereichen durchaus, aber im Großen und Ganzen nicht. Das ist einfach zu situationsbedingt, als dass man es so verallgemeinern könnte.
Für einen Bot ist meiner Meinung nach C# zwar besser geeignet geht es aber in Richtung Gamehacking kommst du um C/C++ nicht herum. Wie versteckt man denn z.B seine Hooks vor professionellen Antihacks mit C#? Geht nicht.

Quote:
Super, das Gleiche gilt für C++. Hau nen kleines Programm durch nen Disassembler und du kannst es auch ganz einfach nachvollziehen. Mit Hex-Rays bekommst du sogar relativ akuraten Quellcode erzeugt.
Da schenken sich beide Sprachen nichts.
Schon bisschen komplexer und man kann es nicht mehr so leicht nachvollziehen mit einem Disassembler und aus Assembler einen Sourcecode zu generieren geht mit solchen Programmen in 99% der Fälle in die Hose. Dagegen kann man bei .Net Programmen den gesamten Quellcode auslesen. Verstehe nicht was du dir hier schön reden willst?

Quote:
Naja, das kommt drauf an. Prinzipiell nicht, da hast du schon recht. Aber das ist das auch nicht so wichtig, schließlich argumentieren hier viele nur mit "C++ = Performance" und das stimmt nunmal so einfach nicht. Es ist in C++ einfacher langsamen Code zu schreiben als es das in C# ist. Es ist dennoch sehr einfach in C#, aber da gibt es entsprechende Kontrollstrukturen, die das alles noch ein wenig kompensieren.
Also nur weil man angeblich einfacher langsamen Code in C++ schreiben KANN ist es für dich im Endeffekt langsamer als C#? Gibt genügend Benchmarks und Assembler ist einfach schneller als Managed Code - was ja auch logisch ist.

@DerBasiop
Wenn du nur einen Bot schreiben möchtest, empfehle ich dir C# - sobald du aber etwas komplexeres Gamehacking betreiben möchtest wie z.B Aimbots und Hacks welche das Spiel modifizieren solltest du dich für C++ entscheiden. Da du mit C++ gewisse Vorteile hast wie z.B inline Assembler - sehr hilfreich für Hooks und um interne Spielfunktionen auszuführen brauchst du nur den Assemblercode kopieren - erleichtert einem die Arbeit ungemein. Mit C# allein kannst du deinen Hack nicht vor Antihacks verstecken und riskierst eine höhere Chance gebannt zu werden.
Flyff_Service is offline  
Thanks
2 Users
Old 12/05/2012, 14:17   #34
 
DerBasiop's Avatar
 
elite*gold: 12
Join Date: Aug 2012
Posts: 616
Received Thanks: 66
Quote:
Originally Posted by Flyff_Service View Post
Für einen Bot ist meiner Meinung nach C# zwar besser geeignet geht es aber in Richtung Gamehacking kommst du um C/C++ nicht herum. Wie versteckt man denn z.B seine Hooks vor professionellen Antihacks mit C#? Geht nicht.



Schon bisschen komplexer und man kann es nicht mehr so leicht nachvollziehen mit einem Disassembler und aus Assembler einen Sourcecode zu generieren geht mit solchen Programmen in 99% der Fälle in die Hose. Dagegen kann man bei .Net Programmen den gesamten Quellcode auslesen. Verstehe nicht was du dir hier schön reden willst?



Also nur weil man angeblich einfacher langsamen Code in C++ schreiben KANN ist es für dich im Endeffekt langsamer als C#? Gibt genügend Benchmarks und Assembler ist einfach schneller als Managed Code - was ja auch logisch ist.

@DerBasiop
Wenn du nur einen Bot schreiben möchtest, empfehle ich dir C# - sobald du aber etwas komplexeres Gamehacking betreiben möchtest wie z.B Aimbots und Hacks welche das Spiel modifizieren solltest du dich für C++ entscheiden. Da du mit C++ gewisse Vorteile hast wie z.B inline Assembler - sehr hilfreich für Hooks und um interne Spielfunktionen auszuführen brauchst du nur den Assemblercode kopieren - erleichtert einem die Arbeit ungemein. Mit C# allein kannst du deinen Hack nicht vor Antihacks verstecken und riskierst eine höhere Chance gebannt zu werden.
Alles kla Danke !
DerBasiop is offline  
Thanks
1 User
Old 12/06/2012, 02:36   #35
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
Quote:
Originally Posted by Flyff_Service View Post
Für einen Bot ist meiner Meinung nach C# zwar besser geeignet geht es aber in Richtung Gamehacking kommst du um C/C++ nicht herum. Wie versteckt man denn z.B seine Hooks vor professionellen Antihacks mit C#? Geht nicht.
wieso denkst du das?
Quote:
Schon bisschen komplexer und man kann es nicht mehr so leicht nachvollziehen mit einem Disassembler und aus Assembler einen Sourcecode zu generieren geht mit solchen Programmen in 99% der Fälle in die Hose. Dagegen kann man bei .Net Programmen den gesamten Quellcode auslesen. Verstehe nicht was du dir hier schön reden willst?
warum sollte mich das stören wenn man meinen quelltext auselsen kann?.
Quote:
Also nur weil man angeblich einfacher langsamen Code in C++ schreiben KANN ist es für dich im Endeffekt langsamer als C#? Gibt genügend Benchmarks und Assembler ist einfach schneller als Managed Code - was ja auch logisch ist.
ja c++ ist im prinzip schneller, liegt hauptsächlich daran das die c++ compiler mehr optimierungen und tricks draufhat (z.B. gibt es assemblerbeehle die der CLR compiler garnicht nutzt), das nativer code grundsätzlich schneller ist, als Managed Code ist einfach falsch denn jede methode muss zur laufzeit ja nur einmal übersetzt werden, und der GarbageColector fällt im normalfall auchnicht ins gewicht.


Naja falls ich iwann nochmal einen einen Hack schreiben werde werde ich wohl C# und C++ gemischt einsetzten man kann ja C# und native C++ code in eine assebly (exe oder dll) linken (dazu bruacht man aber Visual Studio professional, mit express ist es glaube ich ziemlich umständlich).


@te es gibt hier im forum genug "Welche Sprache ist geeignet" Threads in dir einer sagt c++ ein anderer C# und wieder ein anderer Delphi, LISP, SQL, Autoit, Assembler oder iwas anderes vorschlägt.
und "Wie lerne ich C++" Theads gibt es auch genug, such einfach danach.
nkkk is offline  
Old 12/06/2012, 11:13   #36
 
ZenZen.Kwaii's Avatar
 
elite*gold: 6
Join Date: May 2008
Posts: 455
Received Thanks: 154
Also ich finde die Videos von Sterminio sind sehr gut erklärt und die seh ich mir auch derzeit an um etwas zu lernen.

ZenZen.Kwaii is offline  
Reply


Similar Threads Similar Threads
MW3 kaufen - Wo? Wie? Womit?
10/29/2012 - Call of Duty - 25 Replies
Guten Abend allerseits. Paar Fragen: 1) Wo bekomme ich einen Mw3-Key? (am besten für 13€ PSC oder eben 23€) 2) Unterschied RU/EU-Key? --> Was sollte ich kaufen? 3) Was brauche ich für MW3 so an Prozessor etc ? (kenne mich da nicht so gut aus ..) Ich denke die Fragen wurden oft gestellt, aber es wäre trotzdem nett, wenn ihr das ein weiteres Mal tut. btw ich habe keine Ahnung von Steam etc, weil ich eigentlich immer auf PS3 zockte. Danke im Voraus.
Womit nehmt ihr auf?
09/29/2011 - Combat Arms - 13 Replies
Hallo CA Section! Ich will meinen eigenen YouTube Kanal machen und Montagen hochladen.... Naja schön und Gut aber Problem bei der Sache...ich weiß nicht womit ich aufnehmen soll. Folgende Programme getestet und nicht sehr begeistert: Fraps: Laggt was aber egal ist...aber wenn ich bei mir dann F10 drück ist das läuft das vilt. 20sec dann geht die Cam aus...Habe keine ahnung warum. Combat Arms: Erstellt dateien die Sony Vegas und Camtasia Studio nicht annehmen.
Womit mache ich das?
04/18/2011 - General Coding - 0 Replies
Guten Abend, ich würde gerne ein Programm oder eine Datei erstellen, wo ich und auch andere Personen, denen ich es dann gesendet habe, drauf klicken können und das es dann bestimmte Bildschirmbewegungen nachmacht. Es sollte können : - Dateien öffnen - Fenster verschieben
Womit und wie?
05/10/2010 - Video Art - 13 Replies
YouTube - CS2D TGV CLAN Wie wurde hier Intro und Video gemacht, und womit. Würde dass gerne nachmachen.
Womit Geldmachen?
08/02/2007 - World of Warcraft - 18 Replies
Hi. Da ich zur Zeit sehr knapp bei Kasse bin, brauch ich etwas, womit ich gut Geld machen kann. Zur Verfügung steht ein 70Mage (~800Feuerdmg), nen Holy Pala und nen 64er Druide zum Farmen. Ich dachte an Bergbau/Kräuterkunde, jedoch find ich Bergbau seehr nervig zu skillen, daher blieb ich bei Kräuterkunde. Bringt es viel Kräuterkunde zu skillen um an Geld zu kommen und was für Pflanzen (wo?) sollte ich farmen? Oder etwas ganz anderes? mfg



All times are GMT +1. The time now is 21:54.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.