如何反转engineer/extract代码ATmega32

How to reverse engineer/extract code ATmega32

我需要帮助从 ATmega32a 微控制器中提取代码。我了解硬件、寄存器、装配等方面的知识,但我什至还不是嵌入式系统方面的专家。尽管我知道逆向工程不适合初学者,但我仍然想至少学习我在网上找不到的基本概念。

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

提前致谢。

你永远无法从 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 数据表理解机器代码。

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