2022 CISCN Satool
发布时间
阅读量:
阅读量
一道2022年国赛初赛中的LLVM PASS类型pwn题目,当时对该领域尚属完全陌生,因此直接选择放弃。初赛结束后,决定开始接触并学习相关知识。在阅读本题题解之前,建议先查阅之前所撰写的入门文章:
LLVM PASS类pwn题入门
接下来,我们正式进入这道题目的分析过程,首先从readme文件入手:

通过分析这份readme文件,我们仍然可以获取到不少关键信息。首先,题目中并未明确给出opt的具体版本(此处必须强烈批评出题者,我为了这个配置耗费了大量时间,尝试了三个不同的虚拟机环境,反复编译llvm-12不下五次,但生成的opt都无法加载这个mbaPass.so文件。后来才意识到,其实直接通过apt install llvm-12即可完成安装。然而我最常使用的虚拟机是ubuntu18,它仅支持到llvm-10的版本,这让我误以为12及以上版本必须手动从源码编译,简直让人崩溃)。因此我们首先需要确认所使用的opt具体版本。随后文档提供了一个运行命令的示例,并进一步说明了该PASS的功能。从显性描述来看,其主要作用是对IR指令进行压缩和优化,并且该so文件对IR
全部评论 (0)
还没有任何评论哟~
