|
You last visited: Today at 21:58
Advertisement
[Hilföö] C++ DLL - Console, bzgl. strcmp... einfach lesen ;)
Discussion on [Hilföö] C++ DLL - Console, bzgl. strcmp... einfach lesen ;) within the C/C++ forum part of the Coders Den category.
03/16/2013, 16:28
|
#1
|
elite*gold: 0
Join Date: Jan 2011
Posts: 637
Received Thanks: 382
|
[Hilföö] C++ DLL - Console, bzgl. strcmp... einfach lesen ;)
Hallöö ;o
I hob da n Problämm...
Ich habe ne DLL in der ich eine Konsole erscheinen lasse.
Dann hab ich ne kleine Funktion zum ändern der Schriftfarbe..
Soweit so gut...
Funktioniert soweit- ABER...
Ich will jetzt ne Eingabe per "if" abfragen! (siehe code)
PHP Code:
void Konsole() { AllocConsole(); freopen("CONOUT$", "wb", stdout); freopen("CONOUT$", "wb", stderr); freopen("CONIN$", "rb", stdin);
SetConsoleTitle(TEXT("DLL (Konsole)"));
textcolor(LIGHTGREEN); std::cout << "Successfully Injected! \n"; std::cout << "\n"; //Noch ne Leerzeile textcolor(LIGHTCYAN); std::cout << "[CONSOLE] Type in your cmd: "; textcolor(WHITE);
for(;;){
char* eingabe; std::cin >> eingabe;
if(!strcmp("/cmd", eingabe)) { std::cout << "Yo! \n"; } else { std::cout << "Can´t find command '" << eingabe << "'" << "\n"; }
} }
Mein Problem ist nun, dass ich in der Abfrage, die Textfarbe nicht mehr ändern kann. sobald ich vor das
Code:
std::cout << "Yo! \n";
meine textfarbe setze, macht meine konsole nicht mehr weiter :<
Bleibt einfach stehen und gibt garnix mehr zurück...
Kann mir jemand helfen?
|
|
|
03/16/2013, 16:39
|
#2
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Schau dir nochmal an, in was du deine Eingabe einliesst, dann kommst selber drauf.
|
|
|
03/16/2013, 16:50
|
#3
|
elite*gold: 0
Join Date: Jan 2011
Posts: 637
Received Thanks: 382
|
Quote:
Originally Posted by Schlüsselbein
Schau dir nochmal an, in was du deine Eingabe einliesst, dann kommst selber drauf.
|
o: sorry, iwie nicht..
hab jetzt 2 nächte nicht geschlafen.. bin zu dumm zu Q_Q
ohne die "textfarbenfunktion" funktionierts ja
aber danke schonmal für deine antwort ^^
|
|
|
03/16/2013, 20:46
|
#4
|
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
|
Code:
char* eingabe;
std::cin >> eingabe;
Erläuter mir mal diese beiden Zeilen. Also denk mal drüber nach und schreib, was jede von diesen macht. Was passiert, wenn Zeile 1 ausgeführt wird, was passiert bei Zeile 2. Werd ruhig ausschweifend. Während du darüber nachdenkst und es schreibst, wird dir auffallen, warum das nicht gehen kann.
Für mehr reichts jetzt aber nicht, da heute Samstag Abend ist und meine langhälsigen Freunde auf mich warten.
|
|
|
03/16/2013, 20:54
|
#5
|
elite*gold: 0
Join Date: Jan 2011
Posts: 637
Received Thanks: 382
|
Quote:
Originally Posted by Schlüsselbein
Code:
char* eingabe;
std::cin >> eingabe;
Erläuter mir mal diese beiden Zeilen. Also denk mal drüber nach und schreib, was jede von diesen macht. Was passiert, wenn Zeile 1 ausgeführt wird, was passiert bei Zeile 2. Werd ruhig ausschweifend. Während du darüber nachdenkst und es schreibst, wird dir auffallen, warum das nicht gehen kann.
Für mehr reichts jetzt aber nicht, da heute Samstag Abend ist und meine langhälsigen Freunde auf mich warten.
|
Zeile2 sorgt dafür dass die console sozusagen "lauscht" / input ausließt und in der varbiablen "eingabe" speichert!
Zeile1 sorgt dafür dass die variable "eingabe" als datentyp char erstellt wird
und nu?
|
|
|
03/16/2013, 22:29
|
#6
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
vermisch nicht c mit c++.
Wenn du cin und cout nimmst, dann nimm auch den von c++ bereitgestellten datentyp string.
tipp: cin schreibt IN den übergebenen BUFFER hinein, jetzt klar?
EDIT:
und gewöhn dir nen einheitlichen stil an und rück alles ordentlich ein.
in c++ hat es sich weitgehend durchgesetzt, die geschweiften klammern immer in neue zeilen zu setzen.
|
|
|
03/16/2013, 23:04
|
#7
|
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
|
Quote:
Originally Posted by xSnake
Zeile1 sorgt dafür dass die variable "eingabe" als datentyp char erstellt wird 
|
Falsch, sonst würde es ja so aussehen:
|
|
|
03/17/2013, 02:09
|
#8
|
elite*gold: 0
Join Date: Jan 2009
Posts: 1,160
Received Thanks: 232
|
Um dir den Fehler vorweg zu nehmen: char* kann lediglich auf eine Konstante zeigen. Sprich zur Laufzeit nicht veränderbare Werte.
|
|
|
03/17/2013, 02:30
|
#9
|
elite*gold: 0
Join Date: Feb 2011
Posts: 1,206
Received Thanks: 736
|
Quote:
Originally Posted by Delinquenz
Um dir den Fehler vorweg zu nehmen: char* kann lediglich auf eine Konstante zeigen. Sprich zur Laufzeit nicht veränderbare Werte.
|
wut?
bitte...
junge wtf.
bitte such ein fenster, mind. 3. stock und spring...
|
|
|
03/17/2013, 07:00
|
#10
|
elite*gold: 23
Join Date: Oct 2010
Posts: 2,986
Received Thanks: 357
|
Quote:
Originally Posted by Dr. Coxxy
wut?
bitte...
junge wtf.
bitte such ein fenster, mind. 3. stock und spring...
|
   
