攻防世界-逆向题笔记{simple-unpack}

分析对象:simple-unpack

工具:Kali-Linux、Ida

步骤:1)、运行查看效果

2)、PE工具查壳

3)、查看文件平台

4)、如果有壳就脱壳,无壳进行第四步

5)、文件拖入ida进行分析

前言:

进行第一步之前,我们首先说一下这个这次题目的文件。这次的文件并非windows平台下的文件,而是属于linux文件。如何知道呢?把文件拖进PE工具就可以看到提示。

document_image_rId4

不是winEXE-.o-ELF 可执行程序 64位 obj,百度看一下ELF

document_image_rId5

所以我们需要虚拟机安装一个linux系统,由于咱们是搞科技人士,所以我推荐安装Kali版本。至于Kali的操作并不会多说,大家自己去学一下。这里直接上手。

一、运行查看效果

document_image_rId6

第一句 chom 777 simple-unpack 是为了提升权限,否则可能无法运行。之后我们../images/CTF/simple-unpack运行之后随便输入一串内容然后回车,发现提示了Try again!

二、PE工具查壳

document_image_rId7

很明显是UPX,这里说一下,虽然ELF并非正统的PE文件,但是通常能用PE工具查壳。还有一种查壳方式就是十六进制软件打开,查看区段,一般加壳程序都会存在一个对应壳的区段。

document_image_rId8

三、查看文件平台

document_image_rId9

这里已经很明先给出是64位。

四、脱壳

我们已经知道当前文件为UPX保护壳,那么我们首先得脱壳。window平台下脱UPX的壳方法很多,但是linux文件怎么脱呢?

很简单!Linux下,运行upx -d 文件名即可。注意必须是小写。

document_image_rId10

linux会自动覆盖源程序,现在桌面上的程序已经被脱壳了,我们放到Window下重新查壳看看。

document_image_rId11

此时已经无壳,我们直接用64为Ida打开。

五、Ida分析

document_image_rId12

由于分析对象文件并非window平台下的可执行文件,所以这里需要选择所有文件。加载完毕后,首先搜索字符串,看看有没有明文之类的。

document_image_rId13

本题直接可以看到Flag。

document_image_rId14

总结:

此次题目主要是考查我们对一些简单脱壳和linux的基本操作。