首页
社区
课程
招聘
[原创]神秘来信wp
发表于: 2019-6-19 10:24 1937

[原创]神秘来信wp

2019-6-19 10:24
1937
题目是一个exe,无壳。用IDA打开静态看一下。
main函数这个样子
int __cdecl main(int argc, const char **argv, const char **envp)
{
  int v3; // esi
  unsigned int v4; // kr00_4
  unsigned int v6; // ecx
  unsigned __int8 v9; // [esp+10h] [ebp-3Ch]
  unsigned __int8 v10; // [esp+11h] [ebp-3Bh]
  unsigned __int8 v11; // [esp+12h] [ebp-3Ah]
  char v12; // [esp+13h] [ebp-39h]
  char v13; // [esp+14h] [ebp-38h]
  char v14; // [esp+15h] [ebp-37h]
  CPPEH_RECORD ms_exc; // [esp+34h] [ebp-18h]

  v3 = 0;
  printf("请输入序列号:\n");
  scanf("%s", &v9);
  v4 = strlen((const char *)&v9);
  if ( v4 < 7 && v14 == 51 && v13 == 53 && v12 == 51 && v11 + v10 + v9 == 149 )
  {
    v6 = 0;
    if ( v4 )
    {
      do
        v3 = *(&v9 + v6++) + 16 * v3 - 48;
      while ( v6 < v4 );
    }
    ms_exc.registration.TryLevel = 0;
    printf("error!\n");
    while ( 1 )
      ;
  }
  printf("error\n");
  return 0;
}
 v4 < 7 && v14 == 51 && v13 == 53 && v12 == 51 && v11 + v10 + v9 == 149

很明显,要求输入的key 是6位。前三位ascii码加起来等于149,后三位为353.
所以这个有多解。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//