皇家守卫军吧 关注:86,562贴子:1,030,136

Lua_反汇编

只看楼主收藏回复

*注意*:千万别反编译了做坏事,虽然EA很烦人,但是铁皮是在努力做出好游戏!
*注意*:千万别反编译了做坏事,虽然EA很烦人,但是铁皮是在努力做出好游戏!
*注意*:千万别反编译了做坏事,虽然EA很烦人,但是铁皮是在努力做出好游戏!
-
写在前面:
之前铁皮编年史里简单提到过,除了最初的Flash他们用AS3脚本,后面几代KR无论是
Objective-C+cocos2d还是C#+Unity,铁皮都用的Lua脚本语言
所以本方法适用于PC Steam端的KR1~KR5!!!
*注意*:游戏本地.exe所在路径中最大的那个.exe其实是可以用7z解压缩的
-
吧里很多小朋友羡慕大神们(如:书生、胖胖、雪花、freegyti、咋不上天)可以制作出
富有趣味、更加平衡、解放限制的KR改版,但是大神们也是人,无法雨露均沾照顾到
所有人的个性化修改需求。这时候大家都希望自己动手,但是苦于打开编辑器,看到的
只有一堆乱码...说到这,我要先道两个歉:
1. 以前总觉得连个RC4都没有,怎么能算加密呢!倒是忽视了对于萌新来说,混淆其实
相当于加密;
2. 回复吧友时,把铁皮的“Junkworld”塔防新IP名字写成“Junk World”,非常不严谨,在
此郑重勘误。
-
我们再说回乱码的问题,大家打开.lua的时候,可能会遇到以下情况:
-

-

-
乍一看,两者好像没啥关系,但是当大学计算机入门ASCII码表的记忆涌现,你看~
0x1b是不是和ASCII的ESC退出键对上了
01和00也对上了SOH(Start of Heading)和NUL(null char)
4c和4a对应L和J,这不就齐活儿了嘛!
-
这时候就需要一点联想和经验了,既然是Lua脚本,那肯定符合它的编码规范要求吧。
根据英文字母表顺序...O、P、Q、R、S、T...我们知道,
如果是LuaQ,那就是Lua 5.1;有LuaR,那就是Lua 5.2;看到LuaS,那就是Lua 5.3
可是ESC后面是LJ啊!那又是个什么玩意儿?聪明的你肯定猜到了L是Lua
这个J也就不卖关子了,是JIT(Just in Time)即时编译
豪马~铁皮果然是爱OC的,LuaJIT可不就是个C语言的即时编译器嘛~
到了这里,我们也别再查啥大端小端、FFI、bytecode的知识了,也不需要知道
STRIPPED没有被置位,文件会多出chunkname字段等,直接反编译走起!
-
下载网盘里LJD文件夹里的ljd.exe,直接命令行或者Powershell里敲击:
“ljd xxxxx.lua”(你要反编译的文件和ljd.exe放到同级目录下)
较新的操作系统可能就是“.\ljd.exe .\xxxxx.lua”
*小贴士*:敲命令时可以Tab自动补全,比如你在ljd.exe所在路径的空白处按住Shift,
然后鼠标右键,选“终端打开”或者“在此打开Powershell”(翻译得大差不差吧)
接着键入“lj”或者“ljd”或者更多正确的字符后,按下Tab键,就会被补全为“.\ljd.exe”
后面的.lua文件名自动补全方法同理
-
比如:.\ljd.exe .\tower_ray.lua
生成的反编译好的同名tower_ray.lua脚本就在ljd.exe同级的output文件夹中
-
大家可以先去核心的balance.lua和game_templates.lua里探险,注意修改前备份!!!
还有翻译喜爱的zh-Hans.lua和zh-Hant.lua(s和t,谁是简体谁是繁体不用我多说了吧)
-
*注意*:千万别反编译了做坏事,虽然EA很烦人,但是铁皮是在努力做出好游戏!
*注意*:千万别反编译了做坏事,虽然EA很烦人,但是铁皮是在努力做出好游戏!
*注意*:千万别反编译了做坏事,虽然EA很烦人,但是铁皮是在努力做出好游戏!


IP属地:上海1楼2024-07-28 15:47回复
    占楼放链接


    IP属地:上海2楼2024-07-28 15:47
    收起回复
      搜索关键词
      -
      常见单词不多说:
      armor,attack,cooldown,damage,dead,death,health,hero,hp_max,lifetime,power,range,speed,tower...
      -
      动画相关的还有:
      action,idle,render,duration,fx_,trail,sprite,run...


      IP属地:上海3楼2024-07-28 15:52
      回复
        Balance里面的血量护甲攻击什么的翻完了,Game templates和game script是一点看不明白😭😭😭


        IP属地:山东来自Android客户端4楼2024-07-28 16:53
        收起回复
          已精!


          IP属地:北京来自iPhone客户端5楼2024-07-28 17:06
          收起回复
            用luajit工具反编译非常简单的


            IP属地:山东来自Android客户端6楼2024-07-28 17:29
            收起回复
              安卓版怎么改,我就反编译了一下,啥数据没动,放回去安装启动就蓝屏


              IP属地:江西来自Android客户端7楼2024-07-28 18:07
              收起回复
                真希望废土世界能出安卓版


                IP属地:安徽来自Android客户端8楼2024-07-28 23:05
                收起回复
                  改完后怎么通过f’转成D.lua啊啊啊啊


                  IP属地:广东9楼2024-07-29 01:17
                  收起回复
                    这代把数据放到balance和gametemplates两个文件里面有些数据我反而不好找了gametemplates里面的排版真是看的眼瞎


                    IP属地:安徽来自Android客户端10楼2024-07-29 04:31
                    回复
                      看不懂,但是不明觉厉


                      IP属地:甘肃来自Android客户端11楼2024-07-29 10:14
                      收起回复
                        楼主能不能吃个视频,我对修改完怎么放回去还是有点疑问,【PC】的,谢


                        IP属地:中国香港12楼2024-07-29 20:20
                        收起回复
                          请问二代怎么反编译呀


                          IP属地:云南来自Android客户端14楼2024-07-30 10:24
                          收起回复


                            IP属地:陕西15楼2024-07-30 10:25
                            收起回复
                              新手在改初代,想问问是不是都能在这个lua里面改到大部分内容,我想试试看把给圣骑士串一个野蛮人的技能这种,或者给塔多弄几个技能,研究一段时间了模模糊糊,问有没有什么有教学的改版群,用那种模板学明白套在别的地方。


                              IP属地:浙江16楼2024-08-09 02:49
                              收起回复