upx脱壳

upx -d 直接脱壳

int __fastcall main(int argc, const char **argv, const char **envp)
{
  char v3; // cl
  char s1[104]; // [rsp+0h] [rbp-70h] BYREF
  unsigned __int64 v6; // [rsp+68h] [rbp-8h]

  v6 = __readfsqword(0x28u);
  _isoc99_scanf((unsigned int)"%96s", (unsigned int)s1, (_DWORD)envp, v3);
  if ( !strcmp(s1, flag) )
    IO_puts("Congratulations!");
  else
    IO_puts("Try again!");
  return 0;
}

flag直出

flag            db 'flag{Upx_1s_n0t_a_d3liv3r_c0mp4ny}',0

flag

flag{Upx_1s_n0t_a_d3liv3r_c0mp4ny}