能力值:
( LV3,RANK:30 )
|
-
-
2 楼
等大神指导方法,,现在我只是找个没有opcode乱序的游戏再对比乱序的找到对应的映射关系
|
能力值:
( LV2,RANK:10 )
在线值:
|
-
-
3 楼
gtict
等大神指导方法,,现在我只是找个没有opcode乱序的游戏再对比乱序的找到对应的映射关系
请问怎么找呢,能说一下思路吗
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
http://bbs.pediy.com/thread-216969.htm 看下这个。
|
能力值:
( LV2,RANK:10 )
在线值:
|
-
-
5 楼
谢谢,看过了,还是不会呢
|
能力值:
( LV11,RANK:180 )
在线值:

|
-
-
6 楼
首先,你要明白原生lua中所有opcode是什么意思,代码是怎么实现的。当你了解了opcode的实现时,再看梦幻opcode的实现代码(ida反编译so,定位到opcode的代码),然后分析并推倒出原生lua对应的opcode。当然有一点点小技巧,就是如果opmode对应,那么opcode也对应,具体看我写的那篇文章。以上,希望能够帮到你。
|
能力值:
( LV9,RANK:140 )
|
-
-
7 楼
还原过某精灵的lua opcode,扔ida里找最长的switch就可以了。入口的话,hook memcpy找到加载的地方,然后一路撸。
|
能力值:
( LV2,RANK:10 )
在线值:
|
-
-
8 楼
littleNA
首先,你要明白原生lua中所有opcode是什么意思,代码是怎么实现的。当你了解了opcode的实现时,再看梦幻opcode的实现代码(ida反编译so,定位到opcode的代码),然后分析并推倒出原 ...
谢谢,感谢你的回复,我分析的这个so 按你精华贴的方法找到opmodes 的地方,对比了opmodes的数据,和没修改过的.so是一样的。所以很迷惘。可以帮我看一下吗?.so我上传到附件里面。
|
能力值:
( LV11,RANK:180 )
在线值:

|
-
-
9 楼
我那个方法不一定具有普遍的通用性,每个游戏都可能有不同的修改方法,原方法只能作为参考和学习的意义。 下面简单看了下你给的so文件,给你分析下最简单的 add、sub、mul、div等opcode。
下面是add和sub,
特征是add和sub两个函数

下面是mod,特征是div、floor、mul、sub等函数
其他的opcode得你自己去看源码,找特征或者找结构。 从上面的图片可以看出,该游戏很有可能是选择2个opcode对应1个原opcode。(修改lua反编译工具luadec时需要注意)
以上,希望对你有帮助。
|
能力值:
( LV2,RANK:10 )
在线值:
|
-
-
10 楼
感谢,明白了。
|
能力值:
( LV4,RANK:50 )
|
-
-
11 楼
littleNA
我那个方法不一定具有普遍的通用性,每个游戏都可能有不同的修改方法,原方法只能作为参考和学习的意义。 下面简单看了下你给的so文件,给你分析下最简单的 add、su ...
他这个so我看了一下,有点奇怪,OpCode和luaP_opmodes都能找到,而且顺序正常的,没改过,但是在这个so的switch处理里却像是改动过,请问这是什么回事?
|
能力值:
( LV11,RANK:180 )
在线值:

|
-
-
12 楼
koflfy
他这个so我看了一下,有点奇怪,OpCode和luaP_opmodes都能找到,而且顺序正常的,没改过,但是在这个so的switch处理里却像是改动过,请问这是什么回事?
当时我看的时候也有这个疑问,估计是不修改luaP_opmodes对解析没有什么影响吧(引用的地方不多),或者程序另外保存了一份,具体没有分析了。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
malokch
还原过某精灵的lua opcode,扔ida里找最长的switch就可以了。入口的话,hook memcpy找到加载的地方,然后一路撸。
大佬,有文章吗?想学习一下
|
|
|