如何反向工程/提取代码ATmega32

时间:2019-04-10 17:32:53

标签: arduino reverse-engineering microcontroller decompiling atmega

我需要帮助来从ATmega32a微控制器中提取代码。我具有有关硬件,寄存器,汇编程序的知识,但与嵌入式系统专家也不甚接近。即使我知道逆向工程并不适合初学者,但我还是想至少学习一些我在网络上找不到的基本概念。

如何与芯片通信,提取代码并反编译? 对此的硬件/软件要求是什么? (假设代码不受保护。)

谢谢。

1 个答案:

答案 0 :(得分:4)

您永远无法从Atmega32芯片内部获取c代码,因为该芯片永远都不知道c代码。

不过,您可以从终端使用以下命令从芯片中取出机器代码

avrdude -c <programmer name> -p m32 -U flash:r:read_firmware.hex:i

为此,您必须将avrdude安装到系统中。阅读更多here 您还将需要用于atmega芯片的SPI编程器。我个人最喜欢的是pocket programmer from sparkfun

然后您可以通过文本编辑器浏览hex文件,并尝试使用Atmega32数据表理解机器代码。

就我个人而言,我从未感到值得付出努力。