gulli:board Logo

Anzeige


  Antwort
Hofi-1992
Krümelmonster
 
Benutzerbild von Hofi-1992
 
Registrierungsdatum: Mar 2006
Ort: Sesamstraße
Beiträge: 404
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Danke für eure Hilfe , ich habs jetz so halbwegs richtig !

Bis auf die Ecken funktioniert alles ! (Falls noch jemand Ideen hätte wie ich das lösen könnte , PN)

Nochmals fettes thx @ all of you !


lg Hofi

Geändert von Hofi-1992 (23. 12. 2007 um 13:37 Uhr).
Alt 23. 12. 2007, 12:11 Hofi-1992 is offline Mit Zitat antworten #76
Breed1023
Fuck-o
 
Benutzerbild von Breed1023
 
Registrierungsdatum: Feb 2007
Ort: Auf dem String
Beiträge: 332
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Hi,
ich habe seit gestern ein C++ Buch für Anfänger vom Markt+Technik Verlag. Mein Problem fängt damit an das sich das DosFenster immer wieder schließt, ziemlich schnell. Ich schreibe mein Problem hier rein. Weil es bestimmt nix aussergewöhnliches ist und ich die Sufu schon benutzt hab.

Mein Compiler ist Bloodshed Dev-C++, mein Betriebssystem Vista 64bit.
Code:
#include <iostream.h> //Funktion DemonstrationFunction //gibt eine Meldung aus void DemonstrationFunction() { cout << "In DemonstrationFunction\n"; } //Funktion main - gibt eine Meldung aus, ruft //dann DemonstrationFunction auf, gibt danach //eine zweite Meldung aus. int main() { cout << "In main\n"; DemonstrationFunction(); cout << "Zurueck in main\n"; return 0; }
Wenn mir jemand helfen kann Danke! Vielleicht muss ich was am Compiler ändern.
Der Compiler spuckt auch den Fehler aus;
Code:
32:2 C:\Dev-Cpp\include\c++\3.4.2\backward\backward_warning.h #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <iostream> instead of the deprecated header <iostream.h>. To disable this warning use -Wno-deprecated.
Alt 03. 01. 2008, 15:23 Breed1023 is offline Mit Zitat antworten #77
freak0711
Mitglied
 
Registrierungsdatum: Feb 2007
Beiträge: 378
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Hallo allerseits,

ich habe ein kleines Problem mit C. Und zwar habe ich keine Ahnung davon... Ich kann zwar C# GUI zeugs und so, aber dieses C Konsolenprogramm kann ich nicht Compilen und ich weiß nicht warum... es ist ein Code der mir mein Steam-Passwort wiederherstellt...

