Project1

标题: 请教一下现有的两种加密方法 [打印本页]

作者: 666708    时间: 2020-5-22 09:40
标题: 请教一下现有的两种加密方法
因为我弄的是游戏根本不存在什么热门或者盈利,只是单纯的像保护好我的设定或者学习一下最新的加密。我研究了一下发现有两种加密是比较认可的。但是没有找到加密方法或者工具,所以特来请教

1,在贴吧看到的,EXE被一键解包后System.json隐匿了下来。反正不知道藏哪了,这种基本可以防止大部分的了。很适合我、

2,还是在贴吧看到的。DATA文件加密到www\js\plugins文件里。这种更棒。

主要还是想保护我的设定,至于图像什么的,大部分本来我也是伸手去毛别人的,用过一些加密,不太好使,也不太刻意的去保密了.


以上两种方案只是在贴吧看到别人的描述,没有具体的游戏,只是希望有使用这两种加密的小伙伴分享一下方法。当然大哥们也可以推荐自己用的加密。
作者: 寂静的夜里    时间: 2020-5-22 09:45
https://rpg.blue/thread-477260-1-1.html
虽然我没有用过 但是我见过用这的游戏 傻瓜化破解工具基本全废 目前没见到有专门针对此工具的破解方案
作者: 666708    时间: 2020-5-22 09:54
本帖最后由 666708 于 2020-5-22 09:56 编辑
寂静的夜里 发表于 2020-5-22 09:45
https://rpg.blue/thread-477260-1-1.html
虽然我没有用过 但是我见过用这的游戏 傻瓜化破解工具基本全废  ...


没使用过,但是看了一下介绍还有楼下回复好像是保护图像之类的.我好像不需要保护图像,本来我就没多少原创图像。。。所以跟我所求还是有区别的
作者: zths    时间: 2020-5-22 11:10
本帖最后由 zths 于 2020-5-22 11:23 编辑

没有意义。。。
没办法的
System.json 完全就是 $dataSystem
想要还原内容 直接执行
JSON.stringify($dataSystem);
就出来了。。

非要藏起文件的话 可以改下 rpg_managers.js 里的 DataManager.loadDataFile 或者 DataManager.loadDatabase 方法
if(name === '$dataSystem'){return 自己的加载方法;}
然后 自己的加载方法 单独搞个文件 然后混淆下..
这样不会写 js 的人就搞不了了.

或者做个假的 System.json 内容只要是个合法的json就行(比如从示例工程里找一个放那)
然后 改 DataManager.onLoad 方法..
加载自己真正的内容.
更能迷惑人...

象是这样// 从我Mv自动翻译插件里摘出来的
JAVASCRIPT 代码复制
  1. var dataVarMap = {
  2.     "$dataSystem": "System"
  3. }
  4. if(typeof DataManager.onLoadTrsHookBk === "undefined"){
  5.     DataManager.onLoadTrsHookBk = DataManager.onLoad
  6. }
  7.  
  8. DataManager.onLoad = function(obj){
  9.     var thisObjName = null;
  10.     var thisObjKey = null;
  11.     for(var key in dataVarMap){
  12.         if(window[key] === obj){
  13.             thisObjName = dataVarMap[key];
  14.             thisObjKey = key;
  15.             break
  16.         }
  17.     }
  18.     if(thisObjName === "System"){
  19.         procSystemData();
  20.     }
  21.     return this.onLoadTrsHookBk(obj);
  22. }
  23.  
  24. function procSystemData(){
  25.     if(typeof $dataSystem === "undefined" || !$dataSystem){return}
  26.     //还原 $dataSystem
  27. }

作者: 666708    时间: 2020-5-22 12:33
本帖最后由 666708 于 2020-5-22 12:47 编辑
zths 发表于 2020-5-22 11:10
没有意义。。。
没办法的
System.json 完全就是 $dataSystem


我找到的参考资料里面有JS是密文形式的。也就是我所说的第二种方案。至于第一种,你说的执行JSON.stringify($dataSystem);是具体怎么个操作。不过大佬没空的话我自己查资料也行。还有谢谢大佬的回答,我这就学习一下你的办法
作者: PLeaseS    时间: 2020-5-22 12:49
先用套娃加密,加密完封包,重命名game.exe
新建一个工程,打包完之后把game.exe替换掉
作者: 666708    时间: 2020-5-22 13:19
PLeaseS 发表于 2020-5-22 12:49
先用套娃加密,加密完封包,重命名game.exe
新建一个工程,打包完之后把game.exe替换掉 ...

这个帖子我看过,相对复杂了点,容易我自己都不知道加密到最后能不能自己解开更新。。。不过也是一个思路,其实我实际上只要保护一下设定就OK了,其他开源无所谓啊。
作者: PLeaseS    时间: 2020-5-22 15:57
666708 发表于 2020-5-22 13:19
这个帖子我看过,相对复杂了点,容易我自己都不知道加密到最后能不能自己解开更新。。。不过也是一个思路 ...

不大可能,你根本防不住
甚至还能直接从你的内存拔出你的资源
直接破解
作者: 666708    时间: 2020-5-22 20:15
PLeaseS 发表于 2020-5-22 15:57
不大可能,你根本防不住
甚至还能直接从你的内存拔出你的资源
直接破解 ...

其实别人用心专研我倒是感谢他,最奇葩我弄的玩意值得他花心思,最好的加密其实就是不加密
作者: 百万HP    时间: 2020-5-23 20:43
我几个朋友加密主要是保护花钱买的dlc素材和插件……话说他们用的加密方法好像是图书馆的那个迷宫秘钥加密器




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