学习笔记。
下载 查壳。
64ida打开。
进入main:
跟进:
这是密文
咋一看这程序感觉很复杂,很复杂:
脚本:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
unsigned char passwd[] =
{
95, 242, 94, 139, 78, 14, 163, 170, 199, 147,
129, 61, 95, 116, 163, 9, 145, 43, 73, 40,
147, 103
};
int i, temp;
for (i = 0, temp = 0; i<22; i++)
{
temp = temp * 1828812941 + 12345;
printf("%c", passwd[i]^ temp);
}
printf("\n");
system("pause");
return 0;
}
flag{d826e6926098ef46}
总结:做题最重要的一步,是分析。