做题笔记。
下载 查壳。

32ida打开。
先运行一下:

C++写的。

追踪 good job

具体跟踪分析:

说白了,就是一个用于判断 flag ==key的。
往上走:

跟进。

打开 od吧。 锁定地址 追踪看看。(此题,ida不能动态 od可以的。)



所以实际,是我们输入进行了xor。
脚本:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
unsigned char key[] = {
0x72, 0x78, 0x75, 0x73, 0x6F, 0x43, 0x71, 0x78,
0x77, 0x7B, 0x79, 0x71, 0x4B, 0x60, 0x7B, 0x4B,
0x5A, 0x71, 0x61, 0x67, 0x7B, 0x72, 0x60, 0x69,0
};//"rxusoCqxw{yqK`{KZqag{r`i"
for (int i = 0; i <strlen(key); i++)
{
key[i] = (key[i] ^ 0x14);
printf("%c", key[i]);
}
printf("\n");
system("pause");
return 0;
}


flag{Welcome_to_Neusoft}





![[论文阅读] ChartInstruct: Instruction Tuning for Chart Comprehension and Reasoning](https://i-blog.csdnimg.cn/direct/3b08daac58de4194925347d6e3687bef.png)













