行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间:2022-10-09 15: 37: 10
IDA在游戏逆向研究中的重要作用已经被论证过无数次了,游戏开发者必须对可能的逆向分析做好防御,不被破解的第一步就是研究黑客是如何破解你的游戏。
继续分享来自安全论坛的关于游戏破解实战案例,本次邮箱引擎是LibCoscos2dula.so:
先尝试直接拖入到IDA中进行分析,预料到同样会被加固,无法直接获得想要的代码:
常规操作是去内存中DUMP出来数据,这里DUMP脚本很多,就不展开。DUMP得到的内容进行修复,推荐修复工具【https://github.com/F8LEFT/SoFixer】。但是我们会发现文件头被魔改过,用来的SO文件头复制粘贴进行后,再修复完成了。
这里总结下,LUA的游戏基本都是通过luaLoadBuffer进行HOOKdump。接下来我们去查询这个字符,但没有收获:
遇见这种情况,只能从开源框架下手继续。首先看下它的版本:
可以看到标黄的部分是cocos2d-x-3.13.1,需要下载这个版本的源码,官方下载地址:https://github.com/cocos2d/cocos2d-x
下载好解压,可以尝试直接用notepad++的搜索功能,来方便快速的搜索luaLoadBuffer:
结果其实可以发现实际是包含luaLoadBuffer,但只是被他隐藏了。那我们该怎么定位到它呢?我们看到上面有个?.lua的字符串我们去IDA搜下看看:
可以看到也是有的,鼠标点击过去,选中alua_2按下键盘下的X快捷键:
点OK跳过去:
我们可以看到这里和刚才看的源码基本上是一样的,那么我们按F5看伪代码:
通过分析sub_18A080就是luaLoadBuffer,我们点进去看看:
伪代码太长了,不全部截图列出,通过HOOK打印sub_18A080(v41,a1,v42,v43,v71);
V42=内容V43=长度V71=文件名。随后进到sub_18A080内部发这个sub_4595C0正好对应luaLoadBuffer参数:
sub_4595C0(a2,v21,v64,a5);=luaLoadBuffer(l,(const char*)data.getBytes(),(int)data.getSize(),fullPathOfScript.c_str());
到这里就不需要多说什么了直接HOOKdump脚本。发现出来竟然是LUAq的代码:
直接用unluac反编译发现会报错,所以应该是修改了opcode。我们继续用IDA定位opcode,进行搜索字符串“'for'limit must be a number”:
和刚才一样点击过去按X键,点OK跳过去:
然后使用F5进行分析:
case就是opcode,把它拿出来修改下unluac就可以解密了。
本案例转自【看雪网论坛】,原作者【lihaiyanz】
展开阅读全文
︾
读者也喜欢这些内容:
怎么用IDA软件反汇编功能学习汇编指令 IDA反汇编功能如何进行多平台二进制分析
说到反汇编分析,很多人第一时间就会想到IDA。这款工具可以说是做逆向工程的“神器”,不管是学习汇编指令还是分析二进制文件,都非常给力。如果你是个初学者,刚接触反汇编,可能会对IDA的一些功能感到陌生,比如怎么用IDA软件反汇编功能学习汇编指令 IDA反汇编功能如何进行多平台二进制分析。别急,今天就带你一步步搞清楚。...
阅读全文 >
IDA软件反汇编后如何找到函数入口点 如何通过IDA反汇编分析软件的加密解密过程
在逆向工程领域,IDA软件是一款功能强大的反汇编工具,广泛用于分析二进制代码、查找函数入口点以及研究软件的加密解密过程。本文将详细探讨“IDA软件反汇编后如何找到函数入口点 如何通过IDA反汇编分析软件的加密解密过程”,并进一步介绍IDA反汇编和反编译的区别,帮助用户更好地理解和使用这一工具。...
阅读全文 >
IDA反汇编软件在漏洞分析中能起到什么作用 如何将IDA软件反汇编功能结合调试器使用
在信息安全领域,漏洞分析和逆向工程是至关重要的工作,而IDA反汇编软件则是这一领域中的佼佼者。作为功能强大的反汇编和调试工具,IDA不仅在漏洞分析中发挥着关键作用,还能通过与调试器结合使用,极大地提升分析效率和准确性。本文将详细探讨“IDA反汇编软件在漏洞分析中能起到什么作用 如何将IDA软件反汇编功能结合调试器使用”,并进一步介绍IDA常用的辅助插件,帮助用户更好地利用这一工具进行漏洞分析和逆向工程。...
阅读全文 >
IDA怎么提取数据?如何利用IDA反编译功能提取程序中的字符串信息?
在软件分析和逆向工程领域,IDA Pro作为一款强大的反编译和反汇编工具,广泛应用于程序分析、代码破解、漏洞研究等方面。对于许多逆向工程师和安全研究人员来说,使用IDA Pro提取数据和字符串信息是常见的需求。本文将详细探讨“IDA怎么提取数据?”和“如何利用IDA反编译功能提取程序中的字符串信息?”这两个问题,并分析IDA Pro是否具有AI功能。...
阅读全文 >