ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
384
384
EMPFEHLEN
-
Ich habe eine Datei aus einem Game, kann sie leider nciht richtig verwerten. Die Datei muss irgendwie zu öffnen sein und man müsste daraus bestimmte Informationen ziehen könne, wenn ich diese aber einfach mit einem Texteditor aufmache klappt da überhaupt nichts.
Ich würde gerne wissen, was es so für Möglichkeiten gibt die Datei vielleicht doch öffnen zu können?
Weitere Infos: Geht um das Spiel World of Warcraft. Erweriterung ist .wdb (Hat aber ncihts mit der Works DB denke ich zu tun). Habs mit dem Hex-Editor probiert werde daraus aber auch nicht schlau. Soweit ich weiß ist die Datei binär.
Es ist eine Art Datenbank.
Hier mal ein Code mit dem es möglich ist einen bestimmten Wert aus der Datei zu ziehen, vielleicht hilft er ja weiter, ist C# nehme ich an:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
#include <stdio.h> #include <string.h> void PrintUsage(void) { printf("DumpItemCache usage: dumpitemcache <filename>\n"); printf(" filename - path and filename of itemcache.wdb\n"); } int freadstr(char *strOut, int maxLen, FILE *f) { int retVal = 0; char c = 1; while (maxLen && c && c != EOF) { c = fgetc(f); if (c && c != EOF) strOut[retVal++] = c; maxLen--; } strOut[retVal] = 0; return retVal; } char *fixupitemname(char *itemname) { static char retVal[1024]; int src, dest; src = dest = 0; while (itemname[src]) { if (itemname[src] == '"') retVal[dest++] = '\\'; retVal[dest++] = itemname[src++]; } retVal[dest] = 0; return retVal; } int main(int argc, char *argv[]) { FILE *fIn; char *fileName; int sig; int value; int recSize; char itemName[512]; if (argc < 2) { PrintUsage(); return 1; } fileName = argv[1]; if ((fIn = fopen(fileName, "rb")) == NULL) { printf("Could not open %s\n", fileName); return 1; } fread(&sig, 4, 1, fIn); if (sig != 0x57494442) { printf("Invalid file signature!\n"); fclose(fIn); return 1; } printf("SellValues = {\n"); fseek(fIn, 12, SEEK_CUR); while (!feof(fIn)) { if (fseek(fIn, 4, SEEK_CUR) != 0) // unique item id break; if (fread(&recSize, sizeof(recSize), 1, fIn) != 1) break; if (fseek(fIn, 8, SEEK_CUR) != 0) break; freadstr(itemName, sizeof(itemName), fIn); // 3 more copies of itemname if (fseek(fIn, (int)(3 * (strlen(itemName) + 1)), SEEK_CUR) != 0) break; // more attributes if (fseek(fIn, 16, SEEK_CUR) != 0) break; if (fread(&value, sizeof(value), 1, fIn) != 1) break; if (value) printf("\t[\"%s\"] = %d,", fixupitemname(itemName), value); if (fseek(fIn, recSize - 8 - (4 * ((int)strlen(itemName) + 1)) - 16 - (int)sizeof(value), SEEK_CUR) != 0) break; } /* while !feof */ fclose(fIn); printf("\n}\n"); return 0; }
Meine Frage ist es wie ich es nun schaffe die Datei komplett zu öffnen und damit für mich lesbar zu machen. Bruache ich dazu ein bestimmtes Prog oder reicht mir auch schon ein bestimmter Code, der das ganze übersetzt?
Ähnliche Themen
-
POST Daten mit &#xxx; codiert
Von RedWraith im Forum PHPAntworten: 9Letzter Beitrag: 31.08.10, 14:19 -
csv-Datei utf8 codiert richtig öffnen
Von fiacyberz im Forum Coders TalkAntworten: 8Letzter Beitrag: 08.03.10, 18:51 -
Wavedatei auslesen und Datateil codiert via RTP versenden
Von K-Asche im Forum C/C++Antworten: 0Letzter Beitrag: 03.09.09, 09:08 -
Windows Explorer "Datei öffnen mit" --> öffnen der Datei in eigenem SWT Texteditor
Von HuberDe im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 11.06.08, 07:42 -
Datum codiert, unverständlich
Von Fabian Frank im Forum PHPAntworten: 5Letzter Beitrag: 23.12.07, 15:51





Zitieren
Login





