Project1

标题: 【RMXP】加密XP脚本 [打印本页]

作者: SixRC    时间: 2016-12-16 21:59
标题: 【RMXP】加密XP脚本
本帖最后由 唯道集虚 于 2017-2-25 15:53 编辑

        今天突然想到了一个XP脚本加密的方法,效果是这样的:
        可以开工程,但是看不到脚本(也可以选择哪些脚本被看到)。假如在工程里面保存了脚本,看不到的脚本就没啦! 原理很简单..其实根本不算加密..
        别的,不说别的了。下面是范例。
       
        加密范例.zip (840.33 KB, 下载次数: 257)

        原理是这样的:
        先人为地把 script.rxdata 破坏掉,就改四个字节好了。每段脚本页都可以选择破坏或不破坏。
        Game.exe开始调用RGSS dll读脚本(我开始以为是exe自己 没找到 悲伤)。dll会读取script.rxdata到一段内存地址,然后我们就把原来的下一步骤改掉,改成跳到dll的空的地方,然后借用本来空的空间,写上修复先前破坏掉了的地方的代码,再跳回去就可以了。或者再作一点伪装。
        想到了,还原就很简单。其实也可以改进一下,不过也没什么必要。
       
作者: fux2    时间: 2016-12-19 14:02
然而在内存里依然可以完整提出$RGSS_SCRIPTS
作者: SixRC    时间: 2016-12-19 14:42
fux2 发表于 2016-12-19 14:02
然而在内存里依然可以完整提出$RGSS_SCRIPTS

这是硬伤啊..
所以我说改进了比方在内存里面复杂地解密 依旧可以在最后直接提取出来 没什么必要
单纯是有没有想到这个层面的问题
啊哈
突然有了改进的思路
我要先去坐草地看书晒太阳!

作者: fux2    时间: 2016-12-19 17:49
SixRC 发表于 2016-12-19 14:42
这是硬伤啊..
所以我说改进了比方在内存里面复杂地解密 依旧可以在最后直接提取出来 没什么必要 ...


窝这里自己写了个玩意可以把比较简单的方法都转成机器码塞进内存里跑,加密后脚本就没有可读性了,而且逆转换的可能性极低,天马行空地想想可以再拓展一下,把这些byte码往虚拟机里塞,效仿VM。

其实只要自制Game.exe(夏娜源码)也可以动很多手脚,比如在exe里rb_define_method很多方法,这些方法就和$RGSS_SCRIPTS分离开了,在内存里也不好寻找
作者: SixRC    时间: 2016-12-19 18:32
fux2 发表于 2016-12-19 17:49
窝这里自己写了个玩意可以把比较简单的方法都转成机器码塞进内存里跑,加密后脚本就没有可读性 ...


啊我都没想到
天马行空地想想 我觉得还可以直接拿ruby做解释器解释自创的极其诡异的语言 就相当于VM
依此类推 突然发现其实可以用自创的图片格式音频格式等等等等
然后最后 自己造一台电脑
作者: ISfishes    时间: 2018-12-12 17:30
请问一下是怎么做到的呢?
能不能教教我,急求
作者: ISfishes    时间: 2018-12-12 17:33
ISfishes 发表于 2018-12-12 17:30
请问一下是怎么做到的呢?
能不能教教我,急求

有没有联系方式呢?




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1