通过查看字符串,进入此函数
按X键,找到引用的函数
分析:
?脚本
#include <stdio.h>
int main()
{
int key[] = {2233, 4455, 6677, 8899};
unsigned int value[10];
value[0] = 0x1A800BDA;
value[1] = 0xF7A6219B;
value[2] = 0x491811D8;
value[3] = 0xF2013328;
value[4] = 0x156C365B;
value[5] = 0x3C6EAAD8;
value[6] = 0x84D4BF28;
value[7] = 0xF11A7EE7;
value[8] = 0x3313B252;
value[9] = 0xDD9FE279;
int dalte = 0xF462900;
int i = 0;
int wheel;
int sum = 0;
// 逆算法
for(i=8; i>=0; i--){
// 轮数
wheel = 33;
sum = dalte * (i+wheel);
while(wheel--){
sum -= dalte;
value[i+1] -= (sum + key[(sum >> 11) & 3]) ^ (value[i] + ((value[i] >> 5) ^ (16 * value[i])));
value[i] -= sum ^ (value[i+1] + ((value[i+1] >> 5) ^ (16 * value[i+1]))) ^ (sum + key[sum&3]);
}
}
for(i=0;i<=9;i++){
printf("%x", value[i]);
}
return 0;
}
485a4354467b687a4374665f39345f726536363666696e676372793536343171717d0
使用工具将其转为字符串
HZCTF{hzCtf_94_re666fingcry5641qq}?