morkt / GARbro

Visual Novels resource browser
MIT License
2.19k stars 232 forks source link

Update to Cyberworks (Tinkerbell/Wendybell) #500

Open AlchemistofAtlas opened 2 years ago

AlchemistofAtlas commented 2 years ago

Since last year, the company has changed yet again its decryption method, which makes ripping some of their games an impossibility; could the Arc format file be updated so the files can be viewed? If there needs to be an indicator, they include now a ChakraCore.dll file, but I don't know if that influences on it.

https://vndb.org/p491 https://vndb.org/p529

Unfortunately I can't do this since I lack the understanding, so all I can do is offer headers about it. This is because I'm interested on their upcoming game.

Example Tinkerbell :

AlchemistofAtlas commented 2 years ago

While this is just from the Trial, here's further elements that would help updating Cyberworks Arc format to be viewable.

image

image

When trying to it comes with an error in spanish that says: "Couldn't find any suitable image processing component to complete this operation".

image

arcusmaximus commented 2 years ago

I investigated the format for another Cyberworks game and wrote my own unpacker/repacker: https://github.com/arcusmaximus/CSystemTools Licensed it as MIT, so if the code works for you, feel free to do whatever you want with it.

AlchemistofAtlas commented 2 years ago

I'm likely doing something wrong, but may as well ask to clear things up. So, apologies in advanced.

First of all, which game did you test your tool?

Second, to my knowledge, Cyberworks games don't have an index.dat file.

Third, how do you extract the app folder with the tool since that also contains character sprites?

Fourth, I keep getting errors when trying to extract the images. Examples: CSystem error1

The specified method is not compatible

CSystem error2

Index outside the matrix limits.

CSystem error3

Tried it with newer and older games. Best reult I got is with Shukubo no Uzuki, but I get this error:

CSystem error4

arcusmaximus commented 2 years ago

to my knowledge, Cyberworks games don't have an index.dat file.

The "index.dat" in the command line description is just a placeholder for the .dat file containing the file index (e.g. Arc02.dat) as opposed to the .dat file containing the file content (e.g. Arc05.dat).

how do you extract the app folder with the tool since that also contains character sprites?

The game I tested on didn't have such a folder, so it's not supported.

I keep getting errors when trying to extract the images

Welp, clearly testing the tool on just one game wasn't enough :). It'll need more work to become useful then.

rewjx commented 2 years ago

for the game: https://vndb.org/v32026 , the file header of "c" type image is one byte longer than old version. Modify garbro's source code, change 4 to 5, and ignore the extra bytes, then it works well.

AlchemistofAtlas commented 2 years ago

@rewjx

Which of the sources codes is the one I must modify? I assume it's one from Cyberworks folder, but which one specifically?

rewjx commented 2 years ago

@AlchemistofAtlas Three modifications are needed.

  1. in Cyberworks/ArcDAT.cs, line 314, original code is: if (input.Length - 5 == img_size) change the 5 to 6.

  2. in Cyberworks/ArcDAT.cs, line 316, original code is: input = BinaryStream.FromStream (new StreamRegion (input.AsStream, 5, img_size), input.Name); change the 5 to 6.

  3. in Cyberworks/ImageTINK.cs, line 147, original code is: input.Read (size_buf, 0 , 4); may need add a new line after line 147, the content is input.ReadByte();

Besides the code modification, you also need to find the encryption parameters. I'm not sure if there are appropriate parameters in the list.

Anyway,This is just a temporary solution. And maybe not compatible with other games

AlchemistofAtlas commented 2 years ago

@rewjx So far I've only gotten the event CG's of https://vndb.org/v32026, but my main point of interest is to get the character sprites that appear in both appendix files and Arc05.dat and Arc05a.dat.

AlchemistofAtlas commented 2 years ago

After a while, I tried all parameters, and the only one that gets close is with Cosplay Ecchi's parameter. I'm more concerned for the character sprites rather than the event, as I said, I already ripped the event so if anyone can help with it, i'd appreciate it.

Result

xxxbagxx commented 2 years ago

@morkt any update for this please?

mymzc4njm commented 1 year ago

Any update?