南邮 逆向 ReadAsm2 wp

本文介绍了南邮CTF中一道逆向分析题目ReadAsm2,主要涉及汇编语言和逆向工程技术。题目要求通过阅读给出的汇编代码,理解并手动推算出结果。文章详细分析了func函数的汇编代码,讲解了如何通过读取和分析汇编指令来解决问题。最终,作者给出了C语言和Python的实现,得出flag为flag{read_asm_is_the_basic}。
摘要由CSDN通过智能技术生成

题目下载链接2.asm
题目:读汇编是逆向基本功。
   给出的文件是func函数的汇编
   main函数如下
   输出的结果即为flag,格式为flag{ ****},请连flag{}一起提交
   编译环境为linux gcc x86-64
   调用约定为System V AMD64 ABI
   请不要利用汇编器,IDA等工具。。这里考的就是读汇编与推算汇编结果的能力

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;
}

参考资料:
https://github.com/veficos/reverse-engineering-for-beginners
《汇编语言》王爽
《C 反汇编与逆向分析技术揭秘》


打开虚拟机中的Ubuntu 把文件放在虚拟机中打开
得到以下

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值