无趣的浅
2022-06-22 11:03
采纳率: 50%
浏览 16

CTF的逆向IDA反汇编之后代码

IDA反汇编之后的代码,求解释
求解跳过v12内行的if验证

img

 v17[0] = 20;
  v18 = 0i64;
  v17[1] = 20;
  v17[2] = 37;
  v17[3] = 4;
  sub_EB1010(&Format, v3);
  v5 = std::istream::operator>>(std::cin, &v18);
  std::istream::operator>>(v5, v14);
  v6 = HIDWORD(v18);
  v7 = 0;
  v8 = HIDWORD(v18);
  v9 = v18;
  v16 = 32;
  do
  {
    v10 = ((v7 - 1640531527) >> 2) & 3;
    v9 += (((v7 - 1640531527) ^ v6) + (v6 ^ v17[v10])) ^ (((16 * v6) ^ (v6 >> 3)) + ((v8 >> 5) ^ (4 * v6)));
    v7 -= 1640531527;
    v6 += ((v7 ^ v9) + (v9 ^ v17[v10 ^ 1])) ^ (((16 * v9) ^ (v9 >> 3)) + ((v9 >> 5) ^ (4 * v9)));
    v11 = v16-- == 1;
    v8 = v6;
  }
  while ( !v11 );
  v18 = __PAIR64__(v6, v9);
  // 9
  if ( v9 != -1416191457 || (v12 = "Sucess,This is ture token!!!\n", v6 != 1570219490) )
    // /
    v12 = "Error,This is false token!!!\n";     // /
  sub_EB1010(v12, v15);
  getchar();
  return 0;
}

1条回答 默认 最新

相关推荐 更多相似问题