好的,所以我有一个 Arduino,它有一个草图(我没有源代码),我想对其进行逆向工程,并且我已经成功地转储了闪存并拆卸了它的一部分。我希望能够使用 Atmel mkII 之类的设备来单步执行我的 Arduino,但我在找出使用 mkII 和 Atmel Studio 6 进行片上调试的菜单选项时运气不佳。这是可以使用 Atmel Studio 6 和 mkII 吗?是否有其他方法可以单步执行没有原始源代码的 Arduino?
闯入和调试未知的 Arduino 程序
逆向工程
硬件
标签
爱特梅尔
2021-07-05 05:09:11
1个回答
我不熟悉该工具,因此我无法回答您的具体问题。但这里有两条建议:
1) 有许多 arduino 模拟器可用于单步调试代码。
2) Arduino 足够小且简单,您应该能够仅使用(反)组装和您的大脑对其进行逆向工程。(与 x86 不同,它有数百种方法让您的生活变得复杂。)是的,这需要时间,但是您做的越多,您变得越快。
只需开始扫描列表。尝试寻找小的、自包含的子程序。弄清楚他们的输入和输出是什么样的。猜测它们的功能是什么。(“LED 闪烁”、“校验和例程”、“bit-bang 一个额外的 I2C 总线”、“检查按钮按下”)很快,它会滚雪球,并且更高级别的例程将更容易理解,因为您知道较低的的。有时您会遇到知识的极限,但您可以根据您对软件的了解做出有根据的猜测。(即“这必须在它进行傅立叶变换的地方”)
其它你可能感兴趣的问题