ReadAsm2

首先查看题目

下载文档之后用虚拟机打开(我用的是Kali Linux)

推测应该是对这个func函数反汇编结果应该就出来了

用c写一下算出结果

#include<bits/stdc++.h>
using namespace std;
void func(char* input,int num)
{
    int i;
    for(i=1;i<=num;i++)
    {
        *(input + i)^=i;
    }
}
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;
} 

flag{read_asm_is_the_basic}

posted @ 2019-04-08 15:03  Maggieisxin  阅读(250)  评论(0编辑  收藏  举报