反编译bs2心得

来源:互联网 发布:java可以做爬虫吗 编辑:程序博客网 时间:2024/06/07 02:52

 bs2全称是Basic Stamp 2单片机,在数年前很受欢迎,因为其开发语言为basic,所有IO端口功能相同,很容易上手。老的很多玩具,工控设备都使用它来处理一些简单逻辑,现在遇到升级换代,就需要对这些代码重新翻修,如果找不到当时开发资料,那就需要进行反编译了。在之前,就遇到这样的需求,通过半年的分析,终于掌握了这些文件的特点,并非常顺利的逆向得到5个片子的源码,通过一系列的工作,有了如下心得:

1,有需求的就是有价值的,bs2片子虽然现在很少见,但对它进行decode的需求还是有的,特别是别人没有关注的,那就放手去做,把它做透,现在能够做到看到bin字节就能猜出源代码大概是啥样的

2,反编译过程就是对编译原理的逆向思维,每个语句的编译有特定的模式,最终生成源码的过程,就是模式匹配,很容易通过代码完成,但前提是要摸清规则

3,对编译器进行跟踪,分析每句的处理过程,对输入输出进行监控,关联起来,以此来获取更多信息,这样的办法屡试不爽,特别是复杂问题的分析上,比如还原一个算法中的复杂公式

4,充分利用工具,并不断创造工具,通过系统的反编译过程,生成了一系列方便后期使用的工具,比如各种编码的转换,代码片段的编译,自动脱壳脚本,文件比对,bs2的eeprom内的bin文件分析,obj文件分析,文法解析器,单片机模拟器,串口模拟器等,大大方便了之后的开发过程,并提升了自己各方面的能力

原创粉丝点击