Poryg

Dark Lord of the Castle of Javascreeps
Regular
Joined
Mar 23, 2017
Messages
4,233
Reaction score
11,316
First Language
Czech
Primarily Uses
RMMV
Plugin that serves to fight pesky resource stealers. Encrypt your game assets if you don't want to be relying on MV's default encryption.
The encrypter can be used once and then removed, provided that you use it right before releasing the game. The decoder, however, naturally needs to stay with the game.
The algorithm for encryption/decryption is very basic. Simply change values of some bytes. Since Javascript is an open-file language, it makes no sense to make anything overly complex as non-programmers will be discouraged by it and programmers can read code.
If you want to implement a custom encryption algorithm, feel free to. Or let me know in the PMs. However, if you want to use some uber mecha advanced ones, I recommend you to also make sure nobody can read the .js files, otherwise it will be pointless.

Compatible with my database encoder/decoder plugins.
Compatible with plugins as long as they properly save audio in audio and images in img
No compatibility guaranteed with plugins that change loading of pictures
No compatibility with plugins that include their own file formats, although compatibility patches for them might not always be difficult
Incompatible with MV's default encryption as I'm using different file formats. No compatibility intended due to pointlessness.


How to use:
1. turn on the plugin
2. launch the game in playtest mode (It will spend a while on black screen, because the plugin is focusing all cpu power on encrypting)
3. deploy the game
4. delete the png, movie and audio files inside your deployed version, leave all the encrypted files inside
5. That's all!

Note: For whatever reason the plugin displays certain incorrect behavior:
- if you change the encryption algorithm, you need to delete all the pngo files, it won't overwrite them. I have no idea why it treats pngo files in a special way, since the instructions for encryption are the same for both the audio and the images, but it does. It works completely fine with audio.

Terms of use:
MIT license

Find it here:
https://github.com/Poryg1/RPG-maker-MV-small-plugins



Even if you're not a programmer, I recommend you that you open the js files in a text editor and change some numbers a bit for basic customization:
There are two customizable variables:
fbx and lbx

The edits need to be done in such a way that:
fbx and lbx must be the same in both files.
lbx must be higher than fbx. f means first, l means last.




Why didn't I do it through plugin parameters?
It'd be more convenient, true. But this way there cannot be a tool that simply fetches these parameters.
 
Last edited:

ShadowDragon

Realist
Regular
Joined
Oct 8, 2018
Messages
7,744
Reaction score
3,161
First Language
Dutch
Primarily Uses
RMMV
while the plugin and js can be readed, using this tool by KageDesu
makes it impossible to read the code.

thank you for this contribution :)
 

Mirai_so_Sad

Warper
Member
Joined
Jun 23, 2016
Messages
1
Reaction score
3
First Language
None
Primarily Uses
RMMZ
That... I found that this encryption plugin cannot encrypt assets in png format....
I open the code of POR_AssetEncrypter.js to find out if there is a syntax error on line 70...

(PS. Sorry my English is not very good...)
 

Poryg

Dark Lord of the Castle of Javascreeps
Regular
Joined
Mar 23, 2017
Messages
4,233
Reaction score
11,316
First Language
Czech
Primarily Uses
RMMV
The only syntax error I might see is a missing dash behind "./img".
However, this would warrant an investigation to the plugin's erratic behaviour. In my case it always encrypted all png files. In case of the user who has requested it png files weren't compiled in his normal project, but if he made a fresh project, they would compile just fine.
 

Poryg

Dark Lord of the Castle of Javascreeps
Regular
Joined
Mar 23, 2017
Messages
4,233
Reaction score
11,316
First Language
Czech
Primarily Uses
RMMV
Alright, uploaded new version.

I had an oversight. During testing the images were corrupted successfully, because I tested on i = 0; i < 1024. However, when you make i high enough, the image signature won't get corrupted, hence the images will be possible to open in an image viewer/editor.

Therefore I reworked the encryption algorithm to mitigate this issue. I also reworked the variable editing to make it easier to edit the plugin for custom values.

I also edited the top post to include the updated instructions.
 
Last edited:

TrashDaggers

Warper
Member
Joined
Oct 25, 2021
Messages
2
Reaction score
0
First Language
English
Primarily Uses
RMMV
Hello! I would love to be able to use your encryption tool on a future project but ran into a problem when attempting to test these on a current game of mine. Attempting to run the finished .exe gave me an error from RMMV that the game's HTML file is in the 'broken' state.

Here's all of the steps I took from deployment to running the .exe:

1. Rename encrypter and decoder to E and D, respectively, and add both to the project's plugins folder
2. Add E.js to the project plugin list and turn it on
3. Launch game in playtest mode
4. Deploy game and close playtest window and RMMV
5. Go to output folder and delete images and audio
6. Run the plugin protector ShadowDragon mentioned in the deployed game's www folder
7. Use Resource Hacker to alter the game's .exe icon
8. Package the deployed game folder into just the .exe with Enigma Virtual Box and add an empty www folder containing an empty save folder so the game has a place to save players' games
9. Run the game

Do you know if any of these steps would have resulted in breaking my game's index.html file or other necessary files? Really appreciate your time
 

BlueWeirdness

Villager
Member
Joined
May 13, 2021
Messages
25
Reaction score
1
First Language
English
Primarily Uses
RMMV
Thank you so much for making this!

I've been able to follow the first three instructions, but if you don't mind, I have a question about the 4th instruction. What exactly do you mean by "delete the png and music? Wouldn't that be getting rid of vital graphics and audio? Or are you talking about some other unused files?

Thanks again!
 

TrashDaggers

Warper
Member
Joined
Oct 25, 2021
Messages
2
Reaction score
0
First Language
English
Primarily Uses
RMMV
Thank you so much for making this!

I've been able to follow the first three instructions, but if you don't mind, I have a question about the 4th instruction. What exactly do you mean by "delete the png and music? Wouldn't that be getting rid of vital graphics and audio? Or are you talking about some other unused files?

Thanks again!
You would delete the original, unencrypted files in your deployed project. After deleting, you're left with the encrypted files that are decrypted by the decrypter plugin. This way, your game can read the encrypted files but people looking to dig around in your game folders to steal your assets will have a harder time.

To better understand this, try deploying a project with neither of these plugins installed and instead simply checking image and audio encryption on the checkboxes on RMMV's deployment screen. Then take a look at the images and audio files in your deployed folder. You'll see that these are special file types unreadable by your computer by default. This would normally be suitable for encryption and theft prevention, but RMMV-encrypted files have become terribly easy to decrypt with free tools that are very easy to find. Poryg's encryption plugin here provides a better solution.
 

Poryg

Dark Lord of the Castle of Javascreeps
Regular
Joined
Mar 23, 2017
Messages
4,233
Reaction score
11,316
First Language
Czech
Primarily Uses
RMMV
@TrashDaggers The only possible culprits are files that alter the html file. So either the plugin protector, or the enigma. If it's the plugin protector, the html should be easy to fix. With enigma not so much.
 

ShadowDragon

Realist
Regular
Joined
Oct 8, 2018
Messages
7,744
Reaction score
3,161
First Language
Dutch
Primarily Uses
RMMV
@Poryg the Plugin Protector Tool I mentioned only targets the plugins
folder, and dont mess with anything else, so it would hard to believe
that would be the cause.

The Enigma Box just box the game, but I dont know if it can damaged
the html either, but I dont use that, so it is possible.

@TrashDaggers If it is the the EnigmaBox, try to re-deploy the game,
and box it, if it works, use the protector tool I provided and re-box
it again and see if it works.

While the tool only targets the plugins and not the html, I think the
progress to deployed version got corrupted, but it's worth a shot
to narrow down the cause of it.
 

BlueWeirdness

Villager
Member
Joined
May 13, 2021
Messages
25
Reaction score
1
First Language
English
Primarily Uses
RMMV
You would delete the original, unencrypted files in your deployed project. After deleting, you're left with the encrypted files that are decrypted by the decrypter plugin. This way, your game can read the encrypted files but people looking to dig around in your game folders to steal your assets will have a harder time.

To better understand this, try deploying a project with neither of these plugins installed and instead simply checking image and audio encryption on the checkboxes on RMMV's deployment screen. Then take a look at the images and audio files in your deployed folder. You'll see that these are special file types unreadable by your computer by default. This would normally be suitable for encryption and theft prevention, but RMMV-encrypted files have become terribly easy to decrypt with free tools that are very easy to find. Poryg's encryption plugin here provides a better solution.
Hello, thank you for answering! If you don't mind, I still have at least one more question for now, since forgive me, but I am entirely new to all of this.

Wait, "neither of these plugins?" I thought there was only 1 we needed for this?

Other than that, I *might* have it.
 

BlueWeirdness

