攻防世界 Reverse高手进阶区 3分题 crackme
Posted 思源湖的鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了攻防世界 Reverse高手进阶区 3分题 crackme相关的知识,希望对你有一定的参考价值。
前言
继续ctf的旅程
攻防世界Reverse高手进阶区的3分题
本篇是crackme的writeup
攻防世界的题目分数是动态的
就仅以做题时的分数为准了
解题过程
查壳,显示nsPack壳
找了个工具脱壳
扔进IDA
flag是输入值,进行判断:
- 长度是42位
- 有一个while循环
根据逻辑写脚本:
key1="this_is_not_flag"
key2=[0x12, 4, 8, 0x14, 0x24, 0x5C, 0x4A, 0x3D, 0x56, 0x0A, 0x10, 0x67, 0,
0x41, 0, 1, 0x46, 0x5A, 0x44, 0x42, 0x6E, 0x0C, 0x44, 0x72, 0x0C, 0x0D,
0x40, 0x3E, 0x4B, 0x5F, 2, 1, 0x4C, 0x5E, 0x5B, 0x17, 0x6E, 0x0C,
0x16, 0x68, 0x5B, 0x12, 2, 0x48, 0x0E]
flag=""
for i in range(len(key2)):
flag+=chr(key2[i]^ord(key1[i%16]))
print(flag)
结语
其实这里取巧了
因为考点在于nspack壳的ESP手动脱壳
可以参考:
以上是关于攻防世界 Reverse高手进阶区 3分题 crackme的主要内容,如果未能解决你的问题,请参考以下文章