利用IDA PRO反汇编C++程序之操作篇
回顾上篇,主要介绍了IDA Pro的常用快捷键及功能窗口。今天继续为大家带来利用IDA Pro反汇编C++程序的操作流程,通过更改16进制数据或汇编代码,达到改变应用程序内容或执行流程的目的。
利用IDA PRO更改应用程序
主要介绍通过Hex View修改数据库中的字节值或直接修改汇编语句,达到更改应用程序的效果。
01
示例程序
02
更改二进制文件
改动后效果
定位代码段
通过View→Open Subviews菜单或Shift+F12快捷键打开String窗口,找到“num1 < num2”字符串。在工程较大、字符串较多的情况下,可通过右击String窗口空白处选择“Quick filter”菜单,在弹出的过滤器中输入想要查找的字符串。
双击字符串窗口的该行字符串,会转跳到IDA-View的文本视图中的0000000140002310处。
在变量名处右击,选择“jump in a new hex window”,跳转到二进制窗口中。
修改程序
在需要修改的位置处右击选择“Edit”或按下F2快捷键,即可编辑数据,在修改完成后右击选择“Apply changes”或按下F2快捷键保存修改。
写入文件
保存完成后,需通过“Edie”→“Path program”→“Apply patched to input file”把改动更新到二进制文件中。
效果展示
重新启动应用程序,更改效果如下图所示:
03
更改汇编语句
改动后效果
修改程序
在IDA-View图形界面中可以看到判断逻辑。
本例中只要把00000001400012FB处“cmp [rsp+48h+arg_18],eax”更改为“xor eax, eax”,应用程序将永远不会走到“num1 < num2”分支处。
写入文件
效果展示
重新启动应用程序,更改效果如下图所示:
小结
IDA Pro是工业网络安全分析漏洞、分析恶意软件、分析病毒行为的常用工具。正确利用IDA Pro,可以降低工业网络安全的机密性、完整性、可用性伤害。在后续文章中,安帝科技还会介绍关于工业网络安全相关的知识或解决方案等,敬请关注。
往期精选
安帝科技丨ANDISEC
北京安帝科技有限公司是新兴的工业网络安全能力供应商,专注于网络化、数字化、智能化背景下的工业网络安全技术、产品、服务的探索和实践,创新应用网络空间行为学及工业网络行为验证,构建了工业大数据深度分析、威胁情报共享、威胁感知和协同响应等核心能力优势,为电力、石油石化、煤炭、烟草、轨道交通、智能制造等关键信息基础设施行业提供安全产品、服务和综合解决方案,工业网络安全态势感知平台已部署3600余家电厂。
点击“在看”鼓励一下吧