Giter Site home page Giter Site logo

Comments (41)

beilixingxing avatar beilixingxing commented on May 20, 2024 1

大佬你单机版mod下下来了吗

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

这个基本上很难。。luajit的字节码在布局上就是和lua不兼容的。。。想要用的话,只能给luajit也单独编译一份。

另外把mod编译成字节码是无意义的,不能防止反编译。LuaDec教做人.jpg

混淆还靠谱一些~~~

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

我记得以前有个情人节mod可以在原版中加载luac编译后的bytecode,不知道是不是用了什么魔法~

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

那个情人节的mod我看了,那是单机mod,而且本身就只把一小段代码编译了,而且还没strip,很容易反编。大佬你可以去看看宝石萝莉mod的modmain_bei.lua,这个是我帮翼语strip之后的字节码,反正luadec2.0是反编不出来的。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

翼语的mod里我帮他搞了两套字节码来兼容流畅补丁,但我关心的不是单机的问题,单机现在已经没有问题了,反正加密到今天也不见有人破解。我现在关心的是同样的字节码为什么单机能识别然而联机不行,难道联机有一套独有的编译器?大佬你能不能帮忙研究下,我一时半会真的是搞不明白。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

对了大佬,你真的不打算把这个补丁做成mod吗,借助单机版的io.popen和联机版的os.execute应该很容易实现吧,而且可以把dll文件都写进modmain里防止报毒,最终大概不到400k的modmain就能实现这个补丁的功能了。

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

翼语的mod里我帮他搞了两套字节码来兼容流畅补丁,但我关心的不是单机的问题,单机现在已经没有问题了,反正加密到今天也不见有人破解。我现在关心的是同样的字节码为什么单机能识别然而联机不行,难道联机有一套独有的编译器?大佬你能不能帮忙研究下,我一时半会真的是搞不明白。

Disallowed functionality in precompiled chunk,这条说明联机就把load/loadstring里参数为"b"时的功能去掉了,这个是通过修改C的方式生效的。正规途径应该是没办法了,只有用类似这个插件的办法搞binary hacking.

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

对了大佬,你真的不打算把这个补丁做成mod吗,借助单机版的io.popen和联机版的os.execute应该很容易实现吧,而且可以把dll文件都写进modmain里防止报毒,最终大概不到400k的modmain就能实现这个补丁的功能了。

这个我最担心的是如果哪天Klei升级了,插件出现不兼容,启动就会挂掉,然后就永远打不开游戏了。从商店里安装的玩家一般是不知道怎么卸载的。

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

对了大佬,你真的不打算把这个补丁做成mod吗,借助单机版的io.popen和联机版的os.execute应该很容易实现吧,而且可以把dll文件都写进modmain里防止报毒,最终大概不到400k的modmain就能实现这个补丁的功能了。

我记得饥荒好像是不能os.execute,不记得是不是在单机上测试的了。
联机版如果能os.execute那应该是一个漏洞,Klei说不定哪天就修掉了。

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

那个情人节的mod我看了,那是单机mod,而且本身就只把一小段代码编译了,而且还没strip,很容易反编。大佬你可以去看看宝石萝莉mod的modmain_bei.lua,这个是我帮翼语strip之后的字节码,反正luadec2.0是反编不出来的。

当然这个只能相对提高些破解成本吧。。。同时如果别人把bug你也很难找到调试信息了。。。

你看饥荒exe都没有源码没有符号也没导出lua的函数,我花些时间也是可以搞进去的。。。对于那些专业人士来说更简单。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

翼语的mod里我帮他搞了两套字节码来兼容流畅补丁,但我关心的不是单机的问题,单机现在已经没有问题了,反正加密到今天也不见有人破解。我现在关心的是同样的字节码为什么单机能识别然而联机不行,难道联机有一套独有的编译器?大佬你能不能帮忙研究下,我一时半会真的是搞不明白。

Disallowed functionality in precompiled chunk,这条说明联机就把load/loadstring里参数为"b"时的功能去掉了,这个是通过修改C的方式生效的。正规途径应该是没办法了,只有用类似这个插件的办法搞binary hacking.

