设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: Iselia雪
打印 上一主题 下一主题

垃圾中的战斗圾=。=(完全自解密系统)

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

冰の红苹果的小狗狗

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-12-15
帖子
2539
21
发表于 2008-3-4 03:31:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3367
在线时间
3624 小时
注册时间
2006-9-6
帖子
37402

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

22
发表于 2008-3-4 03:37:29 | 只看该作者
汗……

就是说用事件控制解密?
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

喵,小柯的宠物

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-12-15
帖子
2310
23
发表于 2008-3-6 03:22:43 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

冰の红苹果的小狗狗

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-12-15
帖子
2539
24
发表于 2008-3-6 04:29:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
142
在线时间
264 小时
注册时间
2006-11-22
帖子
1057
25
发表于 2008-3-6 22:00:52 | 只看该作者
比之前66的加密游戏解密工程还強大,66那个是用screenshot.....大小大於640*480就.....还提不到全部

下面是调用外部脚本:
http://rpg.blue/web/htm/news523.htm


加密時代看來已終結{/jy}
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

26
发表于 2008-3-7 01:00:59 | 只看该作者
突然有点反应过来了……嗯- -那个RPG冒号冒号擦车么……= =
果然很有趣……

P。S 我玩游戏不解密……不过我都是用FDR的那个debugger玩orz|||||
加密的意义真的越来越小了
P。P。S 其实要防解密也不难…………只要看懂了解密的原理……= =|||
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

Lv1.梦旅人

冰王子

梦石
0
星屑
50
在线时间
34 小时
注册时间
2008-1-27
帖子
1875
27
发表于 2008-3-7 01:19:39 | 只看该作者
呵呵!我之前也发过类似的东西。告诉那些看不到的同学,没什么好YY的。
不常在线,有事PM
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

28
发表于 2008-3-7 01:25:07 | 只看该作者
试用了一下,继续感慨:
LZ确实把擦车的功能发挥到极限鸟……
P。S 啊啊啊冰冰~~~飞扑= =
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
142
在线时间
264 小时
注册时间
2006-11-22
帖子
1057
29
发表于 2008-3-7 02:57:29 | 只看该作者
如何过滤rtp档?


拆了个遊戏,还是提不到全部..{/gg}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
142
在线时间
264 小时
注册时间
2006-11-22
帖子
1057
30
发表于 2008-3-7 06:01:39 | 只看该作者
由於读外部脚本限制多多
如class Png_File < GzipWriter也报错
因為找不到GzipWriter类
要改成
class Zlib::Png_File < Zlib::GzipWriter
等等


