reverse2题解
题目含义
1.查壳
NOT Win EXE - .o - ELF executable [ 64bit obj. Exe file - CPU : AMD x86-64 - OS: unspecified ]
AMD x86-64可知是64位机上面的文件
NOT Win EXE - .o - ELF 这是个ELF文件,“ELF 的全称是 Executable and Linking Format,即“可执行可连接格式”,被86open项目选为x86架构上的类Unix操作系统的二进制文件标准格式。Linux上可以运行,windows不可以。
2.拖入64位ida
找到主函数,按F5反汇编
3.查看代码
pid是一个进程专属的id号
fork是进程控制,创建子进程的语句
一个运行中的程序是一个进程,这两个语句与程序主要内容无关,逆向不需要任何信息都关注,忽略掉
105,114,49应该是ASCLL字符
将光标点在上面,按下快捷键r,转换为字符
可以知道这个循环时遍历这个字符串然后将字符串中的i和r替换成1
点入flag,查看原来存储的flag
选择这一段区域,按下快捷键a,将这段信息转换为字符串
获得了原来的字符串是{hacking_for_fun}
这里输入了一个字符串,与flag做比较,如果相同就输出,this is the right flag
否则输出wrong flag
可以知道flag就是修改后的flag字符串
flag{hack1ng_fo1_fun}
进一步了解
可以将这个文件拖入kali linux虚拟机当中
./文件名 运行这个文件
可见这个题也是一个可执行文件,需要输入一个flag,需要通过逆向分析这个可执行文件来找出正确的flag