uuksu / RPGMakerDecrypter

Tool for extracting RPG Maker XP, VX and VX Ace encrypted archives.
MIT License
205 stars 44 forks source link

Added and refactored modules for reading archive with fux2pack header #6

Closed Apeiria01 closed 1 year ago

Apeiria01 commented 1 year ago

The archive file I'm trying to decrypt has a "Fux2Pack" file header, and can be decrypted with similar methods. Only few override methods are required

uuksu commented 1 year ago

Hey! I've never heard this archive format before. Is it commonly used? If this will help many others, I'm more than happy to include it to the repository but I have to know more what it is.

Apeiria01 commented 1 year ago

Hey! I've never heard this archive format before. Is it commonly used? If this will help many others, I'm more than happy to include it to the repository but I have to know more what it is.

Not that commonly used but it seems that fux2pack often appears in zh_CN lang forums. Maybe its originally created by one of the Chinese rpgmaker users.

uuksu commented 1 year ago

I see, so it's one in the many of the possible scrambled archive types that people have implemented over the years.

You refactored a pretty big chunk of code in the PR. I fear that we are going to have to do this same thing all over again when the next archive type support is requested. I have to take a better look of what you did my wish would be that future would be also covered for the next potential archive types and also that the main implementation is not changed too much as it still is what most of the people are going to use.

Apeiria01 commented 1 year ago

I see, so it's one in the many of the possible scrambled archive types that people have implemented over the years.

You refactored a pretty big chunk of code in the PR. I fear that we are going to have to do this same thing all over again when the next archive type support is requested. I have to take a better look of what you did my wish would be that future would be also covered for the next potential archive types and also that the main implementation is not changed too much as it still is what most of the people are going to use.

Actually I just added a subclass of .v3 class since the only difference between v3 and fux2pack is their header string and the decrypting key integer next to the header. The implementation of decrypting archive of.v3 and .v1 class are not changed, but some of the methods of their base class are changed to abstract instead of private methods with same names but in different subclasses.

uuksu commented 1 year ago

I'm not going accept this PR as it does too much for my liking. I like to keep the implementation as simple as possible and adding an arbitary encryption format is one step towards feature greep.

License allows to fork this project, so if this feature is something that is important to you, I would suggest to do so and release it as a alternative version of my project.