Code:
/* Copyright 2005,2006,2007 Luigi Auriemma This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA http://www.gnu.org/licenses/gpl.txt */ #include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <windows.h> #include <sys/stat.h> #define VER "0.1.1" #define FIND "Phrase" "\x01\x50" #define STEAMDLL "STEAM.DLL" #define STEAMDLL_OFFSET 0x252397 uint8_t *steampwd(uint8_t *pwdenc); uint8_t *fd_read(uint8_t *name, int *fdlen); uint8_t *find_data(uint8_t *buff, int buffsz, uint8_t *str); void wait_exit(int ret); void std_err(void); int firsttime = 1; int main(int argc, char *argv[]) { uint32_t len; int fdsize; uint16_t nlen; uint8_t *fdbuff, *fdnext, *phrase, *pwdenc, *pwd, *p; setbuf(stdout, NULL); fputs("\n" "Steam password decoder "VER"\n" "by Luigi Auriemma\n" "e-mail: aluigi@autistici.org\n" "web: aluigi.org\n" "\n", stdout); if(argc < 2) { printf("\n" "Usage: %s <ClientRegistry.blob/password>\n" "\n" " NOTE: this password recovery tool works ONLY on the same computer in which\n" " was located the ClientRegistry.blob file!\n" "\n", argv[0]); wait_exit(1); } fdbuff = fd_read(argv[1], &fdsize); fdnext = fdbuff; redo: if(fdnext) { phrase = find_data(fdnext, fdsize, FIND); if(!phrase) { if(!firsttime) goto quit; printf("\n" "- Password not found, probably you have not saved it or have disabled the\n" " storing of the local account informations through the Settings menu of Steam\n"); wait_exit(1); } p = phrase; p += 30; nlen = *(uint16_t *)p; p += 2; len = *(uint32_t *)p; p += 4 + nlen; p[len] = 0; pwdenc = p; } else { pwdenc = argv[1]; } printf("\nEncoded: %s\n", pwdenc); pwd = steampwd(pwdenc); printf("\nPassword: %s\n", pwd); free(pwd); if(fdbuff) { firsttime = 0; fdsize -= (pwdenc - fdnext); fdnext = pwdenc; goto redo; } quit: if(fdbuff) free(fdbuff); wait_exit(0); return(0); } uint8_t *steampwd(uint8_t *pwdenc) { HINSTANCE hLib; static uint8_t *pwd; int (*steam_dll_pwd)(const uint8_t *phrase, const int len, const void *ps); struct { uint32_t boh1; // 0 uint8_t *pass; // password uint32_t boh2; // 0 uint32_t boh3; // 0 uint32_t boh4; // 0 uint32_t passlen; // length of the password uint32_t boh5; // length of the binary encoded password? uint8_t boh6[40]; // needed with newer steam.dll files } steam_pwd; if(firsttime) printf("\n- load the local %s file\n", STEAMDLL); hLib = LoadLibrary(STEAMDLL); if(!hLib) std_err(); steam_dll_pwd = (void *)hLib + STEAMDLL_OFFSET; memset(&steam_pwd, 0, sizeof(steam_pwd)); if(firsttime) printf("\n" "NOTE: now if the tool crashes means the password cannot be recovered since the\n" " ClientRegistry.blob file has not been created on this computer (Steam\n" " uses a ProductID based key).\n" " Remember that you MUST use the STEAM.DLL file located in the steampwd\n" " package (which is the original dll of some versions ago) or is not\n" " possible to recover the password!\n"); steam_dll_pwd(pwdenc, strlen(pwdenc), &steam_pwd); pwd = strdup(steam_pwd.pass); FreeLibrary(hLib); return(pwd); } uint8_t *fd_read(uint8_t *name, int *fdlen) { struct stat xstat; FILE *fd; uint8_t *buff; printf("- open file %s\n", name); fd = fopen(name, "rb"); if(!fd) { perror("\nAlert"); printf("- I handle it as an encoded password\n"); return(NULL); } fstat(fileno(fd), &xstat); buff = malloc(xstat.st_size); if(!buff) std_err(); fread(buff, xstat.st_size, 1, fd); fclose(fd); *fdlen = xstat.st_size; return(buff); } uint8_t *find_data(uint8_t *buff, int buffsz, uint8_t *str) { int strsz; uint8_t *limit; strsz = strlen(str); limit = buff + buffsz - strsz; for(; buff <= limit; buff++) { if(!memcmp(buff, str, strsz)) return(buff); } return(NULL); } void wait_exit(int ret) { printf("\n Press RETURN to exit\n"); fgetc(stdin); exit(ret); } void std_err(void) { perror("\nError"); wait_exit(1); }


Wie gesagt, der Button um das Teil zu Compilen bleibt deaktiviert. Ich benutze MS Visual Studio und habe nur die datei "steampwd.c"


Alt 03. 01. 2008, 16:12 freak0711 is offline Mit Zitat antworten #78
Immortalis14
Greenkeeper
 
Registrierungsdatum: Jul 2007
Beiträge: 60
Re: [Sammelthread] Codeschnippsel und kurze Fragen

@breed1023

