一、查看文件类型
ELF32 有upx壳
脱壳后kali中运行
二、IDA静态分析
1.查看main
程序逻辑分析:
- 程序会创建一个管道,然后开启一个子进程进行进程间通信。子进程将 69800876143568214356928753 发送给父进程。父进程要求用户输入一个整数,并且等于子进程的 pid 。后面就会对发送过来的数据进行解码成 flag 输出来。
- lol() 函数就是解码函数
查看lol()
用IDA7.6和7.5 F5后都没有程序内容
查看汇编窗口
发现有内容,可能新版IDA反编译此程序有问题
查看WP后发现别人的没有问题
三、解题
脚本如下:
a='69800876143568214356928753'
v2=chr(2*ord(a[1]))
v3=chr(ord(a[4])+ord(a[5]))
v4=chr(ord(a[8])+ord(a[9]))
v5=chr(2*ord(a[12]))
v6=chr(ord(a[18])+ord(a[17]))
v7=chr(ord(a[10])+ord(a[21]))
v8=chr(ord(a[9])+ord(a[25]))
print(v2+v3+v4+v5+v6+v7+v8)
运行结果:
rhelheg
尝试提交后发现不对,加上flag{}也不对,查看WP后发现
flag为:RCTF{rhelheg}
提示里也没有