今天我们来加强一下对逆向的理解,看看汇编中常见的指令对应的代码功能
这里附一个链接,学ida:IDA Pro - CTF Wiki
以下主要以四个代码来进行理解和运用汇编指令
一、[HNCTF 2022 Week1]超级签到
先来一个简单题吧
将这个附件下载后,查壳发现没有,那就直接给ida进行分析
首先我们看到了流程图,其实已经可以大概猜到flag
第一种:点击f5,查看反编译的代码,直接进行理解

第二种:点击空格,查看它的原始汇编代码,依据汇编代码进行理解
我们只分析这个main函数的代码
理解汇编指令,核心思路是得从宏观到微观
先识别函数框架,比如在一段代码中,我们最重要的代码就是main函数,那么就得判断好它的起始位置和终止位置,也就是“函数序言(Prologue)”和“函数尾声(Epilogue)”
而在汇编指令中,函数入口其实有一定的规律:
如何识别函数开头?
看到这三条指令,基本就是函数入口了:
push ebp ; 保存旧的栈帧指针
mov ebp, esp ; 建立新的栈帧指针
sub esp, X

&spm=1001.2101.3001.5002&articleId=150874317&d=1&t=3&u=fd67aec6d9e14b32ba69561027f3db36)
994

被折叠的 条评论
为什么被折叠?



