以下引用Infrared于2008-6-21 16:11:26的发言:
很多解密方法输出图片的核心都是轮回者的PNG文件输出脚本,把PNG输出部份改成了这个之后,速度快了1倍。原本30MB游戏要20-30分钟。
#============================================================================
# *** RGSSAD Extractor version 1.02, created by vgvgf
#============================================================================
*** RGSSAD Extraction - Started at 21/06/2008(d/m/y) 15:46:41
* Sprites founded inside the scripts - Total 68
省略
*** RGSSAD Extraction - Finished at 21/06/2008(d/m/y) 16:04:24 - Extraction time 00:11:58
[本贴由作者于 2008-6-21 16:12:18 最后编辑]
哈哈,你也这么用啦。原来都用在邪恶的地方。
夏娜的png输出造成了rm无密可加的状态。难道要我自己写加密啊,太麻烦,解密的就好了。
以下引用灼眼的夏娜于2008-6-22 12:16:02的发言:
哈哈,你也这么用啦。原来都用在邪恶的地方。
夏娜的png输出造成了rm无密可加的状态。难道要我自己写加密啊,太麻烦,解密的就好了。
写吧写吧 偶以后用= =啊哈哈- -``
以下引用yanzheng868于2008-7-6 15:58:35的发言:
……
这东西已经普及了么
RGSSAD释放者
[本贴由作者于 2008-7-6 15:59:53 最后编辑]
#=============================================================================
# *** RGSSAD Extractor
#=============================================================================
# Created by vgvgf
# Version: 1.02
# Last Modification: 20/03/08
#=============================================================================
# *** Author's Note
# Stealing is bad, realy bad. Don't do that! If you want to cheat a game, or
# if you are curious and want to know how a game is made for learning, that's
# OK, but if you are stealing unique scripts or graphics, you are a bad
# person.
# PD: I will kill a kitty for each stolen resource.
#=============================================================================
# *** Credits
# * www.66rpg.com
# - PNG files saver
#=============================================================================
# *** Version Histiory
# - 1.00, 15/03/08
# First Release
# - 1.01, 19/03/08
# Fixed a little bug.
# Better modified RGSS102E.dll.
# - 1.02, 20/03/08
# Fixed fatal error when reading RGSSAD Data.txt and RGSSAD Graphics.txt.
# Removed FileUtils.rb dependency.
# Removed REAL_TIME_LOGGER, now it is by default.
# Improved code.
#=============================================================================
# *** Description
# This program will extract the files contained by the RGSSAD files. The
# only problem, is that for extracting a file it needs to have the file's path.
# So it try to read all the programs data(Actors, classes, maps, events, etc)
# in search of the file paths, but if the paths are in the scripts the program
# may not obtain all the paths.
#=============================================================================
# *** How to use
# First, you need to place this "RGSSAD Extractor.rb" file, and the
# "RGSS102E.dll" in the game folder. You will need to change the "Library"
# field from the "Game.ini" file to "RGSS102E.dll", and after that execute
# Game.exe.
#
# This script will try to extract all the files listed in the database of the
# game, including maps and events. It will also read all the strings included
# in the scripts(Scripts.rxdata, and events) and search for sprites if the
# SCRIPT_STRINGS_READER flag is on, but it may doesn't work at 100%.
# So if it can't extract some files, you can use IN_GAME_EXTRACTOR option
# for extracting the sprites when playing the game, but it will only
# extract the sprites loaded by the game, so you will need to play the game
# until all sprites are loaded by it.
# You can also create a file named "RGSSAD Graphics.txt" in the game folder,
# containing the paths of the files(one path per line) that aren't listed in
# the database, events or maps; for manualy adding them into the extract list.
#
# * INCLUDE_RTP
# If you want to extract the files, that are already listed in the rtps, use
# this option. This may be useful, when the game have resources that have been
# edited from the rtp, and they conserve the same name. You can also use
# the "RGSSAD Graphics.txt" file for the same purpose, if you know the name
# of the edited files.
#
# * IN_GAME_EXTRACTOR
# This option will extract all the files used by the game when playing it.
# It's very useful, when the game stores the files path in the scripts data.
# The bad part is that you will need to play the game for extracting the sprites.
# It also puts the $DEBUG variable to true, and includes a frame skipper, for
# playing faster. For activating it press F5, and it will skip 5 frames per
# each Graphics.update, you can still press F5 for adding more frames to skip,
# you can press F6 for reducing the amount of frames to skip, and with F7 you
# will reset the frame skipper to normal speed.
#
# * SCRIPT_STRINGS_READER
# If this option is on, the extractor will read all the strings included in
# the scripts and will search for more sprites to extract. It is useful, when
# there are some sprites only listed in the scripts data.
#
# * "RGSSAD Graphics.txt"
# If you want to extract specifical graphic files from a RGSSAD, that aren't
# included in the database data, you can add a list of them in this file.
# You can inlude one file's path per line in this file. It must be a complete
# path for example: Graphics/Characters/Hero1
# You can also include files that aren't placed in the default folders, for
# example: Graphics/Cursors/Red Cursor
# Note: Don't use the file extensions here.
#
# * "RGSSAD Data.txt"
# If you want to extract specifical data files from a RGSSAD, that aren't
# the default ones, you can add a list of them in this file.
# You can inlude one file's path per line in this file. It must be a complete
# path for example: Data/Options.rxdata
# You can also include files that aren't placed in the default data folder,
# or have diferent extension, for example: BattleData/Battle01.bin
# Note: You need to include the extensions here.
#=============================================================================
if $RGSS_SCRIPTS.nil?
Thread.new {system('Game.exe')}
exit
end
#=============================================================================
# *** Options (Edit freely here)
#=============================================================================
INCLUDE_RTP = false
IN_GAME_EXTRACTOR = false
SCRIPT_STRINGS_READER = true
#=============================================================================
# *** Classes & methods definitions
#=============================================================================
#=============================================================================
# ** ZLIB
#=============================================================================
module Zlib
省略...
end
#=============================================================================
# ** Bitmap
#=============================================================================
class Bitmap
省略...
end
#=============================================================================
# ** Make folders
#=============================================================================
def create_folder(path)
省略...
end
#=============================================================================
# ** Copy file
#=============================================================================
def copy_file(s, d)
begin
省略...
end
#=============================================================================
# ** Extract Data
#=============================================================================
def extract_data(o, f, saved_data = [])
省略...
end
#=============================================================================
# *** Initialize
#=============================================================================
log = File.open('RGSSAD Extractor log.txt', 'w')
省略...
#=============================================================================
# *** Script's strings reader
#=============================================================================
string_reader = false
省略...
end
#=============================================================================
# *** Search graphics files
#=============================================================================
sprites = {}
省略...
#=============================================================================
# ** Graphics List check
#=============================================================================
if FileTest.exists?('RGSSAD Graphics.txt')
省略...
#=============================================================================
# ** Extract data files
#=============================================================================
省略...
#=============================================================================
# *** Extract graphic files
#=============================================================================
省略...
#=============================================================================
# *** Finalize
#=============================================================================
log.puts("*** RGSSAD Extraction - #{Time.now.strftime("Finished at %d/%m/%Y(d/m/y) %H:%M:%S")} - Extraction time #{sprintf("%02d", h)}:#{sprintf("%02d", m)}:#{sprintf("%02d", s)}")省略...
#=============================================================================
# ** In Game Extraction
#=============================================================================
省略...
省略...
省略...
省略...
省略...
省略...
end
以下引用danny8376于2008-7-5 22:47:34的发言:
这是直接调用内存输出PNG的
直接把内存的点阵资料转存
因为一次就把全部的点阵信息输出了
所以效率比一点一点的读快多了
我之前有尝试过
但就苦在不知如何对内存的资料解码
话说有个有趣的事
内存的图是上下颠倒的耶
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |