... ...--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直接就可以出来异或后的结果。

然后使用chr进行转换
!(https://s2.loli.net/2023/01/17/cdv4R6tjaM3VgFU.png)
拼起来然后包裹上flag{}。 你好,请问一下这道题是出自哪里的呀
页:
[1]