使用方法参看主站读取外部脚本教学

  1. module RPG
  2.   module Cache
  3.     @cache = {}
  4.     def self.load_bitmap(folder_name, filename, hue = 0)
  5.       path = folder_name + filename
  6.       if not @cache.include?(path) or @cache[path].disposed?
  7.         if filename != ""
  8.           @cache[path] = Bitmap5.new(path)
  9.         else
  10.           @cache[path] = Bitmap5.new(32, 32)
  11.         end
  12.       end
  13.       if hue == 0
  14.         @cache[path]
  15.       else
  16.         key = [path, hue]
  17.         if not @cache.include?(key) or @cache[key].disposed?
  18.           @cache[key] = @cache[path].clone
  19.           @cache[key].hue_change(hue)
  20.         end
  21.         @cache[key]
  22.       end
  23.       unless path.to_s.include?("RPG Maker XP")
  24.        @cache[path].make_png(filename,"break/#{folder_name}")
  25.       end
  26.     end
  27.     def self.animation(filename, hue)
  28.       self.load_bitmap("Graphics/Animations/", filename, hue)
  29.     end
  30.     def self.autotile(filename)
  31.       self.load_bitmap("Graphics/Autotiles/", filename)
  32.     end
  33.     def self.battleback(filename)
  34.       self.load_bitmap("Graphics/Battlebacks/", filename)
  35.     end
  36.     def self.battler(filename, hue)
  37.       self.load_bitmap("Graphics/Battlers/", filename, hue)
  38.     end
  39.     def self.character(filename, hue)
  40.       self.load_bitmap("Graphics/Characters/", filename, hue)
  41.     end
  42.     def self.fog(filename, hue)
  43.       self.load_bitmap("Graphics/Fogs/", filename, hue)
  44.     end
  45.     def self.gameover(filename)
  46.       self.load_bitmap("Graphics/Gameovers/", filename)
  47.     end
  48.     def self.icon(filename)
  49.       self.load_bitmap("Graphics/Icons/", filename)
  50.     end
  51.     def self.panorama(filename, hue)
  52.       self.load_bitmap("Graphics/Panoramas/", filename, hue)
  53.     end
  54.     def self.picture(filename)
  55.       self.load_bitmap("Graphics/Pictures/", filename)
  56.     end
  57.     def self.tileset(filename)
  58.       self.load_bitmap("Graphics/Tilesets/", filename)
  59.     end
  60.     def self.title(filename)
  61.       self.load_bitmap("Graphics/Titles/", filename)
  62.     end
  63.     def self.windowskin(filename)
  64.       self.load_bitmap("Graphics/Windowskins/", filename)
  65.     end
  66.     def self.tile(filename, tile_id, hue)
  67.       key = [filename, tile_id, hue]
  68.       if not @cache.include?(key) or @cache[key].disposed?
  69.         @cache[key] = Bitmap.new(32, 32)
  70.         x = (tile_id - 384) % 8 * 32
  71.         y = (tile_id - 384) / 8 * 32
  72.         rect = Rect.new(x, y, 32, 32)
  73.         @cache[key].blt(0, 0, self.tileset(filename), rect)
  74.         @cache[key].hue_change(hue)
  75.       end
  76.       @cache[key]
  77.     end
  78.     def self.clear
  79.       @cache = {}
  80.       GC.start
  81.     end
  82.   end
  83. end

  84. #===============================================================================
  85. #完全破解?本  By Iselia雪
  86. #事件中使用 lovelyiselia_break,自??出工程的Graphics和Data全部?料- -
  87. #PS:破解???很?...偶??API?能米?的法子了- -bbb
  88. #破解的成果?存在工程目?下的break文件?中。
  89. #把Audio和其它?西拷??去就可以打?工程??哦~~
  90. #===============================================================================
  91. module Iselia
  92. def self.lovelyiselia_break
  93.   p "?始破解,???很?要有耐心等哦"
  94.     self.make_dir("break/Data")
  95.     save_data(load_data("Data/Scripts.rxdata"),"break/Data/Scripts.rxdata")
  96.     save_data(load_data("Data/Actors.rxdata"),"break/Data/Actors.rxdata")
  97.     save_data(load_data("Data/Classes.rxdata"),"break/Data/Classes.rxdata")
  98.     save_data(load_data("Data/Skills.rxdata"),"break/Data/Skills.rxdata")
  99.     save_data(load_data("Data/Items.rxdata"),"break/Data/Items.rxdata")
  100.     save_data(load_data("Data/Weapons.rxdata"),"break/Data/Weapons.rxdata")
  101.     save_data(load_data("Data/Armors.rxdata"),"break/Data/Armors.rxdata")
  102.     save_data(load_data("Data/Enemies.rxdata"),"break/Data/Enemies.rxdata")
  103.     save_data(load_data("Data/Troops.rxdata"),"break/Data/Troops.rxdata")
  104.     save_data(load_data("Data/States.rxdata"),"break/Data/States.rxdata")
  105.     save_data(load_data("Data/Animations.rxdata"),"break/Data/Animations.rxdata")
  106.     save_data(load_data("Data/Tilesets.rxdata"),"break/Data/Tilesets.rxdata")
  107.     save_data(load_data("Data/CommonEvents.rxdata"),"break/Data/CommonEvents.rxdata")
  108.     save_data(load_data("Data/System.rxdata"),"break/Data/System.rxdata")
  109.     save_data(load_data("Data/CommonEvents.rxdata"),"break/Data/CommonEvents.rxdata")
  110.     save_data(load_data("Data/MapInfos.rxdata"),"break/Data/MapInfos.rxdata")
  111.     #a =
  112.     for i in load_data("Data/MapInfos.rxdata").keys
  113.       map = sprintf("Map%03d.rxdata", i)
  114.       save_data(load_data("Data/#{map}"),"break/Data/#{map}")
  115.       for k in load_data("Data/#{map}").events.values
  116.       for j in k.pages
  117.         a = RPG::Cache.character(j.graphic.character_name,0)
  118.         
  119.       end  
  120.       end
  121.     end
  122. for i in 1...$data_actors.size
  123. a = RPG::Cache.battler($game_actors[i].battler_name,0)

  124. b = RPG::Cache.character($game_actors[i].character_name,0)

  125. end
  126. for i in 1...$data_enemies.size
  127. a = RPG::Cache.battler($data_enemies[i].battler_name,0)

  128. end
  129. for i in 1...$data_tilesets.size
  130. a =  RPG::Cache.tileset($data_tilesets[i].tileset_name)

  131. if $data_tilesets[i].panorama_name != ""
  132. a =  RPG::Cache.panorama($data_tilesets[i].panorama_name,0)

  133. end
  134. if $data_tilesets[i].fog_name != ""
  135. a =  RPG::Cache.fog($data_tilesets[i].fog_name,0)

  136. end
  137. a =  RPG::Cache.battleback($data_tilesets[i].battleback_name)

  138. end
  139. a = RPG::Cache.gameover($data_system.gameover_name)

  140. for i in 1...$data_items.size
  141. a = RPG::Cache.icon($data_items[i].icon_name)  

  142. end
  143. for i in 1...$data_weapons.size
  144. a = RPG::Cache.icon($data_weapons[i].icon_name)  

  145. end
  146. for i in 1...$data_armors.size
  147. a = RPG::Cache.icon($data_armors[i].icon_name)  

  148. end
  149. a = RPG::Cache.load_bitmap("Graphics/Transitions/",$game_temp.transition_name,0)
  150. b = RPG::Cache.load_bitmap("Graphics/Transitions/",$data_system.battle_transition,0)

  151. a = RPG::Cache.windowskin($data_system.windowskin_name)

  152. for i in 1...$data_animations.size
  153. a = RPG::Cache.animation($data_animations[i].animation_name, 0)
  154. unless File.exist?("break/Graphics/Animations/#{$data_animations[i].animation_name}")

  155. end
  156. end
  157. a = RPG::Cache.title($data_system.title_name)

  158. p "破解完成"
  159. end
  160.   #--------------------------------------------------------------------------
  161.   # ● 生成保存路?
  162.   #--------------------------------------------------------------------------
  163.   def self.make_dir(path)
  164.     dir = path.split("/")
  165.     for i in 0...dir.size
  166.       unless dir == "."
  167.         add_dir = dir[0..i].join("/")
  168.         begin
  169.           Dir.mkdir(add_dir)
  170.         rescue
  171.         end
  172.       end
  173.     end
  174.   end
  175. end
  176. #==============================================================================
  177. #               本?本出自www.66rpg.com,???注明。
  178. #==============================================================================
  179. =begin
  180. ==============================================================================
  181.                         Bitmap to PNG By ?回者
  182. ==============================================================================

  183. ?Bitmap?象直接使用

  184. bitmap_obj.make_png(name[, path])

  185. name:保存文件名
  186. path:保存路?

  187. 感?66、夏娜、金圭子的提醒和?助!
  188.    
  189. ==============================================================================
  190. =end
  191.   class Zlib::Png_File < Zlib::GzipWriter
  192.     #--------------------------------------------------------------------------
  193.     # ● 主?理
  194.     #--------------------------------------------------------------------------
  195.     def make_png(bitmap_Fx,mode)
  196.       @mode = mode
  197.       @bitmap_Fx = bitmap_Fx
  198.       self.write(make_header)
  199.       self.write(make_ihdr)
  200.       self.write(make_idat)
  201.       self.write(make_iend)
  202.     end
  203.     #--------------------------------------------------------------------------
  204.     # ● PNG文件??据?
  205.     #--------------------------------------------------------------------------
  206.     def make_header
  207.       return [0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a].pack("C*")
  208.     end
  209.     #--------------------------------------------------------------------------
  210.     # ● PNG文件情???据?(IHDR)
  211.     #--------------------------------------------------------------------------
  212.     def make_ihdr
  213.       ih_size = [13].pack("N")
  214.       ih_sign = "IHDR"
  215.       ih_width = [@bitmap_Fx.width].pack("N")
  216.       ih_height = [@bitmap_Fx.height].pack("N")
  217.       ih_bit_depth = [8].pack("C")
  218.       ih_color_type = [6].pack("C")
  219.       ih_compression_method = [0].pack("C")
  220.       ih_filter_method = [0].pack("C")
  221.       ih_interlace_method = [0].pack("C")
  222.       string = ih_sign + ih_width + ih_height + ih_bit_depth + ih_color_type +
  223.                ih_compression_method + ih_filter_method + ih_interlace_method
  224.       ih_crc = [Zlib.crc32(string)].pack("N")
  225.       return ih_size + string + ih_crc
  226.     end
  227.     #--------------------------------------------------------------------------
  228.     # ● 生成?像?据(IDAT)
  229.     #--------------------------------------------------------------------------
  230.     def make_idat
  231.       header = "\x49\x44\x41\x54"
  232.       case @mode # ?54~
  233.       when 1
  234.         data = make_bitmap_data#1
  235.       else
  236.         data = make_bitmap_data
  237.       end
  238.       data = Zlib::Deflate.deflate(data, 8)
  239.       crc = [Zlib.crc32(header + data)].pack("N")
  240.       size = [data.length].pack("N")
  241.       return size + header + data + crc
  242.     end
  243.     #--------------------------------------------------------------------------
  244.     # ● ?Bitmap?象中生成?像?据 mode 1(?54~)
  245.     #--------------------------------------------------------------------------
  246.     def make_bitmap_data1
  247.       w = @bitmap_Fx.width
  248.       h = @bitmap_Fx.height
  249.       data = []
  250.       for y in 0...h
  251.         data.push(0)
  252.         for x in 0...w
  253.           color = @bitmap_Fx.get_pixel(x, y)
  254.           red = color.red
  255.           green = color.green
  256.           blue = color.blue
  257.           alpha = color.alpha
  258.           data.push(red)
  259.           data.push(green)
  260.           data.push(blue)
  261.           data.push(alpha)
  262.         end
  263.       end
  264.       return data.pack("C*")
  265.     end
  266.     #--------------------------------------------------------------------------
  267.     # ● ?Bitmap?象中生成?像?据 mode 0
  268.     #--------------------------------------------------------------------------
  269.     def make_bitmap_data
  270.       gz = Zlib::GzipWriter.open('hoge.gz')
  271.       t_Fx = 0
  272.       w = @bitmap_Fx.width
  273.       h = @bitmap_Fx.height
  274.       data = []
  275.       for y in 0...h
  276.         data.push(0)
  277.         for x in 0...w
  278.           t_Fx += 1
  279.           if t_Fx % 10000 == 0
  280.             Graphics.update
  281.           end
  282.           if t_Fx % 100000 == 0
  283.             s = data.pack("C*")
  284.             gz.write(s)
  285.             data.clear
  286.             #GC.start
  287.           end
  288.           color = @bitmap_Fx.get_pixel(x, y)
  289.           red = color.red
  290.           green = color.green
  291.           blue = color.blue
  292.           alpha = color.alpha
  293.           data.push(red)
  294.           data.push(green)
  295.           data.push(blue)
  296.           data.push(alpha)
  297.         end
  298.       end
  299.       s = data.pack("C*")
  300.       gz.write(s)
  301.       gz.close   
  302.       data.clear
  303.       gz = Zlib::GzipReader.open('hoge.gz')
  304.       data = gz.read
  305.       gz.close
  306.       File.delete('hoge.gz')
  307.       return data
  308.     end
  309.     #--------------------------------------------------------------------------
  310.     # ● PNG文件尾?据?(IEND)
  311.     #--------------------------------------------------------------------------
  312.     def make_iend
  313.       ie_size = [0].pack("N")
  314.       ie_sign = "IEND"
  315.       ie_crc = [Zlib.crc32(ie_sign)].pack("N")
  316.       return ie_size + ie_sign + ie_crc
  317.     end
  318.   end
  319. #==============================================================================
  320. # ■ Bitmap
  321. #------------------------------------------------------------------------------
  322. #  ??到Bitmap。
  323. #==============================================================================
  324. class Bitmap5 < Bitmap
  325.   #--------------------------------------------------------------------------
  326.   # ● ??
  327.   #--------------------------------------------------------------------------
  328.   def make_png(name="like", path="",mode=0)
  329.     make_dir(path) if path != ""
  330.     Zlib::Png_File.open("temp.gz") {|gz|
  331.       gz.make_png(self,mode)
  332.     }
  333.     Zlib::GzipReader.open("temp.gz") {|gz|
  334.       $read = gz.read
  335.     }
  336.     f = File.open(path + name + ".png","wb")
  337.     f.write($read)
  338.     f.close
  339.     File.delete('temp.gz')
  340.     end
  341.   #--------------------------------------------------------------------------
  342.   # ● 生成保存路?
  343.   #--------------------------------------------------------------------------
  344.   def make_dir(path)
  345.     dir = path.split("/")
  346.     for i in 0...dir.size
  347.       unless dir == "."
  348.         add_dir = dir[0..i].join("/")
  349.         begin
  350.           Dir.mkdir(add_dir)
  351.         rescue
  352.         end
  353.       end
  354.     end
  355.   end
  356. end
  357. #==============================================================================
  358. #               本?本出自www.66rpg.com,???注明。
  359. #==============================================================================
  360. Iselia.lovelyiselia_break
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-4-5 02:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表