diff options
Diffstat (limited to 'PE/extract-various.cpp')
-rw-r--r-- | PE/extract-various.cpp | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/PE/extract-various.cpp b/PE/extract-various.cpp index 9a68a3d..a4261b9 100644 --- a/PE/extract-various.cpp +++ b/PE/extract-various.cpp @@ -9,7 +9,7 @@ int pos[50]; virtual int startup() throw (GeneralException) { Input * f = new Input("dump/0000.out"); Output * s = new Output("various/various.txt"); - unsigned int c, b, i, j, size, n, changed; + unsigned int c, b, i, j, size, changed; unsigned short p, t; String fn; @@ -126,6 +126,39 @@ virtual int startup() throw (GeneralException) { delete s; } + f = new Input("dump/0075.out"); + + for (i = 0; i < 4; i++) { + Uint32 pos, pos2, size; + + f->seek(i * 4); + pos = f->readU32(); + pos2 = f->readU32(); + f->seek(pos); + + if (i == 3) { + size = f->readU32(); + f->seek(pos); + } else { + size = pos2 - pos; + } + + s = new Output(String().set("75/%i.out", i)); + + copy(f, s, size); + + delete s; + + if (i == 1) { + s = new Output("75/text.txt"); + f->seek(pos); + extracttext(f, s, size); + delete s; + } + } + + delete f; + return 0; } CODE_ENDS |