reverse2题解

简介: reverse2题解

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

相关文章
|
算法
LeetCode每日1题--反转字符串
LeetCode每日1题--反转字符串
57 0
|
算法
LeetCode每日1题--反转字符串II
LeetCode每日1题--反转字符串II
75 0
|
存储 安全 C语言
reverse1题解
reverse1题解
70 0
reverse1题解
|
存储 数据安全/隐私保护 Python
reverse3题解
reverse3题解
104 0
reverse3题解
|
C++
旋转数组STL(reverse)
题目: 给定一个数组,将数组向右移动k步,其中k为非负数。 样例:
69 0