Villager
Member
Joined
May 13, 2021
Messages
25
Reaction score
1
First Language
English
Primarily Uses
RMMV
Hi again! I've been trying to do what the instructions said, but whenever I delete the files, it tell me that there's an error because it's lost the files. Maybe I'm deleting the wrong ones? Mind you, I'm deleting all except one version for each. Could that be the problem? Should I only delete the 1 called png for each of them and not the ones labeled with o on the end?

Also, it seems like whenever I remove the encryption plugin after deployment, like you mentioned, it gives me an error. Is it a requirement to remove it? Like, does it impede the performance?
 
Last edited:

Poryg

Dark Lord of the Castle of Javascreeps
Regular
Joined
Mar 23, 2017
Messages
4,233
Reaction score
11,316
First Language
Czech
Primarily Uses
RMMV
Only the files .png should be deleted. The decrypter plugin won't need the .png and neither will it work with them.

The encrypter plugin is unnecessary once the project has been encrypted and deployed. Since I don't know what error it throws, I can't tell what's going on.
 

Grilled Mormons

Villager
Member
Joined
Feb 15, 2016
Messages
16
Reaction score
3
First Language
English
Primarily Uses
N/A
Could you look into compatibility for mv3d? https://forums.rpgmakerweb.com/index.php?threads/mv3d-3d-rendering-for-rmmv-with-babylon-js.114971/

I can only confirm that it gets stuck infinitely loading when entering a 3d map. everything else including maps where the 3d is disabled runs fine. the plugin uses the img folder to texture the map and get event sprites, so if its as easy as changing it to look for .pngo instead of .png maybe its a simple patch?

The creator has been away for a while so can only really ask for you to try from your side.
 

Moxy

Regular
Regular
Joined
Jan 21, 2018
Messages
37
Reaction score
9
First Language
English
Primarily Uses
RMMV
Is it possible to make this plugin extend to the webm movie files?
 

Poryg

Dark Lord of the Castle of Javascreeps
Regular
Joined
Mar 23, 2017
Messages
4,233
Reaction score
11,316
First Language
Czech
Primarily Uses
RMMV
@Grilled Mormons MV3D's up to date version is hidden behind a paywall. The not so up to date version is partially minified and what is not minified is hidden under an anonymous function as well as a const object, making alterations impossible without fiddling with the plugin file itself... Which is not explicitly allowed in the terms of use.

@Moxy Webm files and mp4 files now supported. Uploading the file now.
 

ShadowDragon

Realist
Regular
Joined
Oct 8, 2018
Messages
7,744
Reaction score
3,161
First Language
Dutch
Primarily Uses
RMMV
@Poryg it's not mp4 but .m4a files :p unless you mean that part though.
 

Poryg

Dark Lord of the Castle of Javascreeps
Regular
Joined
Mar 23, 2017
Messages
4,233
Reaction score
11,316
First Language
Czech
Primarily Uses
RMMV
it's not mp4 but .m4a files :p unless you mean that part though.
I've been supporting m4a files since the very beginning actually. I didn't support videos, because it was a pain to reverse engineer (or so I thought), so since not that many people use them, I'd left it out.
Took a look, saw it was actually easy and finished it. :D
 

Moxy

Regular
Regular
Joined
Jan 21, 2018
Messages
37
Reaction score
9
First Language
English
Primarily Uses
RMMV
I saw this morning, but wanted to make sure it would work for me before I showed you my undying love for your help. Thank you for responding. I wasn't expecting it to be so quick, and even more importantly, you created a solution that I don't think anyone else could have provided. This is huge, and by my standards black magic! If it wasn't for you I think my two-year-old project would have been scrapped. Again, your help and work is greatly appreciated!
 

Latest Threads

Latest Posts

Latest Profile Posts

We've been tricked, we've been backstabbed and we've been, quite possibly, bamboozled.

1695643923498.png

Finally figured out the source of my problems - WindowBase's contentsWidth() doesn't actually return the width of its contents :kaoswt2:
Lies of P. 5/10. It's like Dark Souls if you removed everything great about Dark Souls. It makes me want to replay Dark Souls.
poor Edward has some kind of affliction

ewd.png
Keeping on my crowdfunding page rigging, making gifs to make the wall of text look more sparkly glowy.
Made this one and it made me laugh.

ezgif-4-abff258a04.gif
New sprite in action! A-1-2 looks kinda goofy might need to upscale some of the tiles and decorations. And maybe change eliza's creepy laugh to more of a neutral mouth

Forum statistics

Threads
134,789
Messages
1,250,598
Members
177,573
Latest member
hakeen
Top