DREAM (Double Random Encryption Algorithm Module)
Authors: Blizzard
Version: 4.5
Type: Scripting Tool
Key Term: Scripting Tool
IntroductionThe DREAM can be used for encryption, decryption, randomisation etc...
If you have suggestions how to make DREAM better, post them.
If you have an idea for a script and would like to use DREAM for it, but the current DREAM version can't satisfy your need for special methods, post your ideas and the next version release may include these methods.
This work is licensed under BSD License 2.0:
QuoteCopyright (c) Boris "Blizzard" Mikić
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
You may use this script for both non-commercial and commercial products without limitations as long as you fulfill the conditions presented by the above license. The "complete" way to give credit is to include the license somewhere in your product (e.g. in the credits screen), but a "simple" way is also acceptable. The "simple" way to give credit is as follows:
QuoteDREAM licensed under BSD License 2.0, Copyright (c) Boris "Blizzard" Mikić
Alternatively, if your font doesn't support diacritic characters, you may use this variant:
QuoteDREA licensed under BSD License 2.0, Copyright (c) Boris "Blizzard" Mikic
In general other similar variants are allowed as long as it is clear who the creator is (e.g. "DREAM created by Blizzard" is acceptable). But if possible, prefer to use one of the two variants listed above.
If you fail to give credit and/or claim that this work was created by you, this may result in legal action and/or payment of damages even though this work is free of charge to use normally.
Features
ScreenshotsN/A for this sort of script
DemoN/A
ScriptN/A
InstructionsHow to use DREAM for your own script:
1) Specifying the required DREAM version
You need to specify the required DREAM version for your script using
following syntax:
Required_DREAM_Version = 4.4
Be sure you specify the correct version. DREAM will recognize the required
version and give you a notification if its version is not high enough. Note
that you need to specify the REAL required DREAM version OR a higher version
if you are not sure, the lower version supports the methods your script uses.
Do NOT use 4.5 as required version!2) Including the required DREAM files
Copy the DREAM.dll and DREAM_ext.rb files into the Data folder of your game.
3) Including the DREAM controller
The DREAM controller will allow you to extract the DREAM for the sake of
loading it into the memory. Copy this code into your script:
#==============================================================================
# DREAM_ext controller
#==============================================================================
module DREAM
def self.self_extract
data = load_data('Data/DREAM_ext.rb')
file = File.open('DREAM_ext.rb', 'wb')
file.write(data)
file.close
require File.expand_path('DREAM_ext.rb')
self.load_DREAM
end
end
DREAM.self_extract
4) Activating DREAM in your script
Very simple. You can refer to "DREAM.method_name(arguments)".
Further download this file:
DREAM files (https://downloads.chaos-project.com/scripts/DREAM.zip)
and extract it into the Data folder of your game.
DREAM.dll
DREAM_ext.rb
DREAM Readme.txt
All the instructions about DREAM can be found in the Readme.
CompatibilityAs compatible with anything as you make it to be. ;)
Credits and Thanks- Boris "Blizzard" Mikić
- Zeriab - for pointing out a piece of code that wasn't optimally coded
Author's NotesIf you find any bugs, please report them here:
http://forum.chaos-project.com
That's it! N-Joy! =D
*warning* This has been proven extremely easy to hack to experienced scripters. Of course, they probably won't do anything with it anyway, but be aware it isn't 100% flawless. Ruby was never meant to be closed source (blam Matz, not me)
Well, I could redo it in C# as real dll library... :P
But I'd still have the algorithm. Unless you redid that. And that'd be a waste of time as no scripter would bother wasting their time on hacking a save file.
EDIT:
Plus, I'd still be able to see how you decrypt the save file ;)
I bothered to hack the savefile. =X
We should thank Zenogias and his game Dark Eternal 1. It was too hard for me and I decided to hack my savefile since I was interested in th story. In the end I realized that I don't want people to hack CP's savefiles, so I made DREAM. Then I realized I could post DREAM as well. xD
Ah. But with enough patience, CP would be easy to hack, unless the DLL function you called just made a parallel loop that checked for save files and encrypted them without RGSS ever called a decryption method. That's the only way I can think of that this would ever really be "secure." But scripters don't really hack much for abuse but for messing around. And not many people have actually figured out how to hack DREAM yet, anyway. So, I guess it's still safe.
BTW, am I allowed to hack CP just so I can blow stuff up? :P
I thought I sent you the unencrypted CP long ago. (-_-')
Sure, hacking CP is only an offense against Enterbrain, not me, lol!
0_0
Uhm... why would i have an unencrypted CP :o
FTS and mumerus do. #_#
QuoteWe should thank Zenogias and his game Dark Eternal 1. It was too hard for me and I decided to hack my savefile since I was interested in th story. In the end I realized that I don't want people to hack CP's savefiles, so I made DREAM. Then I realized I could post DREAM as well. xD
No fair, and I slogged for hours and frostration trying to beat it. The game's good, but the battle system imo is not really balanced. And just out of curiosity, is there a way to escape battles in DE11 other than using the skill and item? (was it Hash?)
... just uber-power ur charas...
It takes ages.
@FTS: I didn't find any other.
What about the DREAM for music? I dont really care about Save..
BTW, does this use Zlib too?
Nope. And DREAM for music is safe. The idea is to encapsulate the music file into Marshal format so it can be dumped and loaded from and RGSSAD archive without problems. In other words: DREAM helps you to encrypt your music files with RMXP's encryption
Are you EVER gonna update this again?
Next century. :V: