查看: 5882|回复: 15

[有事请教] VA新纸老虎寻求测试(2022)

[复制链接]

老黄鸡

梦石
4
星屑
45909
在线时间
7963 小时
注册时间
2009-7-6
回帖
13339

MZ评测员RM创作大赛01组委会开拓者贵宾

发表于 2022-4-23 14:33:02 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
CrackMeV2.zip (4.6 MB, 下载次数: 145)

测试工程如上,已脱离RTP
测试目标:通过任何手段获得工程中包含的所有游戏图片资源

其实是一个很古早的玩意儿了,但是现在才想起来拿出来改造用用,如果有效会同时发布原生RM和RGD的纸老虎一键打包版本

评分

参与人数 1赞 +1 收起 理由
喜灰RPG游戏谜 + 1

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托

梦石
1
星屑
23306
在线时间
9569 小时
注册时间
2012-6-19
回帖
7021

开拓者短篇九导演组冠军

发表于 2022-4-23 18:24:24 | 显示全部楼层
黄鸡牛逼

评分

参与人数 1赞 +1 收起 理由
fux2 + 1 强喊捉强

查看全部评分

回复

使用道具 举报

梦石
0
星屑
9918
在线时间
1648 小时
注册时间
2012-6-6
回帖
306
发表于 2022-4-23 21:34:43 | 显示全部楼层
终于圆了我多年前的梦想,终于黄鸡老哥要折腾新的纸老虎啦,其实有木有效不重要,简单地防止傻瓜解包就够了,网上有的rgss解包工具针对的是默认的包,没有刻意针对纸老虎,只要没人刻意针对纸老虎去做一键解包工具,其实这样也就够用了,不论怎么加密怎么保护,但毕竟游戏打开后终究还是要运行的
回复

使用道具 举报

梦石
0
星屑
272
在线时间
15 小时
注册时间
2021-9-4
回帖
5
发表于 2022-4-23 21:40:14 | 显示全部楼层
照片-晓磊2.png

逻辑很清晰 甚至太清晰了 作为打包挺好的 但是加密强度比较弱
很久没逆向了 久违的参与一下
本来只是提取资源并不需要完全理清解码流程  因为可以在内存里取 但还是认真看完了 写了解码脚本
要不是RM已经卸载很久了 而且也比较忙 甚至想反打包一个data.fux2 用exe的解码函数去提取

近段时间科研日常深度学习 都不会写ruby和c了 用python应付一下啦

[pre lang="python"]from pathlib import Path
with open("Graphics.fux2", "rb") as f:
    data = f.read()
pointer = 8
while any((b != 0 for b in data[pointer+0x10:pointer+0x14])):
    key = data[pointer:pointer+2]
    length = int.from_bytes(data[pointer+4:pointer+8], "little") * 2
    start = int.from_bytes(data[pointer+8:pointer+0xC], "little")
    filename = list(data[start:start+length])
    for i in range(length):
        filename ^= key[i%2]
    filename = str(bytes(filename), "utf-16").replace('\\', '/')
    filename = Path(filename)
    key = 0
    fn = filename.stem
    fn = list(fn.encode("utf-16"))
    # 0xFF 0xFE
    for i in range(2, len(fn), 2):
        key = key * 0x83 + fn + fn[i+1]*0x100
        key &= 0xFFFFFFFF
    length = int.from_bytes(data[pointer+0xC:pointer+0x10], "little")
    start = int.from_bytes(data[pointer+0x10:pointer+0x14], "little")
    img = list((int.from_bytes(data[start+k*4:start+k*4+4], "little") for k in range(length//4)))
    imglist = []
    for i, j in enumerate(img):
        imglist.extend(list(int.to_bytes(j^key, 4, "little")))
        key = key * 7 + 13
        key &= 0xFFFFFFFF
    img = bytes(imglist) + data[start+length//4*4:start+length]
    filename.parent.mkdir(parents=True, exist_ok=True)
    with open(filename, "wb") as f:
        f.write(img)
    pointer += 0x14[/pre]

点评

真乃非常之人也  发表于 2022-4-24 11:51

评分

参与人数 1赞 +1 收起 理由
fux2 + 1 精品文章

查看全部评分

回复

使用道具 举报

梦石
1
星屑
12076
在线时间
4538 小时
注册时间
2005-10-22
回帖
7109

开拓者贵宾

发表于 2022-4-23 21:54:11 | 显示全部楼层
有突破RMVA那悲剧的3GB加密文件大小限制么?

点评

好耶~O(∩_∩)O  发表于 2022-4-24 17:01
自制的打包程序,所以显然不受限制  发表于 2022-4-24 11:13
回复

使用道具 举报

老黄鸡

梦石
4
星屑
45909
在线时间
7963 小时
注册时间
2009-7-6
回帖
13339

MZ评测员RM创作大赛01组委会开拓者贵宾

 楼主| 发表于 2022-4-24 11:18:13 | 显示全部楼层
xmbwg 发表于 2022-4-23 21:40
逻辑很清晰 甚至太清晰了 作为打包挺好的 但是加密强度比较弱
很久没逆向了 久违的参与一下
本来只是提取 ...


层主效率太高啦
这份exe本身没有做过特别的处理,目前看来确实有些简单过头了
不过在何强度目前心里已有数,感谢层主的协助!

(PS:其实之所以要求输出所有图片资源,是因为有一张图在游戏里没有用到,内存提取不方便
不过层主已经给出了完美答案)
RGDirect - DirectX驱动的RGSS,点我了解.
(排满,暂停)RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复

使用道具 举报

梦石
0
星屑
14468
在线时间
2650 小时
注册时间
2013-6-10
回帖
1712
发表于 2022-4-24 11:50:12 | 显示全部楼层
哇,你们都好厉害,令我大开眼界
回复

使用道具 举报

梦石
0
星屑
272
在线时间
15 小时
注册时间
2021-9-4
回帖
5
发表于 2022-4-24 12:09:09 | 显示全部楼层
本帖最后由 xmbwg 于 2022-4-24 12:10 编辑
fux2 发表于 2022-4-24 11:18
层主效率太高啦
这份exe本身没有做过特别的处理,目前看来确实有些简单过头了
不过在何强度目前心里已有 ...


恩 因为包头解码后 文件的名字 索引 长度 密钥 都是明文了
也就不需要再去看那部分流程
一个小想法
可以用两个不同的hash函数 输入是文件名
一个生成标识符 存储在包头用于索引
一个生成密钥
也就是 包头没有文件名这部分信息
读取时先由hash1定位文件 再由hash2解码文件
这样就不存在通用解包器了
或者说和游戏的耦合度大大增加了
回复

使用道具 举报

梦石
1
星屑
24088
在线时间
3339 小时
注册时间
2011-7-8
回帖
3862

开拓者

发表于 2022-4-24 13:27:32 | 显示全部楼层
本帖最后由 guoxiaomi 于 2022-4-24 13:50 编辑

我已经弃疗了,决定就用加密的zip格式,然后在Game.exe里某处藏一个密码算了……
(总觉得以前说过类似的话,不过这次是认真的了)

点评

额,那就要重写引擎了,比如:https://rpg.blue/thread-488007-1-1.html  发表于 2022-11-3 20:48
老哥,这种方式要怎么达成啊?  发表于 2022-11-3 08:39
熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复

使用道具 举报

梦石
0
星屑
684
在线时间
53 小时
注册时间
2022-2-6
回帖
20
发表于 2023-9-3 02:55:01 | 显示全部楼层
你会释放这个吗?
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部