逆向汇编指令与代码功能理解(1)

今天我们来加强一下对逆向的理解,看看汇编中常见的指令对应的代码功能

这里附一个链接,学ida:IDA Pro - CTF Wiki

以下主要以四个代码来进行理解和运用汇编指令

一、[HNCTF 2022 Week1]超级签到

先来一个简单题吧

将这个附件下载后,查壳发现没有,那就直接给ida进行分析

首先我们看到了流程图,其实已经可以大概猜到flag

第一种:点击f5,查看反编译的代码,直接进行理解

第二种:点击空格,查看它的原始汇编代码,依据汇编代码进行理解

我们只分析这个main函数的代码

理解汇编指令,核心思路是得从宏观到微观

先识别函数框架,比如在一段代码中,我们最重要的代码就是main函数,那么就得判断好它的起始位置和终止位置,也就是“函数序言(Prologue)”和“函数尾声(Epilogue)”

而在汇编指令中,函数入口其实有一定的规律:

如何识别函数开头?
看到这三条指令,基本就是函数入口了:
push    ebp        ; 保存旧的栈帧指针
mov     ebp, esp   ; 建立新的栈帧指针
sub     esp, X
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值