这要是真的可太难受了,也不知道联机这么搞用意何在,禁止读取字节码有什么意义呢。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

对了大佬,你真的不打算把这个补丁做成mod吗,借助单机版的io.popen和联机版的os.execute应该很容易实现吧,而且可以把dll文件都写进modmain里防止报毒,最终大概不到400k的modmain就能实现这个补丁的功能了。

这个我最担心的是如果哪天Klei升级了,插件出现不兼容,启动就会挂掉,然后就永远打不开游戏了。从商店里安装的玩家一般是不知道怎么卸载的。

这个应该不用太担心吧,只要在mod介绍界面说明一下,他们都应该看得懂的,太蠢的玩家也不会去用这玩意吧。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

对了大佬,你真的不打算把这个补丁做成mod吗,借助单机版的io.popen和联机版的os.execute应该很容易实现吧,而且可以把dll文件都写进modmain里防止报毒,最终大概不到400k的modmain就能实现这个补丁的功能了。

我记得饥荒好像是不能os.execute,不记得是不是在单机上测试的了。
联机版如果能os.execute那应该是一个漏洞,Klei说不定哪天就修掉了。

单机的os只有时间,所以只能io.popen,联机io没有这个函数,但是有os.execute(我只是查看了一下os里有哪些函数,具体还没用过),这个我不觉得klei会修,既然有现成的函数不用白不用啊。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

那个情人节的mod我看了,那是单机mod,而且本身就只把一小段代码编译了,而且还没strip,很容易反编。大佬你可以去看看宝石萝莉mod的modmain_bei.lua,这个是我帮翼语strip之后的字节码,反正luadec2.0是反编不出来的。

当然这个只能相对提高些破解成本吧。。。同时如果别人把bug你也很难找到调试信息了。。。

你看饥荒exe都没有源码没有符号也没导出lua的函数,我花些时间也是可以搞进去的。。。对于那些专业人士来说更简单。

把破解成本提高到这种程度已经完全可以了,饥荒的mod作者里哪来这么多专业人士,我这么加密已经可以让99%以上的mod作者束手无策了,而且就算能破解,也得下不少功夫,根本不值得。至于bug报错,那就是翼语自己要关心的问题了,毕竟我只负责加密。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

如果联机实在不能加载字节码的话,大佬你觉得搞binary hacking的难度有多大,感觉我如果真的要搞的话不知道要搞到多少年以后。。。。大佬你能不能说一下大致的流程,我看我能进行到哪步

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

翼语的mod里我帮他搞了两套字节码来兼容流畅补丁,但我关心的不是单机的问题,单机现在已经没有问题了,反正加密到今天也不见有人破解。我现在关心的是同样的字节码为什么单机能识别然而联机不行,难道联机有一套独有的编译器?大佬你能不能帮忙研究下,我一时半会真的是搞不明白。

Disallowed functionality in precompiled chunk,这条说明联机就把load/loadstring里参数为"b"时的功能去掉了,这个是通过修改C的方式生效的。正规途径应该是没办法了,只有用类似这个插件的办法搞binary hacking.

这要是真的可太难受了,也不知道联机这么搞用意何在,禁止读取字节码有什么意义呢。

字节码对审核不友好。。。WG那边得知道你这个符不符合规定呀

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

对了大佬,你真的不打算把这个补丁做成mod吗,借助单机版的io.popen和联机版的os.execute应该很容易实现吧,而且可以把dll文件都写进modmain里防止报毒,最终大概不到400k的modmain就能实现这个补丁的功能了。

这个我最担心的是如果哪天Klei升级了,插件出现不兼容,启动就会挂掉,然后就永远打不开游戏了。从商店里安装的玩家一般是不知道怎么卸载的。

这个应该不用太担心吧,只要在mod介绍界面说明一下,他们都应该看得懂的,太蠢的玩家也不会去用这玩意吧。

不你高估了歪果仁的理解能力。。很多人得手把手地教把什么文件复制到哪里的。。。看看Klei论坛上那个luajit的帖子就知道了。国内也好不到哪去,大多数玩家都不知道安装目录在哪……

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

