По хорошему надо было указать локализацию, ибо при переводе msg файлы перепаковываются. Но со второй попытки я угадал, что это 1С.
Размеры и смещение правильные. Если я не напутал с выкусыванием, то вот:
78DABD544D6FD43010BD23F53F4CC505A410355BA0F4C40F5BF5BF55554115149552218EF5BA76EBC4F124B615ED56BBDA30FED8DD222A8E1C9D193FBF79EF4DA6D5C1C1C9F4647AB604AE847212BE68651C2BC072947708163B2D5B698C6A5879B2F7625A1D54CF5DC8B5C99FB516350A2498B9D4C865C300E7D2ACC073D91366A85027030B5AB965ABA0F5B6F19AB52AE31D06BC739CF5A1D5C9990461C60252F16D2896F06309F2518291D0F5B8901A94ED968E1925E1DAB15ED60B591730868616EF7C8019436BE7AD536E955F7A17C06E86B2CCE7F7E17C49778CBF374453F6C6BB951D818320F2DCAC73E35168BC8501E71E2CC15AC24C6F3428218CDEE6CE0FA1F32B13060BE8B0161E0CDB91CD4DC7A1E9157F1038BC4E7356D1A17DB8108A1E1F7AD6D2CCAC852757E19B04521CEC5AB0804D4227396A2117ABA78DD7DA2F58BD11C6AF4BB864FD623F3D149DBD445227E8980855D1D22B52D607C04769D4C6802ABA5300C9B35377276C14A1844F56ABA04E20F28C8A45A249DC0D9B33FD97205574F90ACDE80CD2A09E1C028777949A31A998FBA281A78944D4FECDDCE1D6918FA929BA7A868E6E6ABCCF5920173476CC350A5462B3C13CCAB3D33C714C0FB40A615607428FF9366D46A30640C7A5435EC2559AE7991412BC206FEE092C70734B3A5A87CA9030F4043CD026E00C6B62B420FB68F1C64C2446E727920B98BF1CA7CDE8A3E62465D32F39235E38935AD9A680B8BDE07A2FB0052BB822E5E9434B2F31109C6D77B2843340A10CCE1B9F768CBC24DD1857C1AA124E93BD332F72BD435299B9558E1ACDF16CDA768327CE9318E45B1B7CDC189A0A55D2599182D671BF8ECA1670F130EB9931CB7A1FBEB32095C1A439FD34246D2EFC92ED76A713AD79767A32D96639C2967001DCE64C4D0EB7BE22DD12F1AFD121ED5C8F9CA5A16FC13674043F849C702A93AAF97A8CE43923BF1E951B5DE224FC10D2234583FC09F5126E049BABC49083E34859B18E8A34A91A8700B9F7E2E567696CA36AE0AC57CC105DFAE991019AD6B36E74997EBCFF298F352DC43F02F91B8D363957
Кроме функции uncompress я не пользовался никакими другими. Мой код по распаковке выглядит так:
fread(&isCompressed,1,1,f);
fread(&fileRealSize,4,1,f);
fread(&filePackedSize,4,1,f);
fread(&fOffset,4,1,f);
fseek(f,fOffset,SEEK_SET);
if (isCompressed==1)
{
packedfile = malloc(filePackedSize);
fread(packedfile,filePackedSize,1,f);
uncompress((Bytef*)addr, &fileRealSize, (Bytef*)packedfile, filePackedSize);
free(packedfile);
}
else
{
fread(addr,fileRealSize,1,f);
}