You'd have stopped needing more info after I posted the libquazip stuff. That had proved that it simply sent some sort of ZIP commands to the library, something you could handle with your eyes wide closed.
Sorry to be blunt, but that library is not even remotely related to what any of us are talking about.
Any guides or known implementations since we have to have it play ball with nwjs-win/nwjs-linux?
The editor's encryption method is to XOR each of the first 16 bytes of the file against the byte represented by the characters in the corresponding position of the encryption key. Then it also inserts an arbitrary 16 byte header in front of those bytes.
So supposing that the first 16 bytes of my png file are this:
Code:
89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52
And my encryption key (which will always be 32 characters that can represent valid hexadecimal digits) is this:
Code:
19a07ed4c99c4f630a92f62888ded38e
We'd first separate the encryption key into 16 strings of 2 characters, and parse them into hex integers. These would be the resulting hex integers:
Code:
19 A0 7E D4 C9 9C 4F 63 0A 92 F6 28 88 DE D3 8E
Then you'd XOR each byte from the first code box against each corresponding byte from the last code box. So for examples:
89 XOR 19 = 90
50 XOR A0 = F0
4E X0R 7E = 30
47 XOR D4 = 93
etc...
And you'd wind up with this:
Code:
90 F0 30 93 C4 96 55 69 0A 92 F6 25 C1 96 97 DC
The editor will replace the first 16 bytes of the file with these new bytes.
After all of that, the editor will also insert an arbitrary 16 byte header in front of those. The header will always look like this:
Code:
52 50 47 4D 56 00 00 00 00 03 01 00 00 00 00 00
So then the beginning of the file winds up looking like this:
Code:
52 50 47 4D 56 00 00 00 00 03 01 00 00 00 00 00
90 F0 30 93 C4 96 55 69 0A 92 F6 25 C1 96 97 DC
I'm pretty sleepy, so I don't know if I explained any of this well. But basically, the encryption method just changes 16 bytes in the file, and adds an additional 16 bytes to the file. The entire remainder of the file is untouched.
You should be able to use pretty much any programming language to write a console application that can perform these operations. Though like I mentioned in my previous post, if you're going to go through the trouble of writing such a tool, then you might as well go ahead and alter the algorithm a bit.
Personally, I wouldn't change it drastically, because you don't wanna do anything that might slow down the decryption process. But even a very minor change will make it so that none of the existing RPG Maker decrypters will work on your game, so then unskilled individuals can no longer rip your assets with the click of a button. It would make it so that someone with the right skillset would need to be determined enough to write a dedicated tool in order to decrypt your game. Of course, you would also have to create a plugin (or edit your core scripts) to accommodate the new encryption method.