那个情人节的mod我看了,那是单机mod,而且本身就只把一小段代码编译了,而且还没strip,很容易反编。大佬你可以去看看宝石萝莉mod的modmain_bei.lua,这个是我帮翼语strip之后的字节码,反正luadec2.0是反编不出来的。

当然这个只能相对提高些破解成本吧。。。同时如果别人把bug你也很难找到调试信息了。。。
你看饥荒exe都没有源码没有符号也没导出lua的函数,我花些时间也是可以搞进去的。。。对于那些专业人士来说更简单。

把破解成本提高到这种程度已经完全可以了,饥荒的mod作者里哪来这么多专业人士,我这么加密已经可以让99%以上的mod作者束手无策了,而且就算能破解,也得下不少功夫,根本不值得。至于bug报错,那就是翼语自己要关心的问题了,毕竟我只负责加密。

其实混淆就够了,个人觉得字节码不会比混淆强到哪里去。

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

如果联机实在不能加载字节码的话,大佬你觉得搞binary hacking的难度有多大,感觉我如果真的要搞的话不知道要搞到多少年以后。。。。大佬你能不能说一下大致的流程,我看我能进行到哪步

首先你得有权限改dontstarve_steam.exe的进程,这个你可以直接在我的插件的injector上改,然后把lua_load重写一份。(可以先看看README里贴的知乎文章)

然而你都用这个插件了,字节码肯定都不是问题了。。。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

对了大佬,你真的不打算把这个补丁做成mod吗,借助单机版的io.popen和联机版的os.execute应该很容易实现吧,而且可以把dll文件都写进modmain里防止报毒,最终大概不到400k的modmain就能实现这个补丁的功能了。

这个我最担心的是如果哪天Klei升级了,插件出现不兼容,启动就会挂掉,然后就永远打不开游戏了。从商店里安装的玩家一般是不知道怎么卸载的。

这个应该不用太担心吧,只要在mod介绍界面说明一下,他们都应该看得懂的,太蠢的玩家也不会去用这玩意吧。

不你高估了歪果仁的理解能力。。很多人得手把手地教把什么文件复制到哪里的。。。看看Klei论坛上那个luajit的帖子就知道了。国内也好不到哪去,大多数玩家都不知道安装目录在哪……

这个没关系,你可以在mod启用上花点功夫,别让他们无脑点启用就能应用该mod就行。有一个简单的方法,比如在mod文件里随便加一个文本文件,默认空,然后让玩家手动往里写个true之类的字符才能启动安装这个mod,这样就能做到能成功启用mod的玩家必定会有脑子卸载。其实把这个发布成mod主要是为了让更多的人看到,不然这么好的东西还没几个人知道这太可惜了,

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

那个情人节的mod我看了,那是单机mod,而且本身就只把一小段代码编译了,而且还没strip,很容易反编。大佬你可以去看看宝石萝莉mod的modmain_bei.lua,这个是我帮翼语strip之后的字节码,反正luadec2.0是反编不出来的。

当然这个只能相对提高些破解成本吧。。。同时如果别人把bug你也很难找到调试信息了。。。
你看饥荒exe都没有源码没有符号也没导出lua的函数,我花些时间也是可以搞进去的。。。对于那些专业人士来说更简单。

把破解成本提高到这种程度已经完全可以了,饥荒的mod作者里哪来这么多专业人士,我这么加密已经可以让99%以上的mod作者束手无策了,而且就算能破解,也得下不少功夫,根本不值得。至于bug报错,那就是翼语自己要关心的问题了,毕竟我只负责加密。

其实混淆就够了,个人觉得字节码不会比混淆强到哪里去。

字节码比混淆加载速度更快不是吗,嘿嘿。其实主要是我已经写好了单机版的mod一键批量加密脚本,并做成了mod的形式可以发布的那种,本来想顺手搞定联机版没成想。。。。这么费劲,看起来想真正完成这个mod还是任重而道远啊。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

大佬你要是没空做这个补丁的mod版我可以帮你做,毕竟我还是希望能在工坊上看到这么好用的东西。到时候我做好发给你,还是你来发布。

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

