[XP] DREAM

Started by Blizzard, January 08, 2008, 11:53:06 am

Previous topic - Next topic

Blizzard

January 08, 2008, 11:53:06 am Last Edit: October 07, 2021, 10:26:14 am by Blizzard
DREAM (Double Random Encryption Algorithm Module)
Authors: Blizzard
Version: 4.5
Type: Scripting Tool
Key Term: Scripting Tool

Introduction

The 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

  • Read it in the Readme

Screenshots

N/A for this sort of script

Demo

N/A

Script

N/A

Instructions

How 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
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.

Compatibility

As 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 Notes

If you find any bugs, please report them here:
http://forum.chaos-project.com

That's it! N-Joy! =D
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

fugibo

*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)

Blizzard

Well, I could redo it in C# as real dll library... :P
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

fugibo

March 01, 2008, 03:09:02 pm #3 Last Edit: March 01, 2008, 08:35:04 pm by WcW
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  ;)

Blizzard

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
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

fugibo

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

Blizzard

I thought I sent you the unencrypted CP long ago. (-_-')

Sure, hacking CP is only an offense against Enterbrain, not me, lol!
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

fugibo

0_0

Uhm... why would i have an unencrypted CP  :o

Blizzard

FTS and mumerus do. #_#
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Fantasist

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?)
Do you like ambient/electronic music? Then you should promote a talented artist! Help out here. (I'm serious. Just listen to his work at least!)


The best of freeware reviews: Gizmo's Freeware Reviews




fugibo

... just uber-power ur charas...

Blizzard

It takes ages.

@FTS: I didn't find any other.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Punn

What about the DREAM for music? I dont really care about Save..

fugibo

BTW, does this use Zlib too?

Blizzard

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
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Tazero

Are you EVER gonna update this again?


If you were a fish...

Blizzard

Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.