虾虾一米六 发表于 2023-3-13 00:44:16

... ...--wp

本帖最后由 虾虾一米六 于 2023-3-13 00:46 编辑

#... ...
下载附件,然后使用Exeinfo打开,发现是Visual Studio编写的X64位程序
!(https://s2.loli.net/2023/01/17/LBMhHaKkD1SemPx.png)
然后使用ida64打开进行进一步的分析

打开后按CTRL + F来搜索main函数
!(https://s2.loli.net/2023/01/17/M3ZgqtPGAkIBoJn.png)

搜索到以后按F5伪代码查看页面

```c++
sub_140001020("Hello,Hacker!\n");
sub_140001020("I'm going to give you a task.\n");
sub_140001020(asc_1400033B0);
Sleep(0x1388u);
```
这里程序开始,并延时5000MS

```c++
v19 = v42 ^ 0x4E;
v42 ^= 0x4Eu;
v20 = v43 ^ 0x4F;
v43 ^= 0x4Fu;
v21 = v44 ^ 0x50;
v44 ^= 0x50u;
v22 = v45 ^ 0x51;
v45 ^= 0x51u;
v23 = v46 ^ 0x4D;
v46 ^= 0x4Du;
v24 = v47 ^ 0x4E;
v47 ^= 0x4Eu;
v25 = v48 ^ 0x4F;
v48 ^= 0x4Fu;
v26 = v49 ^ 0x50;
v49 ^= 0x50u;
v27 = v50 ^ 0x51;
v50 ^= 0x51u;
v28 = v51 ^ 0x4D;
v51 ^= 0x4Du;
v29 = v52 ^ 0x4E;
v52 ^= 0x4Eu;
v30 = v40 ^ 0x4F;
v40 ^= 0x4Fu;
if ( v41 != 63
    || v19 != 43
    || v20 != 16
    || v21 != 57
    || v22 != 34
    || v23 != 18
    || v24 != 61
    || v25 != 32
    || v26 != 15
    || v27 != 52
    || v28 != 44
    || v29 != 61
    || (v31 = v30 == 54, v32 = "I've given you a flag. Look where it is.\n", !v31) )
{
    v32 = "No,No,No!!!\n";
}
```
异或v41异或到63

A^B=C则C^A=B且C^B=A

我们将原来的16进制的转化为10进制,点击你想要转化的16进制的然后右键,点击箭头所指的。

!(https://s2.loli.net/2023/01/17/ic1yq86W4OGmPXu.png)

```
77^63
78^43
79^16
80^57
81^34
77^18
78^61
79^32
80^15
81^52
77^44
78^61
79^54
```
然后使用python直接就可以出来异或后的结果。
![](./data/attachment/forum/202303/13/004641nkbuku4wfnrqxnum.png)
然后使用chr进行转换
!(https://s2.loli.net/2023/01/17/cdv4R6tjaM3VgFU.png)

拼起来然后包裹上flag{}。

Sul1mu 发表于 2024-1-4 14:58:22

你好,请问一下这道题是出自哪里的呀
页: [1]
查看完整版本: ... ...--wp