Hands Off! 4.1.0 Serial Check

__int64 __fastcall sub_100009835(__int64 a1, __int64 a2, void *a3, void *a4)
{
  void *v4; // rbx
  void *v5; // r15
  __int64 v6; // r12
  __int64 v7; // r14
  void *v8; // rax
  void *v9; // rax
  void *v10; // r13
  void *v11; // rax
  void *v12; // r13
  char *v13; // rax
  void *v14; // r14
  void *v15; // rax
  void *v16; // r14
  const char *v17; // rax
  __int64 v18; // r14
  unsigned int v19; // eax
  signed __int64 v20; // r12
  __int128 v22; // [rsp+20h] [rbp-40h]
  unsigned __int8 v23[48]; // [rsp+30h] [rbp-30h]

  v4 = a4;
  v5 = a3;
  v6 = a2;
  v7 = a1;
  if ( a3 )
  {
    if ( a4 )
    {
      if ( (unsigned __int8)objc_msgSend(a4, "isEqual:", CFSTR("User-Agent")) )
      {
        v8 = objc_msgSend(
               &OBJC_CLASS___NSDictionary,
               "dictionaryWithContentsOfFile:",
               CFSTR("/Library/Handsoff/Preferences.plist"));
        if ( v8 )
        {
          v9 = objc_msgSend(v8, "objectForKey:", CFSTR("a_serials"));
          v10 = v9;
          if ( v9 )
          {
            if ( objc_msgSend(v9, "count") )
            {
              v11 = objc_msgSend(v10, "objectAtIndex:", 0LL);
              v12 = v11;
              v13 = (char *)objc_msgSend(v11, "rangeOfString:", CFSTR("HDOF1-"));
              if ( v13 != (char *)0x7FFFFFFFFFFFFFFFLL
                || (v13 = (char *)objc_msgSend(v12, "rangeOfString:", CFSTR("HDOF2-")),
                    v13 != (char *)0x7FFFFFFFFFFFFFFFLL)
                || (v13 = (char *)objc_msgSend(v12, "rangeOfString:", CFSTR("HDOF3-")),
                    v13 != (char *)0x7FFFFFFFFFFFFFFFLL)
                || (v13 = (char *)objc_msgSend(v12, "rangeOfString:", CFSTR("HDOF4-")),
                    v13 != (char *)0x7FFFFFFFFFFFFFFFLL) )
              {
                v14 = objc_msgSend(v12, "substringFromIndex:", v13 + 6);
                v15 = objc_msgSend(&OBJC_CLASS___NSCharacterSet, "whitespaceCharacterSet");
                v16 = objc_msgSend(v14, "stringByTrimmingCharactersInSet:", v15);
                if ( objc_msgSend(v16, "length") )
                {
                  v17 = (const char *)objc_msgSend(v16, "UTF8String");
                  v18 = (__int64)v17;
                  v22 = 0LL;
                  v19 = strlen(v17);
                  CC_MD5(v18, v19, (__int64)&v22);
                  v5 = objc_msgSend(&OBJC_CLASS___NSMutableString, "stringWithString:", v5);
                  objc_msgSend(v5, "appendString:", CFSTR(" ["));
                  v20 = -16LL;
                  do
                    objc_msgSend(v5, "appendFormat:", CFSTR("%02X"), v23[v20++]);
                  while ( v20 );
                  objc_msgSend(v5, "appendString:", CFSTR("]"));
                  v6 = a2;
                }
              }
              v7 = a1;
            }
          }
        }
      }
    }
  }
  qword_1000575F0(v7, v6, v5, v4);
  return __stack_chk_guard;
}

posted @ 2019-05-18 08:18  heycomputer  阅读(214)  评论(0)    收藏  举报