看我如何逆向分析一款可编程接口控制器

栏目: IT技术 · 发布时间: 4年前

看我如何逆向分析一款可编程接口控制器

在AeroCTF中,有一类挑战是以分析可编程接口控制器(PIC)为主要内容的。

在挑战比赛中,我们会拿到待分析的PIC导出代码,而我们的任务就是需要从中想办法提取出Flag。一般来说,我们所拿到的ROM导出数据为十六进制文件,我们此次拿到的是一个名为“Beginning.hex”的文件,以及下面这个是示意图:

看我如何逆向分析一款可编程接口控制器

下面给出的是Beginning.hex文件的部分代码段:

看我如何逆向分析一款可编程接口控制器

Beginning.hex:【 文件下载

经过分析之后,我发现我们可以使用MPLab IDE v8.92来分析这个内存导出数据。除此之外,我们还可以从文件示意图中了解到待分析的可编程接口控制器的型号:PIC16F877。

看我如何逆向分析一款可编程接口控制器

首先,我打算使用静态分析技术来对其进行分析,并从阅读数据表中的数据本身来开始【 数据表PDF 】:

看我如何逆向分析一款可编程接口控制器

看我如何逆向分析一款可编程接口控制器

从反汇编结果中我们可以看到,其中的大多数指令貌似都写在PORTC和PORTD中:

看我如何逆向分析一款可编程接口控制器

movlw(将参数移动至W寄存器)和movwf(将W寄存器移动至参数)结合起来相当于write!

我们可以从上面给出的芯片图中了解到,PortC为RC0-RC7,而PortD则是RD0-RD7。

看我如何逆向分析一款可编程接口控制器

这些阵脚可以将输入数据传递给LCD。我们需要获取到数据信号的映射表以及相关联的ACSII字符。在这里, Vaibhav Jayant 给我提供了很大帮助,我成功模拟出了“Proteus 8 professional”的电路图表。

看我如何逆向分析一款可编程接口控制器

项目文件获取:【 点我下载

获取到这个电路图之后,那么模拟出整个PIC结构也就不难了。按下“Play按钮”之后,我们就可以看到芯片以动画的形式再给我们播放最终的Flag。

看我如何逆向分析一款可编程接口控制器

最后,我们成功拿到了隐藏在其中的Flag:AERO{PIC_IS_SIMPLE_Q4A8K1L7}。

* 参考来源: anee ,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM


以上所述就是小编给大家介绍的《看我如何逆向分析一款可编程接口控制器》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

触点管理

触点管理

[德] 安妮·M·许勒尔(Anne M. Schuller) / 于嵩楠 / 中国人民大学出版社 / 2015-12-1 / 49.00元

我们所处的时代正经历着巨大的变革,变得越来越数字化、复杂化和社会化。互联网浪潮猛烈冲击着传统商业世界,数字原住民队伍不断壮大,改变了企业的内外生态环境;金字塔式结构正在瓦解,组织变得越来越网络化和扁平化;员工接管了企业的话语权,我们比任何时期都更需要员工的忠诚,并期望他们表现出更加自主的创造力和协作精神。 在数字化商业世界里,公司内部员工与组织和领导之间接触点的数量直线上升,任何真相都无法对......一起来看看 《触点管理》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具