Dump File Reader

09/19/2017 17:12 florian0#1
Hello beloved, dead, community,

[Only registered and activated users can see links. Click Here To Register...]

Reading dump files using Visual Studio is a pretty handy thing for developing, but Joymax wanted to include even more information about previous events. Storing an entire trace into the dump file would easily exceed the average hard drive capacity of 2005. Joymax chose the way of the potato, aka. the easiest way. Instead of using the a userstream for storing their data, they simply appended a really basic text-log to the end.

I've written a tool that extracts the additional data Joymax appended to the dump files.

[Only registered and activated users can see links. Click Here To Register...]

It also produces a file with all these messages. If you open it with an editor capable of processing EUC-KR or CP-949, you'll get correct encoded messages you can simply paste into Google Translate.

[Only registered and activated users can see links. Click Here To Register...]

Note that not all dump files contain such data. Some might result in dumping endless lines of nonsense.


Tested for ISRO, VSRO, CSRO. Not working on Beta-Client. Feel free to report bugs. There are some.
09/19/2017 18:05 BurakYogun#2
Thanks BRO <3
09/20/2017 03:23 belmazika#3
Great thanks :)
10/07/2017 11:02 kubed#4
Thx man
10/09/2017 06:03 phonglt#5
thanks
05/23/2018 10:21 Elthane#6
iv been looking for something like this!
06/21/2018 22:47 TheBold#7
Thx Bro
06/22/2018 15:41 asdqaz#8
for the csro-r client you'll have another block with system info at the end ;) it's just a string + offset, the debug messages block start offset is right before the system info block, the rest is the same :D

here's some c# code
Code:
using (var stream = new MemoryStream(fileBytes) { Position = size - 4 })
using (var reader = new BinaryReader(stream))
{
    var offset = reader.ReadInt32();

    stream.Position = offset;

    if (reader.ReadInt16() == 21327) // "OS" string
    {
        stream.Position = offset;

        var osBytes = reader.ReadBytes(size - offset - 4);
        var osString = Encoding.GetEncoding(949).GetString(osBytes);

        // print os

        stream.Position = offset - 4;

        offset = reader.ReadInt32();
    }

    stream.Position = offset;

    var msgCount = reader.ReadInt32();
    var sysTime_Year = reader.ReadInt16();
    var sysTime_Month = reader.ReadInt16();
    var sysTime_DayOfWeek = reader.ReadInt16();
    var sysTime_Day = reader.ReadInt16();
    var sysTime_Hour = reader.ReadInt16();
    var sysTime_Minute = reader.ReadInt16();
    var sysTime_Second = reader.ReadInt16();
    var sysTime_Milliseconds = reader.ReadInt16();
    var startTime = reader.ReadInt32();

    while (msgCount-- > 0)
    {
        var msgTime = (reader.ReadUInt32() - startTime) / 1000;
        var msgSize = reader.ReadUInt16();
        var msgBytes = reader.ReadBytes(msgSize);
        var msg = Encoding.GetEncoding(949).GetString(msgBytes);

        // print msg
    }
}
11/02/2021 21:43 [GM] Purple#9
thank you <3
12/15/2021 18:14 kotsh23#10
its not work
i try it and it's run for ever [Only registered and activated users can see links. Click Here To Register...]
03/03/2023 22:03 caner_tr#11
Best as always <3
03/08/2023 21:44 InZiDeR#12
Sadly doesn't work with isro 1.065 (2006 client) dump files. :(

It had helped me so much in parsing data :/

anyway gj :)

here is my dmp files if you want to test <3

[Only registered and activated users can see links. Click Here To Register...]
05/25/2023 20:12 PretaPeles#13
Quote:
Originally Posted by InZiDeR View Post
Sadly doesn't work with isro 1.065 (2006 client) dump files. :(

It had helped me so much in parsing data :/

anyway gj :)

here is my dmp files if you want to test <3

[Only registered and activated users can see links. Click Here To Register...]
Missing a file with .ban extension
12/21/2024 03:21 Heimdalll#14
amazing one thx mate