大佬你要是没空做这个补丁的mod版我可以帮你做,毕竟我还是希望能在工坊上看到这么好用的东西。到时候我做好发给你,还是你来发布。

这个插件是MIT协议的,你如果想发布的话,folk后直接自己发布就可以了,指个链接到这个github地址就好。

不过要注意Linux客户端的安装方法是不一样的,当然简单点就不支持Linux吧。

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

那个情人节的mod我看了,那是单机mod,而且本身就只把一小段代码编译了,而且还没strip,很容易反编。大佬你可以去看看宝石萝莉mod的modmain_bei.lua,这个是我帮翼语strip之后的字节码,反正luadec2.0是反编不出来的。

当然这个只能相对提高些破解成本吧。。。同时如果别人把bug你也很难找到调试信息了。。。
你看饥荒exe都没有源码没有符号也没导出lua的函数,我花些时间也是可以搞进去的。。。对于那些专业人士来说更简单。

把破解成本提高到这种程度已经完全可以了,饥荒的mod作者里哪来这么多专业人士,我这么加密已经可以让99%以上的mod作者束手无策了,而且就算能破解,也得下不少功夫,根本不值得。至于bug报错,那就是翼语自己要关心的问题了,毕竟我只负责加密。

其实混淆就够了,个人觉得字节码不会比混淆强到哪里去。

字节码比混淆加载速度更快不是吗,嘿嘿。其实主要是我已经写好了单机版的mod一键批量加密脚本,并做成了mod的形式可以发布的那种,本来想顺手搞定联机版没成想。。。。这么费劲,看起来想真正完成这个mod还是任重而道远啊。

忘记说了,这个插件在WG平台是用不了的==你们是打算放弃WG了么?

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

大佬你要是没空做这个补丁的mod版我可以帮你做,毕竟我还是希望能在工坊上看到这么好用的东西。到时候我做好发给你,还是你来发布。

这个插件是MIT协议的,你如果想发布的话,folk后直接自己发布就可以了,指个链接到这个github地址就好。

不过要注意Linux客户端的安装方法是不一样的,当然简单点就不支持Linux吧。

Linux系统的日后再说吧,我目前也正在熟悉这个系统,我先把做windows系统的做出来就可以了,然后只在steam平台发布(话说我也没有WG的饥荒单机版呜呜呜)

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

那个情人节的mod我看了,那是单机mod,而且本身就只把一小段代码编译了,而且还没strip,很容易反编。大佬你可以去看看宝石萝莉mod的modmain_bei.lua,这个是我帮翼语strip之后的字节码,反正luadec2.0是反编不出来的。

当然这个只能相对提高些破解成本吧。。。同时如果别人把bug你也很难找到调试信息了。。。
你看饥荒exe都没有源码没有符号也没导出lua的函数,我花些时间也是可以搞进去的。。。对于那些专业人士来说更简单。

把破解成本提高到这种程度已经完全可以了,饥荒的mod作者里哪来这么多专业人士,我这么加密已经可以让99%以上的mod作者束手无策了,而且就算能破解,也得下不少功夫,根本不值得。至于bug报错,那就是翼语自己要关心的问题了,毕竟我只负责加密。

其实混淆就够了,个人觉得字节码不会比混淆强到哪里去。

字节码比混淆加载速度更快不是吗,嘿嘿。其实主要是我已经写好了单机版的mod一键批量加密脚本,并做成了mod的形式可以发布的那种,本来想顺手搞定联机版没成想。。。。这么费劲,看起来想真正完成这个mod还是任重而道远啊。

忘记说了,这个插件在WG平台是用不了的==你们是打算放弃WG了么?

表示只有WG的联机版而且我也不常用,之前在WG上逛了逛模组空间,发现WG不但模组少而且连客户端mod和服务器mod都没分利索我也是无力吐槽了。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

大佬我已经写好单机版了,要不要先发给你看看。

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

大佬我已经写好单机版了,要不要先发给你看看。

附件里发下看看😂

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

大佬我已经写好单机版了,要不要先发给你看看。

附件里发下看看😂

https://github.com/beilixingxing/dontstarvejitmod

