phrohdoh / easage

A library that provides programmatic manipulation of BIG archives.
MIT License
9 stars 0 forks source link

BIGF archives packed by easage are corrupted #10

Closed Teteros closed 6 years ago

Teteros commented 6 years ago

Test case:

Original ControlBar.wnd from WindowSource

└> cat WindowSource/ControlBar.wnd | md5sum
325877c142f77f6f7c2b89756c709bd2  -

ControlBar.wnd packed by FinalBIG and extracted by easage unpack

└> cat WindowFinalBigOut/ControlBar.wnd | md5sum
325877c142f77f6f7c2b89756c709bd2  -

ControlBar.wnd packed by easage pack and extracted by easage unpack

└> cat WindowEasageOut/ControlBar.wnd |md5sum
9d8ee3949c812da38ce5267534d4858f  -

easage list data start: offset differs

$ ./easage list window-easage.big
Archive:
  kind: BigF
  size: 1994438
  len: 7
  data start: 0x139
Entries:
  Window/Menus/MapSelectMenu.wnd
    offset: 0x139
    len: 60534
  Window/Menus/LanMapSelectMenu.wnd
    offset: 0xedaf
    len: 68064
  Window/Menus/SkirmishGameOptionsMenu.wnd
    offset: 0x6d798
    len: 929866
  Window/ControlBar.wnd
    offset: 0x10bd5
    len: 351194
  Window/Menus/WOLMapSelectMenu.wnd
    offset: 0x10b19
    len: 68120
  Window/Menus/SkirmishMapSelectMenu.wnd
    offset: 0x10b51
    len: 68252
  Window/Menus/OptionsMenu.wnd
    offset: 0x55d13
    len: 448095

$ ./easage list window-finalbig.big

Archive:
  kind: BigF
  size: 1994435
  len: 7
  data start: 0x135
Entries:
  Window\Menus\MapSelectMenu.wnd
    offset: 0x666f0
    len: 60534
  Window\Menus\OptionsMenu.wnd
    offset: 0x75366
    len: 448095
  Window\ControlBar.wnd
    offset: 0x136
    len: 351194
  Window\Menus\SkirmishMapSelectMenu.wnd
    offset: 0x1c5a0f
    len: 68252
  Window\Menus\LanMapSelectMenu.wnd
    offset: 0x55d10
    len: 68064
  Window\Menus\WOLMapSelectMenu.wnd
    offset: 0x1d64ab
    len: 68120
  Window\Menus\SkirmishGameOptionsMenu.wnd
    offset: 0xe29c5
    len: 929866

Attachment

Includes x64 linux and windows easage

easage-bigf.zip

phrohdoh commented 6 years ago

Perhaps the 'secret' data (easage0.0.1) is causing this but I can not think of any reason that the format would matter.

phrohdoh commented 6 years ago

@Teteros Please verify whether or not 601686ca8aebc8f50d723064504b2c0115514c2d has fixed this issue.

Edit: That did not solve the issue.

phrohdoh commented 6 years ago

Ok @Teteros cd55deeb4c5231f563b15725284a407479760b77 should have solved this.

Please let me know your verdict!

Teteros commented 6 years ago

It looks like md5sums of easage packed BIGs are matching now with sources for all test data I tried, well done!