Page 8 of 35

Posted: Sun Aug 20, 2006 5:46 pm
by Darkfox
GeeWiz, don't have a cow. (See what I did? <_<)

But seriously, don't lose your cool.

Posted: Sun Aug 20, 2006 6:42 pm
by themoviefund
Sure, I'll share my extractor when I'm done. Right now, I'm trying to organize the pictures.

Posted: Sun Aug 20, 2006 6:54 pm
by themoviefund
You know, you don't have to do Med's Search and Replace step. You can use this:

Code: Select all

import mmap
import os
import sys
import zlib

f = open("Data.wz", "rb")

start = 0
f.seek(0, 2)
size = f.tell()
f.seek(0)
obj = zlib.decompressobj()
buf = ""

while start < size:
   offset = start
   obj = zlib.decompressobj()
   buf = ""
   try:
      while offset < size:
         d = obj.decompress(f.read(1))
         if len(obj.unused_data) > 0:
            break
         buf += d
         offset += 1
   except zlib.error, details:
      if str(details) == "Error -3 while decompressing: invalid stored block lengths" and len(buf) > 0:
         print start
      start += 1
      f.seek(start)
      continue
   print start
   start += 1
   f.seek(start)

f.close() 
It's not mine. It may take a while. When it's done, copy and paste everything to the mapdump file.

Re: ....

Posted: Sun Aug 20, 2006 6:58 pm
by themoviefund
singga wrote:
terasonic wrote:
Meds wrote:With HexWorkshop, find and load your .wz file. Next push Ctrl+F, and find 40056 16bit unsigned. (Find all instances, little endian)

When it's done finding all the offsets, then right click on the addresses and select Copy All

Now, open Vedit. Save the file first, name it anything you want. Paste the addresses that you copied.

Now go up to the very first line of the file, highlight everything until the end of '2' (ie, ' 2 ') copy that. Now search and replace all ' 2 ' with nothing. Save the file into the same folder with maplox.exe.

Open a cmd, goto your dir, and type maplox.exe all lol mapdump whatever.wz

I playing stap 3. But I don't know this mean.. 'Now search and replace all ' 2 ' with nothing'.

serch '2' and replace 'speace'?
Delete all '2'?
that means:
you search "2"
and don't tap anythings in replace~~~~~


But i don't know the last step :

dir maplox.exe all lol mapdump whatever.wz

is there any taping mistake in my DOS?
please help me :cry:

Code: Select all

C:\> cd random folder 1
C:\Random Folder 1>cd where i keep geewiz
C:\Random Folder 1\Where I keep GeeWiz\>maplox.exe all lol mapdump whatever.wz

Posted: Sun Aug 20, 2006 10:19 pm
by Meds
HexWorkshop outputs ~50 offsets/sec, it's the fastest solution.

Posted: Sun Aug 20, 2006 10:27 pm
by Meds
Props to Lambda on the text encryption.

Posted: Sun Aug 20, 2006 10:30 pm
by CWP
Meds wrote:HexWorkshop outputs ~50 offsets/sec, it's the fastest solution.
You already know the compressed size. Wouldn't it be better to modify the script so that it will skip over the gzip data? I mean you know that there won't be any other gzip header information within the gzip data block.

Posted: Sun Aug 20, 2006 10:32 pm
by Meds
It's old code, so it needs the start of the zlib offsets to work. I haven't touched it since March when all the data I went by was iffy at best--so it needs a crutch.

But that's Valvwen's zlib location script, the valuable thing in that is the decompression routine.

Posted: Sun Aug 20, 2006 11:04 pm
by Lambda
I was going to post the block format this morning, but I started making some really good progress and decided to wait.

I have the majority of the rest of the file figured out. All of the images, text, etc... but MS Windows doesn't look too kindly on having over 100,000+ images in a single directory. Firefox also goes a little nuts with 30 meg html files filled with that many images as well.

Give me a few more hours of clean up to fix those problems, and then everyone can smile.

Posted: Mon Aug 21, 2006 1:57 am
by Meds
This breaks down when you try to extract from the Korean Maple, since they break Data.wz into it's folder ie: Character.wz, Effect.wz...etc.

But we can just iterate through the different .wz(s).

Re: ....

Posted: Mon Aug 21, 2006 2:10 am
by singga
themoviefund wrote:
singga wrote:
terasonic wrote:
I playing stap 3. But I don't know this mean.. 'Now search and replace all ' 2 ' with nothing'.

serch '2' and replace 'speace'?
Delete all '2'?
that means:
you search "2"
and don't tap anythings in replace~~~~~


But i don't know the last step :

dir maplox.exe all lol mapdump whatever.wz

is there any taping mistake in my DOS?
please help me :cry:

Code: Select all

C:\> cd random folder 1
C:\Random Folder 1>cd where i keep geewiz
C:\Random Folder 1\Where I keep GeeWiz\>maplox.exe all lol mapdump whatever.wz
Oh My Godsssssh~~~ :x :evil:

Wizet is very bitc*y
I can't use

Code: Select all

dir C:\Wizet>Maple
and go into the KMS file to take GeeWiz. :cry:

Posted: Mon Aug 21, 2006 3:01 am
by Lambda
Ehh... not to happy with where I got. I've extracted up to file 4104 (out of 5991), but you have to flip some bits in various places to get it to work that far. The file format seems inconsistant and I haven't been able to track down a logical method of getting around it.

The attached file will extract everything up to file 1593, and then after that it just extracts basic strings and icons for the rest of them. Place the file in the same directory as your data.wz, and run it (you'll need python installed). You don't have to redirect output or do anything special in DOS. Just double click on it and watch it go. It creates a "dump" directory and places a bunch of HTML and directories full of images in it.

Maybe next weekend I'll have some more time to look at it. It still needs more polish. A next/back button, an actual index page, I removed some of the prints and so now the file table shows nothing...

It's only been tested with GMS.

Posted: Mon Aug 21, 2006 3:49 am
by themoviefund
Wow, Lambda, that is excellent! ... You even extract information! Thanks so much!

That's no dump, that's a gold mine! :mrgreen: :mrgreen: :mrgreen:

Can't wait for the rest to come!

(I know, I know.)

Posted: Mon Aug 21, 2006 8:14 am
by Meds
Any one who uses my method and cares to convert the bitmap to png use nconvert and this script:

Code: Select all

import os
def makepng():
	status = 0
	dr = 0
	while status != -2:
		cr = '%d'%dr
		cmd='"C:\\Program Files\\XnView\\nconvert.exe" -D -out png -o '+cr+'_png/%.png '+cr+'/*'
		try:
			status = os.system(cmd)
		except:
			continue
		dr+=1000
##:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::##
def deldir():
	dc = 0
	dl = 1
	while dl:
		ch = os.listdir('%d'%dc)
		try:
			if ch[0]>1:
				dl = 1
			else:
				os.system('rmdir %d'%dc+' /q')
		except:
			os.system('rmdir %d'%dc+' /q')
			dl = 1
		dc +=1000
makepng()

Posted: Tue Aug 22, 2006 4:09 am
by themoviefund
Oh thanks!