一道逆向CTF题-read asm详解

这道CTF题目涉及对一段C程序的逆向分析,重点在于理解func函数的ASM代码。文章详细解读了汇编指令,包括栈帧设置、数据类型(QWORD, DWORD)、条件跳转(cmp, jle)以及带符号扩展(movsxd)。通过对ASM代码的分析,最终还原了func函数的C语言实现,并得到了flag:flag{read_asm_is_the_basic}。" 96706087,8176181,Ubuntu新手入门:软件管理与文件操作,"['Linux', 'Ubuntu', '命令', '软件']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目给出一段c程序:

int main(int argc, char const *argv[])
{
char input[] = {
  
  0x0, 0x67, 0x6e, 0x62, 0x63, 0x7e, 0x74, 0x62, 0x69, 0x6d,
0x55, 0x6a, 0x7f, 0x60, 0x51, 0x66, 0x63, 0x4e, 0x66, 0x7b,
0x71, 0x4a, 0x74, 0x76, 0x6b, 0x70, 0x79, 0x66 , 0x1c};
func(input, 28);
printf("%s\n",input+1);
return 0;
}

接着给出函数func的asm代码:

00000000004004e6 : 
4004e6: 55 push rbp 
4004e7: 48 89 e5 mov rbp,rsp 
4004ea: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值