es ist nicht die beste möglichkeit, aber es geht auch mit
Code:
system("pause");
Alt 03. 01. 2008, 16:17 Immortalis14 is offline Mit Zitat antworten #79
Breed1023
Fuck-o
 
Benutzerbild von Breed1023
 
Registrierungsdatum: Feb 2007
Ort: Auf dem String
Beiträge: 332
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Aber das muss ich ja vor der } einfügen. Nun ist es immer noch nicht gegangen. Kann es vllt. eine Compiler einstellung sein?
Alt 03. 01. 2008, 16:22 Breed1023 is offline Mit Zitat antworten #80
tantum
...
 
Registrierungsdatum: Sep 2006
Beiträge: 779
Re: [Sammelthread] Codeschnippsel und kurze Fragen

@Breed1023:
Wo hast du es denn eingefügt? Vor oder nach 'return 0'?
Und wenn du die Fehlermeldung durchliest, siehst du auch was er noch zu bemängeln hat:
"...or <iostream> instead of the deprecated header <iostream.h>."
Alt 03. 01. 2008, 16:37 tantum is offline Mit Zitat antworten #81
Breed1023
Fuck-o
 
Benutzerbild von Breed1023
 
Registrierungsdatum: Feb 2007
Ort: Auf dem String
Beiträge: 332
Re: [Sammelthread] Codeschnippsel und kurze Fragen

habs leider hinter return0 gesetzt. Jetzt hab ichs ausgebessert. Aber da muss es doch eine einfachere lösung geben, oder nicht?
Alt 03. 01. 2008, 16:51 Breed1023 is offline Mit Zitat antworten #82
electric_juice
Mitglied
 
Registrierungsdatum: Dec 2004
Beiträge: 1.357
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Zitat:
Zitat von Breed1023 
habs leider hinter return0 gesetzt. Jetzt hab ichs ausgebessert. Aber da muss es doch eine einfachere lösung geben, oder nicht?

Was meinst du mit einfacher?
Andere Wege findest du über die Suchfunktion.
Alt 03. 01. 2008, 22:37 electric_juice is offline Mit Zitat antworten #83
Kintaro
Mitglied
 
Registrierungsdatum: Dec 2005
Beiträge: 383
[C] - Teilstring abschneiden

Soweit ich bis jetzt in Erfahrung bringen konnte, gibt es keine direkte C-Funktion der Standardbibliotheken, mit der man einen Teilstring bis zum Auftreten eines bestimmten Zeichens abschneiden kann.
Ich möchte zum Beispiel vom String "ich bins" das ich inklusive Leerzeichen abtrennen, sodass nur noch bins übrigbleibt. Könnte mir da jemand weiterhelfen?
Alt 05. 01. 2008, 18:04 Kintaro is offline Mit Zitat antworten #84
Kugelfisch23
Nerd
 
Benutzerbild von Kugelfisch23
 
Registrierungsdatum: Oct 2007
Ort: Im Ozean
Beiträge: 3.158
Re: [Sammelthread] Codeschnippsel und kurze Fragen

strtok() geht nicht?
Alt 05. 01. 2008, 18:08 Kugelfisch23 is online now Mit Zitat antworten #85
Kintaro
Mitglied
 
Registrierungsdatum: Dec 2005
Beiträge: 383
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Gut, soweit ich das jetzt verstanden habe, müsste der Funktionsaufruf in meinem Fall so aussehen:
strtok("ich bins", " ")

Das gibt mir als Return Wert allerdings nur "ich" aus. Wie kann ich dafür sorgen, dass mir der zweite Teil ausgespuckt wird?
Alt 05. 01. 2008, 18:52 Kintaro is offline Mit Zitat antworten #86
electric_juice
Mitglied
 
Registrierungsdatum: Dec 2004
Beiträge: 1.357
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Zitat:
Zitat von Kintaro 
Gut, soweit ich das jetzt verstanden habe, müsste der Funktionsaufruf in meinem Fall so aussehen:
strtok("ich bins", " ")

Das gibt mir als Return Wert allerdings nur "ich" aus. Wie kann ich dafür sorgen, dass mir der zweite Teil ausgespuckt wird?

http://cppreference.com/stdstring/strtok.html
Alt 05. 01. 2008, 19:15 electric_juice is offline Mit Zitat antworten #87
Kugelfisch23
Nerd
 
Benutzerbild von Kugelfisch23
 
Registrierungsdatum: Oct 2007
Ort: Im Ozean
Beiträge: 3.158
Re: [Sammelthread] Codeschnippsel und kurze Fragen

PHP-Code:
#include <stdio.h>

int main(int argcchar** argv) {
    
char c[] = "ich bins wirklich, ja, toll";
    
strtok(c," ");
    
char= (char*)strtok(0,"\0");
    
printf("%s***%s\n",c,p);

Output: ich***bins wirklich, ja, toll
Alt 05. 01. 2008, 19:26 Kugelfisch23 is online now Mit Zitat antworten #88
Kintaro
Mitglied
 
Registrierungsdatum: Dec 2005
Beiträge: 383
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Danke, funzt einwandfrei!
Alt 05. 01. 2008, 19:51 Kintaro is offline Mit Zitat antworten #89
KeLLeR_KiND
asexueller Pessimist
 
Benutzerbild von KeLLeR_KiND
 
Registrierungsdatum: Nov 2006
Beiträge: 1.101
[C++] Arrays

hallo!
ich lerne grad c++, bin gerade dabei, mein erstes c++ programm zu schreiben und komme an einem punkt nicht weiter. wie vielleicht manche von euch wissen, bist es in php zB befehle, die einen String an das ende oder an den anfang eines arrays "anketten". sowas bräuchte ich jetzt

und nein, die anzahl der felder ist unbekannt , sonst würd ich ja nicht fragen

danke für jegliche hilfe!
Alt 07. 01. 2008, 19:20 KeLLeR_KiND is offline Mit Zitat antworten #90
Tropi
Mitglied
 
Registrierungsdatum: Oct 2007
Beiträge: 481
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Wenn die Länge unbekannt ist, solltest du dich eher nach Listen umsehen.
Alt 07. 01. 2008, 19:28 Tropi is online now Mit Zitat antworten #91
electric_juice
Mitglied
 
Registrierungsdatum: Dec 2004
Beiträge: 1.357
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Dafür gibts die Container Klassen in der STL, wie z.B. vector.
Alt 07. 01. 2008, 19:47 electric_juice is offline Mit Zitat antworten #92
KeLLeR_KiND
asexueller Pessimist
 
Benutzerbild von KeLLeR_KiND
 
Registrierungsdatum: Nov 2006
Beiträge: 1.101
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Zitat:
Zitat von Tropi 
Wenn die Länge unbekannt ist, solltest du dich eher nach Listen umsehen.

was? wo? wie? listen? welche listen?

Zitat:
Dafür gibts die Container Klassen in der STL, wie z.B. vector.
hmm, so weit sollte ich nach meinem buch doch gar nicht sein und können kann ich das erst recht nicht. naja, dann wird wohl nichts aus meinem selbstgeschriebenem programm.

danke für die antworten
Alt 07. 01. 2008, 20:37 KeLLeR_KiND is offline Mit Zitat antworten #93
TheP01
Mitglied
 
Registrierungsdatum: Dec 2007
Beiträge: 1
Re: [Sammelthread] Codeschnippsel und kurze Fragen

erstma Hallo is mein erster Post ;P

Kann mir einer einen Link geben bzw eine Anleitung geben die mir erklärt wie ich Youcryptjunior in mein eigenes Programm einbinden kann. Bzw ich denke mal es ist für eine bestimmte Plugin API entwickelt, funktioniert ja in mehrer Downloader. Also ich bräuchte nur eine erklärung wie das Plugin aufgebaut ist, einbinden und alles drumherum schaff ich schon.

TheP
Alt 10. 01. 2008, 19:55 TheP01 is offline Mit Zitat antworten #94
K0n0s
Mitglied
 
Registrierungsdatum: Jan 2007
Beiträge: 4
Re: [Sammelthread] Codeschnippsel und kurze Fragen

[JAVA]
Ich hab das mal ne Frage und zwar:

Hängt der Speicherplatzbedarf der Instanz eines komplexen Datentyps in Java von der Anzahl
der im Typ deklarierten Methoden ab?

Für mich ist ein komplexer Datentyp z.B. der vordef. String. Dieser hat eine festgelegte Groesse wie byte, short etc. . Oder versteh ich das etwas grundlegendes total falsch. Weil mir meine Antwort auf die Frage einfach zu spontan und einfach erscheint

Gruß
K0n0s
Alt 13. 01. 2008, 18:02 K0n0s is offline Mit Zitat antworten #95
buergerd
Mitglied
 
Registrierungsdatum: Nov 2007
Beiträge: 5
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Hallo, ich wollt mal ein Programm schreiben, dass mir auf Anfrage die Steuerzeichen für die Ausgabe mit printf() ausgibt. Leider krieg ich das nicht auf die Reihe, die kurzen Strings in ein Array zu packen.
Hier ist erst mal der Code:

PHP-Code:
#include <stdio.h>

//##############################################
//# Steuerzeichen für die Ausgabe mit Printf() #
//##############################################

//erzeuge eigenen Datentyp
struct steuerzeichen {
       
char str[];   
};


int main(int argcchar *argv[])
{

     
struct steuerzeichen sz[16];

// = {'d', 'ld', 'hd', 'u', 'lu', 'hu', 'e', 'f', 'lf', 'g', 'lg', 'o', 'p', 's', 'x', 'X' } //Idee Nr. 2

 
      //Zuweisungen   
     
sz[0].str 'd';
     
sz[1].str 'ld';
     
sz[2].str 'hd';
     
sz[3].str 'u';
     
sz[4].str 'lu';
     
sz[5].str 'hu';
     
sz[6].str 'e';
     
sz[7].str 'f';
     
sz[8].str 'lf';
     
sz[9].str 'g';
     
sz[10].str 'lg';
     
sz[11].str 'o';
     
sz[12].str 'p';
     
sz[13].str 's';
     
sz[14].str 'x';
     
sz[15].str 'X';
     
     
printf("test: %s"sz[0].str);
     
      return 
0;   


Ich hoffe jemand kann mir mal ein paar Tipps geben.
Alt 16. 01. 2008, 20:27 buergerd is offline Mit Zitat antworten #96
insa
lange Rede oft kein Sinn
 
Benutzerbild von insa
 
Registrierungsdatum: Jun 2006
Ort: im Haus
Beiträge: 454
Re: [Sammelthread] Codeschnippsel und kurze Fragen

wenn ich das richtig sehe, weist du einem element im char-Array folgendes zu: 'xx' (x durch deine buchstaben ersetzen). Ein Char kann nur EIN Zeichen Speichern, nicht mehr.
Alt 16. 01. 2008, 20:33 insa is offline Mit Zitat antworten #97
buergerd
Mitglied
 
Registrierungsdatum: Nov 2007
Beiträge: 5
Re: [Sammelthread] Codeschnippsel und kurze Fragen

Du hast schon recht, aber nehmen wir mal an, ich hätte das Array im Konstrukt mit drei Feldern definiert, dann würde das Programm immer noch nicht laufen.
PHP-Code:
//erzeuge eigenen Datentyp
struct steuerzeichen {
       
char str[3];   //vorher char str[]
}; 

Am liebsten wäre mir, wenn ich ein Array mit verschiedenen Zeichenketten füllen könnte. Naja, vielleicht findet sich ja eine Lösung. Aber schon mal danke für die schnelle Antwort.
Alt 16. 01. 2008, 20:54 buergerd is offline Mit Zitat antworten #98
Kugelfisch23