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

相关文章
|
8月前
|
Java C++ 索引
leetcode-541: 反转字符串 II
leetcode-541: 反转字符串 II
54 0
|
8月前
|
Java C++ Python
leetcode-344:反转字符串
leetcode-344:反转字符串
46 1
|
算法
LeetCode每日1题--反转字符串
LeetCode每日1题--反转字符串
73 0
|
算法
LeetCode每日1题--反转字符串II
LeetCode每日1题--反转字符串II
96 0
|
算法
LeetCode每日1题--四数之和
LeetCode每日1题--四数之和
85 0
|
存储 算法 索引
LeetCode每日1题--两数之和
LeetCode每日1题--两数之和
96 0
|
算法
LeetCode每日1题--三数之和
LeetCode每日1题--三数之和
87 0
leetcode 541 反转字符串II
leetcode 541 反转字符串II
60 0
leetcode 541 反转字符串II
|
存储 安全 C语言
reverse1题解
reverse1题解
95 0
reverse1题解