Quote:
|
Um dir den Fehler vorweg zu nehmen: char* kann lediglich auf eine Konstante zeigen. Sprich zur Laufzeit nicht veränderbare Werte.
|
Ich weiß garnicht was du willst aber das was du meinst dürfte das sein
Code:
const char* eingabe;
Nur habe ich keine Ahnung wobei das nun helfen könnte...
Wieso setzt du überhaupt einen Pointer? Bzw. wozu brauchst du ihn? Denn ich blicke bei deinem Code leider nicht ganz durch.
Also ich würde wie Coxxy bereits sagte einen string benutzen, außer du benutzt nur Zahlen als eingabe. Du könntest aber natürlich auch ein char Array nutzen, was wiederum nicht so schön wäre.
Code:
std::string eingabe;
std::cin << eingabe;
Und dabei nicht den Header vergessen
Wenn ich mit irgendetwas falsch liege korrigiert mich, ich bin noch nicht so erfahren wie viele ander hier.
|
|
|
03/17/2013, 09:47
|
#11
|
elite*gold: 0
Join Date: Jan 2011
Posts: 637
Received Thanks: 382
|
Quote:
Originally Posted by TIMΣ™
   
Ich weiß garnicht was du willst aber das was du meinst dürfte das sein
Code:
const char* eingabe;
Nur habe ich keine Ahnung wobei das nun helfen könnte...
Wieso setzt du überhaupt einen Pointer? Bzw. wozu brauchst du ihn? Denn ich blicke bei deinem Code leider nicht ganz durch.
Also ich würde wie Coxxy bereits sagte einen string benutzen, außer du benutzt nur Zahlen als eingabe. Du könntest aber natürlich auch ein char Array nutzen, was wiederum nicht so schön wäre.
Code:
std::string eingabe;
std::cin << eingabe;
Und dabei nicht den Header vergessen
Wenn ich mit irgendetwas falsch liege korrigiert mich, ich bin noch nicht so erfahren wie viele ander hier.
|
Ähm.. Joa xD
Projektmappe im Anhang... Da seht ihr mein Problem..
Hab das ja auch schon mit String versucht.. Aber ich komm tzd nicht klar :<
Wäre nice wenn mir wer meinen fehler direkt behebt.. 
Kriegt auch 10 e*gold
|
|
|
03/17/2013, 10:33
|
#12
|
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
|
Quote:
Originally Posted by xSnake
Ähm.. Joa xD
Projektmappe im Anhang... Da seht ihr mein Problem..
Hab das ja auch schon mit String versucht.. Aber ich komm tzd nicht klar :<
Wäre nice wenn mir wer meinen fehler direkt behebt.. 
Kriegt auch 10 e*gold 
|
Noch ein gut gemeinter Tipp, lern erst die Sprache bevor du versuchst
irgendwelche Hacks zu schreiben.
Ich hab das jetzt nur so ausgebessert das es läuft, mehr nicht.
z.B ist ein mehrfacher Aufruf von SetConsoleTextAttribute() mit derselben Farbe
einfach sinnlos da, ich zitiere:
Quote:
|
Originally Posted by msdn.microsoft.com
This function affects text written after the function call.
|
|
|
|
03/17/2013, 10:43
|
#13
|
elite*gold: 0
Join Date: Jan 2011
Posts: 637
Received Thanks: 382
|
Quote:
Originally Posted by .SkyneT.
Noch ein gut gemeinter Tipp, lern erst die Sprache bevor du versuchst
irgendwelche Hacks zu schreiben.
Ich hab das jetzt nur so ausgebessert das es läuft, mehr nicht.
z.B ist ein mehrfacher Aufruf von SetConsoleTextAttribute() mit derselben Farbe
einfach sinnlos da, ich zitiere:
|
Ja mach ich xD
Dankeschön
|
|
|
03/17/2013, 12:10
|
#14
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,902
Received Thanks: 25,407
|
Um es dir trotzdem noch zu erklären:
Du schreibst mit deine Eingabe in den vorher nicht erstellten Puffer, auf den eingabe zeigen soll. Der Zeiger ist ungültig, weil du ihm keinen Wert zuweist. Ich glaube, du hast elementare Aspekte von Datentypen und speziell Zeigern noch nicht verstanden. Lass das mit dem Hacking bis dahin lieber.
|
|
|
Similar Threads
|
einfach nur lesen :P
01/11/2011 - Call of Duty - 4 Replies
allo,
bin neu hier im cod forum.
Es gibt ja einen zombie mod und jetzt kann ein mod download das man unndlich ammo usw hat. Für black ops !
Ist das illiegal?
Wird man gebannt?
|
All times are GMT +1. The time now is 21:58.
|
|