行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间:2022-10-09 17: 35: 22
本文是对公司常用的磁盘控制器固件进行逆向分享,从而找到其中的漏洞,供学习参考:

现在一切都准备好,打开硬盘驱动器并使用以下命令运行openocd:openocd-f interface/.cfg-f target/test.cfg
test.cfg应该是硬盘控制器使用的CPU的配置,对于大多数marvell CPU,这个配置应该可以工作。我不确定adapter_khz,所以我将我的设置为100(只要这个值低于它应该工作的实际值)。

如果一切顺利,您应该会看到上述内容。现在您可以使用telnet连接到端口4444并发出命令。

硬盘控制器中使用的Marvell芯片没有公开记录。因此,如果您想知道他们的内存映射等信息,您必须签署NDA并可能支付一些钱。相反,我要做的是尽可能多地从固件中找出可能,并可能通过探测电路。
当您无法拆焊和转储闪存时,获取固件并不容易,因此我们必须完成启动过程。大多数ARM CPU从地址0xFFFF0000开始执行,这称为复位向量。如果我们从该地址转储65536字节,我们将找到引导代码,这将是一个很好的起点。
为了转储内存,我们首先需要停止CPU,这可以通过命令“reset halt”来完成(要求我们首先重置系统,因为我们无法停止超过某个阶段)。如果重置命令由于任何原因不起作用,例如:JTAG的RST引脚未连接任何东西,您需要断开并重新连接硬盘驱动器的电源,然后快速接入JTAG并在短时间内发出停止命令几秒钟。使用命令“dump_image
”转储的内存。

当我们对转储的映像进行反汇编时,它是一些相当小的(4 kb)ARM引导代码,应该可以引导我们找到固件的其余部分。
原文地址:https://www.malwaretech.com/2015/04/hard-disk-firmware-hacking-part-2.html
展开阅读全文
︾
读者也喜欢这些内容:
IDA Pro中文设置在哪里切换 IDA Pro中文设置后界面仍是英文怎么办
不少人想把IDA Pro改成中文界面,通常是因为长期做审计和逆向,菜单、提示、日志看得多,想降低认知负担。但这里要先把概念说清楚,IDA Pro对中文的支持更多体现在字符与编码层面,比如注释、字符串、符号名能否正确显示,而不是整套界面是否提供官方中文本地化。...
阅读全文 >
IDA Pro 配置文件放在哪个目录 IDA Pro 配置文件改错了怎么回滚到原配置
很多人改IDA Pro的配置时,最容易踩的坑是分不清两类位置:一类在安装目录里,升级或重装会覆盖;另一类在用户目录里,才是日常个性化设置的主要落点。把文件位置找准,再用“先备份再替换”的方式回滚,基本不会把环境搞乱。...
阅读全文 >
IDA调试MBR切换到16位模式 IDA调试Apk修改寄存器v0
在逆向分析中,MBR和APK分别代表底层引导机制与上层移动应用的典型研究对象。前者常涉及16位实模式与汇编流程控制的深入理解,后者则要求熟练掌握Smali代码、寄存器模拟与调试器调用。IDA pro作为广泛应用的逆向工具,不仅支持对MBR类二进制的低位调试,也能在APK分析中发挥符号识别与寄存器控制优势。本文将围绕IDA调试MBR切换到16位模式和IDA调试Apk修改寄存器v0两个核心主题展开操作细节讲解。...
阅读全文 >
IDA动态调试的使用方法 IDA动态调试后自动更新变量名
在分析复杂程序时,仅靠静态反汇编往往无法看到完整的运行逻辑,尤其是加壳、动态调用、异或加密等场景。此时,借助IDA Pro的动态调试功能,可以实时捕捉程序执行流程,监控变量值和调用栈变化,大大提高分析准确性。更进一步,IDA Pro还支持调试过程中自动更新变量名和函数名,提高代码可读性。本文围绕“IDA动态调试的使用方法IDA动态调试后自动更新变量名”进行详解,帮助你从基础操作入手,深入掌握IDA的高级用法。...
阅读全文 >