[ZJCTF2020]改弦易调WP
  • 2020-09-26


##前言

很无语的省赛 全是MISC 我愿称之为MISCTF。

明年不打了 老老实实学技术。

就记录一下RE的题吧,听老师说这题做出来的人不多,我一直做不出来的感觉蛮难的题反而一大堆人,很奇怪。


##过程

下载下来是一个myshell.exe文件 ida载入后判断加过壳。

使用OD单步脱壳

基本解密完成

5f6f3b8eb6de1.png

此处选择使用OD脱壳

5f6f3c1a915ce.png

5f6f3c262ff04.png

完成后用ida重新打开

5f6f3c49acc94.png

基本分析

``` 

    [0]^[1]^0 = 'Q' 

    [1]^[2]^1 = 'f' 

    [2]^[3]^2 = '(' 

    [3]^[4]^3 = '>' 

    [4]^[5]^4 = 'q' 

    [5]^[6]^5 = 'w' 

    [6]^[7]^6 = 'd' 

    [7] = '!' 

``` 

解题脚本

#include <stdio.h>
int main(void)
{
    int i;
    char str[] = "Qf(>qwd!";
 
    for (int i = 6; i >= 0; i--)
    {
        str[i] = str[i] ^ i ^ str[i+1];
    }
    puts(str);
}
//输出   e4SyD1C!

Give me serial: e4SyD1C!

Correct

Your flag :

3b815cd57649b7f1e700343f0ec5def2

5f6f3d25ac8e2.png

以上  不打了不打了CTF  不适合我 我还是老老实实写代码吧