题目链接:
链接:https://pan.baidu.com/s/1VX6DZrI03kNTaijI7xoD3g
提取码:r37q
misc
misc1
wireshark保存的文件
打开搜索flag
打开搜到的包发现有很多文件
使用foremost分离文件
1 | foremost 02_misc01.pcapng |
得到一个压缩包
需要解压密码
爆破不出来,回到wireshark中寻找
接着搜flag,发现1150的包多了jpg文件
对这个包追踪TCP流量
FFD8 FFD9分别是jpg文件的开头和结尾
复制下这一段,使用脚本恢复
在项目文件夹里面打开图片
输入密码
flag是:flag{3OpWdJ-JP6FzK-koCMAK-VkfWBq-75Un2z}
RE
junkcode
看名字还以为是花指令,结果不是…
这个题是SMC(Self-modifying code 自修改代码):自修改代码是一种编程原理,开发人员可以编写一个程序,在执行时可以更改自己的代码。
查壳无壳
IDA打开,发现分析不出什么有效的信息
看它的Entry point
可以看到入口点在nop处,查看nop
可以发现从check到nop这段被异或加密了
我们看一下check函数,F5无法反编译
使用IDC脚本解密,先找到开头和结尾
编写脚本
1 | auto i; |
shift+F2打开IDC编译器
运行完成后check函数变成了这样
我们可以看到此时check函数的地址还是红色的,说明需要我们构建函数才可以反编译成C的伪代码。
点击check函数的开头地址
按P键
即可F5查看check函数的伪代码
很简单的异或
将byte_80486A0
和byte_80486B9
中的数据提取出来
编写Python脚本
1 | str1 = [0xFC, 0xE8, 0x64, 0xE1, 0xDD, 0x96, 0x18, 0x9A, 0x8D, 0x18, |
flag是:ctf{junk code not junk}