首页
社区
课程
招聘
[求助]梦幻西游如何得到Lua
发表于: 2015-9-10 19:41 26279

[求助]梦幻西游如何得到Lua

2015-9-10 19:41
26279
一般的ios手游,都是通过cocos2dx+lua方式实现,要 想得到lua,可以直接hook LoadBuffer方法,再解密 就能得到。最近我在研究ios的梦幻西游,这个游戏也 是cocos2dx+lua实现,不过通过ida查找,并没有找到 LoadBuffer方法,以至于不知道应该hook哪个函数。 请问这个游戏调用lua是用的哪个方法呢?还有解压 ipa,里面并没有后缀是lua的文件,那它是怎么做的 呢?谢谢各位了!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (27)
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
手机也有这个啊,学习了
2015-9-10 20:10
0
雪    币: 277
活跃值: (3358)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
在放在另外一个函数里面~~只说这么多~~~
2015-9-10 21:27
0
雪    币: 1787
活跃值: (340)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
首先,他的资源和脚本,名字都是通过mpqhash处理过的,然后通过统一的资源管理去拿的,没有名字没有后缀。
拿到了其实也没啥用,除非你有心情去逆他的OP,他的OP都是修改过的,就算拿到,也没啥用,还得反编译。反正我是没心情玩了。。
2015-9-11 09:28
0
雪    币: 8
活跃值: (219)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
可以说下是在什么函数里吗?
2015-9-11 11:22
0
雪    币: 8
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
然而叉叉助手有免费的梦幻西游外挂
2015-9-12 08:37
0
雪    币: 6
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
你好,我现在已经拿到了它的luac文件了,不过这个文件直接用luadec无法反编译,这个需要怎么修改后才能反编译出来呢?
2015-9-20 13:12
0
雪    币: 1787
活跃值: (340)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
逆他的LUA虚拟机,把OP改对了。他的OP都改过顺序的了。
2015-9-21 18:22
0
雪    币: 6
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
你好,其实我已经到这步了,只是我不知道它的op是怎么改的顺序,里面有点复杂,看了好久也没看明白,所以也不知道怎么改回来,这个有什么好建议吗?
2015-9-22 11:12
0
雪    币: 1787
活跃值: (340)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
没什么好办法,对着源码逆,反正就是把顺序对上了,然后改一份源码,合并到反编译那个里面。就出来了。
2015-9-22 11:15
0
雪    币: 6
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
其实现在的问题,我也发现了,源码里面op的顺序,和ida里面看到的不一样,但这两个是如何转换过去的,看了好久也没看出来,要是能知道这个是如何转换的就好了,不过真的很谢谢你了!
2015-9-22 14:38
0
雪    币: 212
活跃值: (161)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
看lua源代码,熟悉虚拟机执行的方式,你会得到灵感的,就算拿到op指令表,还要进行反编译,得到源代码,也没用,网游你修改不了数据的,想学习lua的写法,又没必要解开源代码,网上大堆开源的lua
2015-9-23 19:21
0
雪    币: 6
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
目前通过ida,其实是能得到op指令表的,只是ida里面看到的都是op指令对应的数字,但op指令的数据有些是一样的,导致有些相同数据的op指令无法重新排顺序,要是有一份这个op指令的顺序就好了
2015-9-24 11:07
0
雪    币: 1787
活跃值: (340)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
14
这个就靠自己了,当时怎么看的忘记了,反正没个函数,都有一些可以关注的地方,最后都能找回去。
2015-9-24 14:40
0
雪    币: 6
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
不知道该怎么搞了!
2015-10-14 12:53
0
雪    币: 403
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
能加个QQ交流一下吗?57260813
2015-10-16 12:44
0
雪    币: 14
活跃值: (80)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
17
最后还是找到了opcode,建议用unluac去反编译,用luadec反编译会有点小错误...
提供一个我修改了opcode的编译好的unluac

详细的分析 参看我的CSDN http://blog.csdn.net/blueeffie/article/details/50971665
上传的附件:
2016-5-17 02:29
0
雪    币: 180
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
            你好~~~可以留个联系方式么
2016-9-13 18:09
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
请问用我最近在学习lua反编译,根据您的分析跟工具拿到了lua脚本源码。修改源码之后我想要安装他的编译方式编译回去,就是你这个修改了opcode的编译好的unluac反编译出来的。

然后我按照你的opcode对照表修改了lua源代码的lopcodes.h、lopcodes.c、以及lvm.c里面的顺序。然后编译luac.exe  然后用luac.exe对lua脚本源码进行编译。发现编译之后的跟反编译之前的不一样。这是什么原因。请指导一下谢谢。
或者你有按照这个opcode顺序编译好的LUAC.exe吗。谢谢
2016-10-18 19:54
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
请问用我最近在学习lua反编译,根据您的分析跟工具拿到了lua脚本源码。修改源码之后我想要安装他的编译方式编译回去,就是你这个修改了opcode的编译好的unluac反编译出来的。

然后我按照你的opcode对照表修改了lua源代码的lopcodes.h、lopcodes.c、以及lvm.c里面的顺序。然后编译luac.exe  然后用luac.exe对lua脚本源码进行编译。发现编译之后的跟反编译之前的不一样。这是什么原因。请指导一下谢谢。
或者你有按照这个opcode顺序编译好的LUAC.exe吗。谢谢
2016-10-18 20:01
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
请问用我最近在学习lua反编译,根据您的分析跟工具拿到了lua脚本源码。修改源码之后我想要安装他的编译方式编译回去,就是你这个修改了opcode的编译好的unluac反编译出来的。

然后我按照你的opcode对照表修改了lua源代码的lopcodes.h、lopcodes.c、以及lvm.c里面的顺序。然后编译luac.exe  然后用luac.exe对lua脚本源码进行编译。发现编译之后的跟反编译之前的不一样。这是什么原因。请指导一下谢谢。
或者你有按照这个opcode顺序编译好的LUAC.exe吗。谢谢
2016-10-18 20:06
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
我发现用你的这个修好好的unluac去反编译他的luac会有错误。源代码只有一部分。你没发现吗
2016-10-19 14:34
0
雪    币: 14
活跃值: (80)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
23
luadec51和unluac 好久都没更新了 有错误的话 可能是这个反编译工具引起的问题,或者你试试其他的luac反编译工具
2016-10-31 18:21
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
请问还有其他什么反编译工具呢。
2016-11-1 10:18
0
雪    币: 120
活跃值: (1597)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
感谢分享~很好的工具,在目前版本还是可以使用
2018-4-9 09:37
0
游客
登录 | 注册 方可回帖
返回
//