Contents
  1. 1. 前言
  2. 2. 正文
    1. 2.1. Hello RE
    2. 2.2. ReadAsm2

前言

被老师嘲讽不会逆向。。。

正文

Hello RE

tips:

或许你需要去学习下IDA的使用,但是只需要学一点点就能做这题了 PS:IDA里面按R可以把奇怪的数字变成字符串

格式为flag{*****}包含flag{}提交

参考资料: 《IDA Pro 权威指南》 各种CTF比赛的逆向部分的writeup

给老人一个1.exe文件,运行一下,结果如下:

V9lFW4.png

将他放入IDA分析一波,要注意使用32位的,开始用64位的,怎么都看不到伪代码。

IDA打开之后,按F5查看伪代码,

V9l5p4.png

居然就得到flag了,tips的提示还没有尝试呢。。

V9lz1H.png

ReadAsm2

读汇编是逆向基本功。

给出的文件是func函数的汇编 main函数如下 输出的结果即为flag,格式为flag{**********},请连flag{}一起提交

编译环境为linux gcc x86-64 调用约定为System V AMD64 ABI 请不要利用汇编器,IDA等工具。。这里考的就是读汇编与推算汇编结果的能力

1
2
3
4
5
6
7
8
9
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;
}
Contents
  1. 1. 前言
  2. 2. 正文
    1. 2.1. Hello RE
    2. 2.2. ReadAsm2