#include
int main(int argc, char const *argv[])
{
int i,j,result = 0x242EE21A;
unsigned int tmp = 0;
unsigned char ida_chars[] =
{
0x26, 0x2C, 0x21, 0x27, 0x3B, 0x0D, 0x04, 0x75, 0x68, 0x34,
0x28, 0x25, 0x0E, 0x35, 0x2D, 0x69, 0x3D, 0x6F, 0x6D
};
for (i = 0; i <= 0xDE02EF; ++i)
{
tmp = (i << 8) ^ (i >> 12);
tmp *= 291;
if (tmp == result)
{
printf("%d\n", i);
break;
}
}
for(j = 0;j < 17; j++){
printf("%c",i ^ ida_chars[j]);
}
putchar('\n');
return 0;
}
根据提示
计算出这个值的ma5,即为flag