CTF笔记-reverse-带你走近逆向世界之逆向初探
本文最后更新于682天前,其中的信息可能已经有所发展或是发生改变。

讲到逆向,IDA是不得不提的,为啥?请看下图

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

是的,你没有看错,有了她,还要女朋友干啥?

效果那是杠杠滴,谁用谁知道!废话不多说,下面进入正题。

本篇分享知识要点:

  1. 查壳工具介绍

  2. upx脱壳初探

  3. IDA分析常规流程讲解

  4. linux运行elf文件

  5. gdb调试初探

学习,交流,分享

CTF并肩作战,你,并不孤单!

阅读完本篇文章大概需要5分钟,enjoy yourself!

一、查壳工具介绍

常见的查壳工具有exeinfope、PEID、EID,推荐EID或者exeinfope,因为PEID查壳有时候会误报,好尴尬。。。

示例1:

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

通过查壳得到如下关键信息:

32位、Windows可执行程序、C++编写、无壳

示例2:

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

通过查壳得到如下关键信息:

64位、linux 可执行程序、UPX壳

二、upx脱壳初探

使用 upx -d 命令即可对upx壳进行脱壳

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

如上图所示,壳已脱,可以验证一下

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

可见,确实脱掉了。

三、IDA分析常规流程讲解

首先,判断目标是32位还是64位

然后使用对应位数的IDA工具打开目标文件。

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

先从main函数开始分析

这里有一个小技巧

可以使用快捷键F5查看伪代码

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

简单分析一下伪代码

先通过strcpy函数将字符串复制到v13所指向的内存,

然后对输入的v3进行判断,输入的v3字符串要小于17

接着进行比较,看字符串v13是否和字符串v10相等

如果相等,则得到正确的flag

四、linux运行elf文件

使用file命令

将ELF文件放入Linux环境中进行分析

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

运行成功示例:

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

执行报错示例:

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

五、gdb调试初探

gdb -q no-strings-attached

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

使用 b decrypt 找到这个函数的Breakpoint地址

然后使用命令r下断点运行

接着使用n单步步过

使用 info reg 查询注册信息

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

使用 x/w $eax 命令打印eax的内容

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

—————我是分割线—————

CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

———-听说关注的人都脱单了———-

本文来源于互联网:CTF笔记-reverse第2弹-带你走近逆向世界之逆向初探

点击数:201

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