so文件在Script\BFScript.so,需要自行解包出来。
工具:WinHex,010Editor,IDA Pro 结合使用,各有优点。
先来一类最简单的,以日月斩系列的日月轮斩为例:
在BFMagic.ini中找到日月轮斩的编号为115,用WinHex打开BFScript.so,按Ctrl+F搜索文本BFMagic115 。
选中这个文本的第一个位,记住它的偏移地址是78261,十六进制完整写法是0x00078261,接下来按Ctrl+Alt+X搜索十六进制数值,输入61820700,每两位数是一个字节,把这个地址倒过来写。 相关知请自行百度【小端存储】,这个必须知道不然后面头大。
如果是用的010Editor,按Ctrl+F搜索十六进制数值。
如果是用IDA Pro,在Hex-View窗口按Alt+B搜索,但每组数要用空格分开如此处要搜索61 82 07 00
所有的搜索都建议键入完整的8位数值搜索,以减少值重复造成检索结果过多。
这一步可以使用IDA Pro搜索,它会将所有搜索结果列出来,对于有重复结果的值较方便处理。
以上总结:
函数对应的代码在SO中的存放方式为: 函数代码指针地址+函数参数个数+函数名称指针地址+00000000
因此我们要先搜索函数名称,获得它的偏移地址,然后搜索这个地址,找到上图函数名对应的函数代码块地址。
工具:WinHex,010Editor,IDA Pro 结合使用,各有优点。
先来一类最简单的,以日月斩系列的日月轮斩为例:
在BFMagic.ini中找到日月轮斩的编号为115,用WinHex打开BFScript.so,按Ctrl+F搜索文本BFMagic115 。
选中这个文本的第一个位,记住它的偏移地址是78261,十六进制完整写法是0x00078261,接下来按Ctrl+Alt+X搜索十六进制数值,输入61820700,每两位数是一个字节,把这个地址倒过来写。 相关知请自行百度【小端存储】,这个必须知道不然后面头大。
如果是用的010Editor,按Ctrl+F搜索十六进制数值。
如果是用IDA Pro,在Hex-View窗口按Alt+B搜索,但每组数要用空格分开如此处要搜索61 82 07 00
所有的搜索都建议键入完整的8位数值搜索,以减少值重复造成检索结果过多。
这一步可以使用IDA Pro搜索,它会将所有搜索结果列出来,对于有重复结果的值较方便处理。
以上总结:
函数对应的代码在SO中的存放方式为: 函数代码指针地址+函数参数个数+函数名称指针地址+00000000
因此我们要先搜索函数名称,获得它的偏移地址,然后搜索这个地址,找到上图函数名对应的函数代码块地址。