Yu-NO Sega Saturn ABL Archive format

Extraction and unpacking of game archives and compression, encryption, obfuscation, decoding of unknown files
Spazzery
Posts: 4
Joined: Thu Feb 10, 2022 10:33 pm

Yu-NO Sega Saturn ABL Archive format

Post by Spazzery »

Hello,

I'm interested in unpacking the game CGs/images of "Yu-no - The Girl who chants Love at the Bound of this World" Sega Saturn port. Back when TLwiki translated the game on PC, they had tools to get the Saturn images, but unfortunately, they never made them public.

Why am I interested in this? I'd like to look at the CGs and then possibly use them for a small project :) I think the Saturn images look really nice and colorful compared to the other ports of this game: https://imgur.com/a/r99wjsK

̶T̶h̶e̶ ̶t̶e̶c̶h̶n̶i̶c̶a̶l̶ ̶a̶s̶p̶e̶c̶t̶s̶:̶
̶-̶T̶h̶e̶ ̶g̶r̶a̶p̶h̶i̶c̶s̶ ̶a̶r̶e̶ ̶i̶n̶ ̶a̶ ̶3̶2̶M̶B̶ ̶a̶r̶c̶h̶i̶v̶e̶ ̶(̶G̶R̶A̶P̶H̶.̶A̶B̶L̶)̶ ̶w̶i̶t̶h̶ ̶a̶n̶ ̶e̶x̶t̶e̶n̶s̶i̶o̶n̶ ̶.̶A̶B̶L̶.̶ ̶M̶a̶g̶i̶c̶ ̶i̶n̶s̶i̶d̶e̶ ̶t̶h̶e̶ ̶f̶i̶l̶e̶ ̶s̶a̶y̶s̶ ̶"̶A̶B̶L̶I̶N̶K̶"̶.̶
̶-̶T̶h̶e̶ ̶h̶e̶a̶d̶e̶r̶ ̶i̶s̶ ̶1̶2̶ ̶b̶y̶t̶e̶s̶.̶ ̶6̶ ̶o̶f̶ ̶t̶h̶o̶s̶e̶ ̶b̶y̶t̶e̶s̶ ̶b̶e̶l̶o̶n̶g̶ ̶t̶o̶ ̶m̶a̶g̶i̶c̶,̶ ̶w̶h̶i̶l̶e̶ ̶6̶ ̶o̶t̶h̶e̶r̶ ̶b̶y̶t̶e̶s̶ ̶I̶ ̶d̶o̶n̶'̶t̶ ̶k̶n̶o̶w̶
̶-̶A̶f̶t̶e̶r̶ ̶t̶h̶e̶ ̶h̶e̶a̶d̶e̶r̶,̶ ̶I̶'̶v̶e̶ ̶f̶o̶u̶n̶d̶ ̶t̶h̶a̶t̶ ̶t̶h̶e̶r̶e̶ ̶a̶r̶e̶ ̶f̶i̶l̶e̶n̶a̶m̶e̶ ̶l̶a̶b̶e̶l̶s̶,̶ ̶t̶h̶a̶t̶ ̶a̶r̶e̶ ̶e̶a̶c̶h̶ ̶1̶2̶ ̶b̶y̶t̶e̶s̶ ̶l̶o̶n̶g̶.̶ ̶O̶f̶ ̶t̶h̶o̶s̶e̶ ̶1̶2̶ ̶b̶y̶t̶e̶s̶:̶
̶ ̶ ̶ ̶ ̶*̶ ̶2̶ ̶b̶y̶t̶e̶s̶ ̶-̶ ̶?̶?̶
̶ ̶ ̶ ̶ ̶*̶ ̶2̶ ̶b̶y̶t̶e̶s̶ ̶-̶ ̶i̶n̶d̶i̶c̶a̶t̶e̶s̶ ̶s̶o̶m̶e̶ ̶g̶r̶o̶w̶i̶n̶g̶ ̶n̶u̶m̶b̶e̶r̶,̶ ̶b̶u̶t̶ ̶t̶h̶e̶r̶e̶ ̶i̶s̶n̶'̶t̶ ̶a̶n̶y̶ ̶c̶o̶n̶s̶i̶s̶t̶e̶n̶c̶y̶ ̶t̶o̶ ̶i̶t̶.̶
̶ ̶ ̶ ̶ ̶*̶ ̶8̶ ̶b̶y̶t̶e̶s̶ ̶-̶ ̶f̶i̶l̶e̶n̶a̶m̶e̶,̶ ̶t̶h̶a̶t̶'̶s̶ ̶n̶u̶l̶l̶ ̶t̶e̶r̶m̶i̶n̶a̶t̶e̶d̶ ̶(̶i̶n̶ ̶o̶t̶h̶e̶r̶ ̶w̶o̶r̶d̶s̶,̶ ̶f̶i̶l̶e̶n̶a̶m̶e̶ ̶c̶a̶n̶ ̶b̶e̶ ̶u̶p̶ ̶t̶o̶ ̶8̶ ̶b̶y̶t̶e̶s̶ ̶l̶o̶n̶g̶)̶
̶-̶I̶ ̶a̶l̶s̶o̶ ̶s̶u̶s̶p̶e̶c̶t̶ ̶t̶h̶e̶r̶e̶'̶s̶ ̶s̶o̶m̶e̶ ̶c̶o̶m̶p̶r̶e̶s̶s̶i̶o̶n̶ ̶a̶l̶g̶o̶r̶i̶t̶h̶m̶ ̶i̶n̶v̶o̶l̶v̶e̶d̶

̶I̶'̶m̶ ̶s̶t̶i̶l̶l̶ ̶a̶ ̶b̶i̶g̶ ̶n̶o̶o̶b̶ ̶i̶n̶ ̶R̶e̶v̶e̶r̶s̶e̶ ̶E̶n̶g̶i̶n̶e̶e̶r̶i̶n̶g̶,̶ ̶s̶o̶ ̶m̶y̶ ̶g̶u̶e̶s̶s̶e̶s̶ ̶a̶b̶o̶u̶t̶ ̶t̶h̶e̶ ̶s̶t̶r̶u̶c̶t̶u̶r̶e̶ ̶m̶a̶y̶ ̶b̶e̶ ̶i̶n̶c̶o̶r̶r̶e̶c̶t̶ ̶(̶w̶h̶i̶c̶h̶ ̶i̶s̶ ̶w̶h̶y̶ ̶I̶'̶m̶ ̶a̶s̶k̶i̶n̶g̶ ̶h̶e̶r̶e̶ ̶f̶o̶r̶ ̶s̶o̶m̶e̶ ̶h̶e̶l̶p̶ ̶:̶)̶ ̶I̶ ̶w̶a̶s̶ ̶a̶b̶l̶e̶ ̶t̶o̶,̶ ̶h̶o̶w̶e̶v̶e̶r̶,̶ ̶e̶x̶t̶r̶a̶c̶t̶ ̶a̶l̶l̶ ̶t̶h̶e̶ ̶f̶i̶l̶e̶n̶a̶m̶e̶s̶ ̶i̶n̶ ̶t̶h̶e̶ ̶a̶r̶c̶h̶i̶v̶e̶ ̶u̶s̶i̶n̶g̶ ̶a̶ ̶p̶y̶t̶h̶o̶n̶ ̶s̶c̶r̶i̶p̶t̶.̶
̶
̶A̶l̶s̶o̶,̶ ̶e̶x̶t̶r̶a̶c̶t̶i̶n̶g̶ ̶i̶m̶a̶g̶e̶s̶ ̶o̶u̶t̶ ̶o̶f̶ ̶t̶h̶e̶ ̶r̶e̶s̶u̶l̶t̶i̶n̶g̶ ̶f̶i̶l̶e̶s̶ ̶i̶n̶ ̶t̶h̶e̶ ̶a̶r̶c̶h̶i̶v̶e̶ ̶s̶h̶o̶u̶l̶d̶n̶'̶t̶ ̶b̶e̶ ̶a̶ ̶p̶r̶o̶b̶l̶e̶m̶,̶ ̶a̶s̶ ̶I̶ ̶f̶o̶u̶n̶d̶ ̶a̶t̶ ̶l̶e̶a̶s̶t̶ ̶o̶n̶e̶ ̶o̶r̶ ̶t̶w̶o̶ ̶S̶e̶g̶a̶ ̶S̶a̶t̶u̶r̶n̶ ̶i̶m̶a̶g̶e̶ ̶e̶x̶t̶r̶a̶c̶t̶o̶r̶s̶ ̶o̶n̶ ̶G̶o̶o̶g̶l̶e̶.̶
̶
̶U̶P̶D̶A̶T̶E̶:̶
̶T̶h̶e̶ ̶t̶e̶c̶h̶n̶i̶c̶a̶l̶ ̶a̶s̶p̶e̶c̶t̶s̶:̶
̶
̶T̶h̶e̶ ̶b̶y̶t̶e̶ ̶o̶r̶d̶e̶r̶ ̶i̶s̶ ̶B̶I̶G̶ ̶E̶N̶D̶I̶A̶N̶
̶
̶-̶T̶h̶e̶ ̶g̶r̶a̶p̶h̶i̶c̶s̶ ̶a̶r̶e̶ ̶i̶n̶ ̶a̶ ̶3̶2̶M̶B̶ ̶a̶r̶c̶h̶i̶v̶e̶ ̶(̶G̶R̶A̶P̶H̶.̶A̶B̶L̶)̶ ̶w̶i̶t̶h̶ ̶a̶n̶ ̶e̶x̶t̶e̶n̶s̶i̶o̶n̶ ̶.̶A̶B̶L̶.̶ ̶
̶-̶T̶h̶e̶ ̶h̶e̶a̶d̶e̶r̶ ̶i̶s̶ ̶1̶6̶ ̶b̶y̶t̶e̶s̶:̶
̶ ̶ ̶ ̶ ̶*̶ ̶6̶ ̶b̶y̶t̶e̶s̶ ̶-̶ ̶M̶a̶g̶i̶c̶ ̶(̶c̶a̶l̶l̶e̶d̶ ̶"̶A̶B̶L̶I̶N̶K̶"̶)̶
̶ ̶ ̶ ̶ ̶*̶ ̶2̶ ̶b̶y̶t̶e̶s̶ ̶-̶ ̶?̶?̶?̶
̶ ̶ ̶ ̶ ̶*̶ ̶4̶ ̶b̶y̶t̶e̶s̶ ̶-̶ ̶S̶o̶m̶e̶t̶h̶i̶n̶g̶ ̶r̶e̶l̶a̶t̶e̶d̶ ̶t̶o̶ ̶f̶i̶l̶e̶ ̶s̶i̶z̶e̶,̶ ̶a̶s̶ ̶t̶h̶e̶ ̶v̶a̶l̶u̶e̶ ̶i̶s̶ ̶q̶u̶i̶t̶e̶ ̶c̶l̶o̶s̶e̶ ̶t̶o̶ ̶3̶2̶M̶B̶ ̶-̶ ̶H̶e̶x̶ ̶v̶a̶l̶u̶e̶ ̶i̶s̶ ̶0̶x̶0̶1̶D̶A̶6̶B̶5̶2̶,̶ ̶t̶h̶a̶t̶'̶s̶ ̶3̶1̶0̶9̶1̶5̶3̶8̶ ̶i̶n̶ ̶d̶e̶c̶i̶m̶a̶l̶,̶ ̶o̶r̶ ̶r̶o̶u̶g̶h̶l̶y̶ ̶3̶1̶ ̶M̶B̶.̶
̶ ̶ ̶ ̶ ̶*̶ ̶4̶ ̶b̶y̶t̶e̶s̶ ̶-̶ ̶F̶i̶l̶e̶ ̶c̶o̶u̶n̶t̶ ̶-̶ ̶1̶5̶8̶7̶ ̶i̶n̶ ̶t̶h̶i̶s̶ ̶s̶a̶m̶p̶l̶e̶'̶s̶ ̶c̶a̶s̶e̶
̶
̶-̶A̶f̶t̶e̶r̶ ̶t̶h̶e̶ ̶h̶e̶a̶d̶e̶r̶,̶ ̶I̶'̶v̶e̶ ̶f̶o̶u̶n̶d̶ ̶t̶h̶a̶t̶ ̶t̶h̶e̶r̶e̶ ̶a̶r̶e̶ ̶f̶i̶l̶e̶n̶a̶m̶e̶ ̶l̶a̶b̶e̶l̶s̶,̶ ̶t̶h̶a̶t̶ ̶a̶r̶e̶ ̶e̶a̶c̶h̶ ̶1̶2̶ ̶b̶y̶t̶e̶s̶ ̶l̶o̶n̶g̶.̶ ̶ ̶O̶f̶ ̶t̶h̶o̶s̶e̶ ̶1̶2̶ ̶b̶y̶t̶e̶s̶:̶ ̶
̶ ̶ ̶ ̶ ̶*̶ ̶8̶ ̶b̶y̶t̶e̶s̶ ̶-̶ ̶f̶i̶l̶e̶n̶a̶m̶e̶,̶ ̶t̶h̶a̶t̶'̶s̶ ̶n̶u̶l̶l̶ ̶t̶e̶r̶m̶i̶n̶a̶t̶e̶d̶ ̶(̶i̶n̶ ̶o̶t̶h̶e̶r̶ ̶w̶o̶r̶d̶s̶,̶ ̶f̶i̶l̶e̶n̶a̶m̶e̶ ̶c̶a̶n̶ ̶b̶e̶ ̶u̶p̶ ̶t̶o̶ ̶8̶ ̶b̶y̶t̶e̶s̶ ̶l̶o̶n̶g̶)̶
̶ ̶ ̶ ̶ ̶*̶ ̶2̶ ̶b̶y̶t̶e̶s̶ ̶-̶ ̶A̶ ̶n̶u̶m̶b̶e̶r̶ ̶t̶h̶a̶t̶'̶s̶ ̶e̶i̶t̶h̶e̶r̶ ̶2̶5̶6̶,̶ ̶1̶0̶2̶4̶ ̶o̶r̶ ̶2̶8̶1̶6̶ ̶(̶r̶e̶s̶p̶e̶c̶t̶i̶v̶e̶l̶y̶ ̶0̶x̶0̶1̶0̶0̶,̶ ̶0̶x̶0̶4̶0̶0̶ ̶o̶r̶ ̶0̶x̶0̶B̶0̶0̶)̶ ̶(̶i̶m̶a̶g̶e̶ ̶s̶i̶z̶e̶?̶?̶)̶
̶ ̶ ̶ ̶ ̶*̶ ̶2̶ ̶b̶y̶t̶e̶s̶ ̶-̶ ̶i̶n̶d̶i̶c̶a̶t̶e̶s̶ ̶s̶o̶m̶e̶ ̶g̶r̶o̶w̶i̶n̶g̶ ̶n̶u̶m̶b̶e̶r̶,̶ ̶b̶u̶t̶ ̶I̶ ̶c̶o̶u̶l̶d̶n̶'̶t̶ ̶f̶i̶n̶d̶ ̶a̶n̶y̶ ̶c̶o̶n̶s̶i̶s̶t̶e̶n̶c̶y̶ ̶t̶o̶ ̶i̶t̶ ̶(̶f̶i̶r̶s̶t̶ ̶5̶ ̶n̶u̶m̶b̶e̶r̶s̶,̶ ̶f̶o̶r̶ ̶e̶x̶a̶m̶p̶l̶e̶,̶ ̶a̶r̶e̶ ̶1̶0̶,̶ ̶2̶5̶,̶ ̶4̶3̶,̶ ̶5̶4̶,̶ ̶7̶2̶,̶ ̶e̶t̶c̶.̶)̶
̶
̶T̶h̶i̶s̶ ̶r̶e̶p̶e̶a̶t̶s̶ ̶1̶5̶8̶8̶ ̶t̶i̶m̶e̶s̶ ̶(̶l̶a̶s̶t̶ ̶f̶i̶l̶e̶n̶a̶m̶e̶ ̶i̶s̶ ̶j̶u̶s̶t̶ ̶p̶a̶d̶d̶i̶n̶g̶?̶)̶
̶ ̶ ̶ ̶ ̶
̶-̶I̶'̶m̶ ̶9̶9̶%̶ ̶s̶u̶r̶e̶ ̶t̶h̶e̶r̶e̶'̶s̶ ̶a̶ ̶c̶o̶m̶p̶r̶e̶s̶s̶i̶o̶n̶ ̶a̶l̶g̶o̶r̶i̶t̶h̶m̶ ̶i̶n̶v̶o̶l̶v̶e̶d̶

UPDATE 2:
I was able to create an unpacker for the image files. The image format, sadly, is unknown. I can't seem to extract those in any way at the moment. But at least the unpacker works. More technical details on Github: https://github.com/Spazzery/yu-no-sega-saturn-unpacker

It also looks like there was no compression algorithm involved after all.

Link to the GRAPH.ABL file: https://www.mediafire.com/file/q7ghoq2m ... H.ABL/file

Now I'd need help extracting those image files :lol:
Link to first file that I got from the unpacker: https://www.mediafire.com/file/13bpzib0 ... BZABG/file.

Any help/info is appreciated :)
Last edited by Spazzery on Mon Jan 16, 2023 1:11 pm, edited 2 times in total.
Spazzery
Posts: 4
Joined: Thu Feb 10, 2022 10:33 pm

Re: Yu-NO Sega Saturn ABL Archive format

Post by Spazzery »

Bump, I updated the technical aspects
Spazzery
Posts: 4
Joined: Thu Feb 10, 2022 10:33 pm

Re: Yu-NO Sega Saturn ABL Archive format

Post by Spazzery »

Bump 2, got the extractor working. But now need help converting the custom image format to a more common file format, like BMP or PNG.