背景 最近在浏览某网络论坛,看到一款刺激战场的吃鸡外挂软件下载量很高,出于对游戏外挂样本的敏感及逆向的专注,就从论坛上下载一个样本,并进行对该游戏外挂样本,深度功能分析及还原破解的逆向实践,主要从外挂样本的功能表现,样本的基础属性、样本的实现功能、样本的验证功能破解进行实践。 基本属性 (分析这些未知的软件切记得在虚拟机环境下进行) 启动游戏辅助样本后,从表面上来看功能确实很强大,透视、距离、显血、自瞄这些都是玩家想用游戏辅助的一个痛点。但这游戏辅助功能都有实现吗?有这么强大了吗? 结合Exeinfo PE和pchunter工具可以得出样本基本属性的结果。 该样本是通过易语言(WTWindow类名是易语言特有)进行开发的,从查壳和区段信息来看,该样本是没有做任何保护的普通样本。 ![]() 注册码破解 ![]() ![]() ![]() 样本点击开启辅助功能的时候,提示需要先进行获取注册码,进行对样本功能激活,才能正常使用样本的功能。 点击获取注册码按钮,会弹出扫描支付的对话框,但是对话框 是空白的。通过逆向分析得出的结论是,奈何该样本开发作者的服务器,已经过期而且是没有进行备案登记的,所以样本通过http通讯方式,进行向服务器请求支付的二维码图片就请求失败,所以弹出的支付对话框就是空白的界面。 对于要逆向破解程序某功能点时,主要需要通过强大的ollydbg工具进行做动态调试,其他工具如IDA、procmon、pchunter等主要是作为逆向分析破解的辅助点和参考点。 分析易语言样本可采用的通用突破点
注册码的破解流程步骤 在ollydbg工具中,通过下系统API函数也就是弹出对话的MessageBoxA函数下int3断点(F2断点),接着去点击获取的按钮,以触发调用函数,这个时候ollydbg工具中也会触发int3断点,在通过在断点中的堆栈信息上进行回溯分析。 |
|