找到main函数,查看伪代码
进一步查看
下图中数组要去0
#include<stdio.h>
#include<string.h>
int main()
{
char u[] = "*******************************************";
char a[] = "SharifCTF{????????????????????????????????}";
char s[] = "c61b68366edeb7bdce3c6820314b7498";
int p[43] =
{
30, 24, 25, 32, 40, 36,
28, 17, 34, 39, 16,
33, 19, 26, 5, 3,
29, 27, 31, 4, 8,
15, 37, 42, 14, 41,
2, 23, 21, 0, 10,
20, 7, 11, 1, 13,
6, 38, 18, 35, 12,
22, 9,
};
int v6 = 0, v3 = 0;
while (v6 < strlen(s))
{
v3 = v6 & 1 != 0 ? 1 : -1;
a[v6 + 10] = s[v6] + v3;
v6++;
}
for (int i = 0;i < strlen(a);i++)
{
u[p[i]] = a[p[i]];
}
printf("%s", u);
return 0;
}
运行结果
SharifCTF{b70c59275fcfa8aebf2d5911223c6589}