写的太垃圾就设成私密了,已经申请你的访问权限了,你看一下。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

我勒个去,联机没有os.execute也没有io.popen,我是因为之前开了补丁所以一直以为有。。。。这就有点尴尬了,联机版要想一键安装可有点难了,难道要单机版越级操作强行把文件写到联机版里?大佬你有没有什么简单方法。

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

我勒个去,联机没有os.execute也没有io.popen,我是因为之前开了补丁所以一直以为有。。。。这就有点尴尬了,联机版要想一键安装可有点难了,难道要单机版越级操作强行把文件写到联机版里?大佬你有没有什么简单方法。

你估计一直用的以前版本的插件吧。。以前版本的os.execute是能用的=(现在已经被我换成空壳了) 也就是你得装了插件才能用。。。

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

我勒个去,联机没有os.execute也没有io.popen,我是因为之前开了补丁所以一直以为有。。。。这就有点尴尬了,联机版要想一键安装可有点难了,难道要单机版越级操作强行把文件写到联机版里?大佬你有没有什么简单方法。

我也一直奇怪联机为什么不禁os.execute...搞了半天只是我没禁。。。

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

我勒个去,联机没有os.execute也没有io.popen,我是因为之前开了补丁所以一直以为有。。。。这就有点尴尬了,联机版要想一键安装可有点难了,难道要单机版越级操作强行把文件写到联机版里?大佬你有没有什么简单方法。

除了越级写进去目测没什么好办法。。这得是别人DS和DST在同一个地方装的才行。。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

我勒个去,联机没有os.execute也没有io.popen,我是因为之前开了补丁所以一直以为有。。。。这就有点尴尬了,联机版要想一键安装可有点难了,难道要单机版越级操作强行把文件写到联机版里?大佬你有没有什么简单方法。

你估计一直用的以前版本的插件吧。。以前版本的os.execute是能用的=(现在已经被我换成空壳了) 也就是你得装了插件才能用。。。

没具体用过,只是查了一下表里有啥。。。

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

大佬你单机版mod下下来了吗

刚下完游戏。。试了下可以用。不过用upx压缩后可能有很多玩家的电脑会报毒的

配置界面好像还是queuer改的,ui还在那里=

目前有没有什么办法像饥荒默认那样如果崩溃了就禁用MOD……

好像实现禁用的话,估计得检测个文件存在与否什么的。。饥荒默认是通过哪个文件检查的?

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

queuer
报毒了让他们自己想办法吧,upx压缩一下能减一半体积还是太香了。
我有设置过什么配置界面?你说modinfo吗,那玩意我自己写的鸭,而且还写了中英文两版。
这个mod。。禁用了也没用,因为安装完之后就只有F11切模式一种功能了,我尝试了能不能一键卸载,然而没成功,主要是饥荒进程开启的时候不能删除这仨文件。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

没啥问题我找张插图当封面就准备发布了。

from dontstarveluajit.

beilixingxing avatar beilixingxing commented on May 20, 2024

steam加个好友鸭,我把你拉进创作者。模组现在设置成了私密,创作者可见。

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

steam加个好友鸭,我把你拉进创作者。模组现在设置成了私密,创作者可见。

已加

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

queuer
报毒了让他们自己想办法吧,upx压缩一下能减一半体积还是太香了。
我有设置过什么配置界面?你说modinfo吗,那玩意我自己写的鸭,而且还写了中英文两版。
这个mod。。禁用了也没用,因为安装完之后就只有F11切模式一种功能了,我尝试了能不能一键卸载,然而没成功,主要是饥荒进程开启的时候不能删除这仨文件。

我倒觉得必要性不大。。主要是360是报毒的,装360的人又很多= 几百K的东西意义不是很大=

from dontstarveluajit.

paintdream avatar paintdream commented on May 20, 2024

没啥问题我找张插图当封面就准备发布了。

我新发布了个版本,这个版本可以通过ini文件来控制是否启用和jit的模式=麻烦加一下吧~
https://github.com/paintdream/DontStarveLuaJIT/releases/tag/2020.6.13

from dontstarveluajit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.