POP1 Music extraction thread
POP1 Music extraction thread
I'm ChrML, only that I couldn't get logged into this forum.
Finally (after 30 min more researching) I got the midi files in MIDISND1.DAT extracted. Actually, it was really simple. Getting them back into the file is not hard either. Just paste it back over the file in a hex editor, and change the filesize DWORD on the top to the new size. Here are all midi files in MIDISND1.DAT:
[url]http:\\www.thps3cu.com\files\MIDISND1.zip[/url]
I'll create an editor for it later. Enjoy these files in the mean time.
Finally (after 30 min more researching) I got the midi files in MIDISND1.DAT extracted. Actually, it was really simple. Getting them back into the file is not hard either. Just paste it back over the file in a hex editor, and change the filesize DWORD on the top to the new size. Here are all midi files in MIDISND1.DAT:
[url]http:\\www.thps3cu.com\files\MIDISND1.zip[/url]
I'll create an editor for it later. Enjoy these files in the mean time.
-
- Efendi
- Posts: 17
- Joined: March 5th, 2004, 9:14 am
- Location: Utrecht, The Netherlands
- Contact:
Well, I think Princed will eventually be open source, so it'd be nice if you could just send the C++ - source.
But one question: how are the midi-files separated? Are the two bytes you were talking about the real separators? And is the file size indicated in the beginning of the file, or are there other checksums? I'm asking this because I'm cracking the DISISND*.DAT files, and there may be some same mechanisms.
But one question: how are the midi-files separated? Are the two bytes you were talking about the real separators? And is the file size indicated in the beginning of the file, or are there other checksums? I'm asking this because I'm cracking the DISISND*.DAT files, and there may be some same mechanisms.
Within midisnd1.dat & midisnd2.dat
the individual midi's start the the letters
MThd
so all you need to do is use a program like ultra edit
and select from the first MThd through till JUST BEFORE the next midi begins (before the next MThd) and put it in a separate file
and rename it *.mid.
MThd**********CODE******MThd************
...........................................|separate here
..........................................*next midi starts*
and so on
OH and thanks ChrML for letting us know.
I extracted the midi's from midisnd2.dat for my amusment
the individual midi's start the the letters
MThd
so all you need to do is use a program like ultra edit
and select from the first MThd through till JUST BEFORE the next midi begins (before the next MThd) and put it in a separate file
and rename it *.mid.
MThd**********CODE******MThd************
...........................................|separate here
..........................................*next midi starts*
and so on
OH and thanks ChrML for letting us know.
I extracted the midi's from midisnd2.dat for my amusment

OK, now I've created a .DAT compiler for midi files, but...
Now I have a biiiig problem. The new files that get's into the .DAT must be at the same filesize. The solutions are:
1) Must me kept at the same size (nearly impossible)
2)We must find a way to change the pointer (the pointer isn't in the .dat)
Now I have a biiiig problem. The new files that get's into the .DAT must be at the same filesize. The solutions are:
1) Must me kept at the same size (nearly impossible)
2)We must find a way to change the pointer (the pointer isn't in the .dat)
You are ignoring the first 8 bytes in the file, they are very important, and the validation is there.
The first 2 bytes are a dword value x
The second 2 bytes are allways 0
The third group of 2 bytes in a dword value y
where x+y=size of the file!!!!
Take a look:
midisnd2:
B6 47 00 00 32 00 8F 02
x= (B6 47) = 18358
y= (32 00) = 50
x+y=18408
midisnd1:
16 24 00 00 82 00 34 02
x= (16 24) = 9238
y= (82 00) = 130
x+y=9368
I have to study a bit more about the fourth group of 2 bytes, but I think the dword value it has something to do with the next mid size.
Knowing that you can keep on working in the compressor with out any problem
The first 2 bytes are a dword value x
The second 2 bytes are allways 0
The third group of 2 bytes in a dword value y
where x+y=size of the file!!!!
Take a look:
midisnd2:
B6 47 00 00 32 00 8F 02
x= (B6 47) = 18358
y= (32 00) = 50
x+y=18408
midisnd1:
16 24 00 00 82 00 34 02
x= (16 24) = 9238
y= (82 00) = 130
x+y=9368
I have to study a bit more about the fourth group of 2 bytes, but I think the dword value it has something to do with the next mid size.
Knowing that you can keep on working in the compressor with out any problem
