m24h作者
4年2个月前IP:上海
907667
2楼
引用smith发表于1楼的内容
说来IDA pro反编译的STM32代码, 和X86以及Java反编译还是不能比, 我之前反编译了几个别人的hex, 感觉都很难看出原来的代码逻辑。。。有什么好分析思路吗

比起没有伪C代码 而且可能出现各种硬核技巧的51反编译来说 已经好太多了

STM32的程序的基本功能 都有大致框架(或者说相似的库实现) 从初始化 主循环 中断处理这几点入手也容易找到应用的逻辑

如果能推测作者用的库 并签名了相应的库 可以剔除许多来自库函数的干扰

另一个可能的利器是lumina服务器 也许可以分享和利用其他人反编译的成果 节省在库和常用函数上的开销 但是要花钱(所以我没用 但是感觉是不错的功能 虽然有个免费的服务器 效果几乎没有 毕竟搞反编译的人少)

最难的是 许多逻辑其实是在程序之外 然后特化在程序里面 就只能知其然不知其所以然了

反编译没有什么定势的路线 每个人目的也不同 有的想改关键参数 有的想得到未披露的逻辑 有的为了仿制迁移 尽量忽略不关心的就是了 比如我如果想得到的是其中某个算法 那么看到是围绕端口和外设之类的代码 都直接略过


评论
5
文号 / 907667

千古风流
名片专栏发私信
学术分 1
总主题 68 帖总回复 1007 楼拥有证书:进士 学者 机友
注册于 2020/01/22 18:44:43最后登录 2026/10/31 02:54:58
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:上海

个人简介

个人开源项目: m24h.github.io

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的