首页
社区
课程
招聘
[原创]第一个爆破近在咫尺,已得关键函数并反汇编,高手进来看代码!
发表于: 2016-1-14 19:36 5178

[原创]第一个爆破近在咫尺,已得关键函数并反汇编,高手进来看代码!

2016-1-14 19:36
5178
int __fastcall wrap_OEChemIsLicensed(__int64 a1, __int64 a2)
{
  int v2; // eax@2
  __int64 v3; // r8@2
  unsigned int *v4; // rdx@4
  int result; // eax@5
  __int64 v6; // r12@11
  int v7; // eax@13
  OEChem *v8; // rbx@14
  unsigned int *v9; // rdx@14
  const char *v10; // rsi@15
  OEChem *v11; // rdi@16
  unsigned __int8 v12; // al@17
  int v13; // ST08_4@19
  __int64 v14; // rbx@22
  unsigned __int8 v15; // al@25
  int v16; // edi@29
  __int64 v17; // rax@31
  __int64 v18; // [sp+10h] [bp-78h]@7
  __int64 v19; // [sp+18h] [bp-70h]@11
  char v20; // [sp+30h] [bp-58h]@22
  unsigned int v21; // [sp+34h] [bp-54h]@22
  char **v22; // [sp+40h] [bp-48h]@36
  __int64 v23; // [sp+48h] [bp-40h]@12
  __int64 v24; // [sp+50h] [bp-38h]@12
  OEChem *v25; // [sp+58h] [bp-30h]@12
  char *v26; // [sp+60h] [bp-28h]@12
  int v27; // [sp+68h] [bp-20h]@11

  if ( !(*(_BYTE *)(*(_QWORD *)(a2 + 8) + 171LL) & 4) )
    goto LABEL_22;
  v2 = PyObject_Size(a2);
  if ( v2 > 0 )
  {
    v18 = *(_QWORD *)(a2 + 24);
    if ( v2 > 1 )
      v19 = *(_QWORD *)(a2 + 32);
  }
  else if ( !v2 )
  {
    if ( PyArg_UnpackTuple(a2, "OEChemIsLicensed", 0LL, 0LL, v3) )
    {
      v15 = OEChem::OEChemIsLicensed(0LL, 0LL, v4);
      return PyBool_FromLong(v15);
    }
    return 0;
  }
  if ( v2 != 1 )
  {
    if ( v2 == 2 && SWIG_AsCharPtrAndSize(v18, 0LL, 0LL, 0LL) >= 0 )
    {
      v6 = v19;
      if ( SWIG_Python_ConvertPtrAndOwn(v19, &v27, qword_8E7E58, 0LL, 0LL) == -1
        && SWIG_Python_ConvertPtrAndOwn(v6, &v27, qword_8E6D98, 0LL, 0LL) == -1 )
      {
        PyErr_Clear();
        goto LABEL_22;
      }
      v26 = 0LL;
      v25 = 0LL;
      v27 = 0;
      v24 = 0LL;
      v23 = 0LL;
      if ( !PyArg_UnpackTuple(a2, "OEChemIsLicensed", 2LL, 2LL, &v24) )
        goto LABEL_32;
      v7 = SWIG_AsCharPtrAndSize(v24, &v25, 0LL, &v27);
      if ( v7 >= 0 )
      {
        v8 = v25;
        if ( SWIG_Python_ConvertPtrAndOwn(v23, &v26, qword_8E7E58, 0LL, 0LL) == -1 )
        {
          if ( SWIG_Python_ConvertPtrAndOwn(v23, &v22, qword_8E6D98, 0LL, 0LL) == -1 )
          {
            PyErr_SetString(PyExc_ValueError, "Expecting an OEUIntArray or unsigned int*");
            return 0;
          }
          v10 = *v22;
          v26 = *v22;
        }
        else
        {
          v10 = v26;
        }
        v11 = v8;
        goto LABEL_17;
      }
      goto LABEL_29;
    }
LABEL_22:
    v20 = 1;
    v14 = PyExc_NotImplementedError;
    v21 = PyGILState_Ensure();
    PyErr_SetString(
      v14,
      "Wrong number or type of arguments for overloaded function 'OEChemIsLicensed'.\n  Possible C/C++ prototypes are:\n    OEChem::OEChemIsLicensed(char const *,unsigned int *)\n    OEChem::OEChemIsLicensed(char const *)\n    OEChem::OEChemIsLicensed()\n");
    if ( v20 )
      PyGILState_Release(v21);
    return 0;
  }
  if ( SWIG_AsCharPtrAndSize(v18, 0LL, 0LL, 0LL) < 0 )
    goto LABEL_22;
  v25 = 0LL;
  v27 = 0;
  v26 = 0LL;
  if ( PyArg_UnpackTuple(a2, "OEChemIsLicensed", 1LL, 1LL, &v26) )
  {
    v7 = SWIG_AsCharPtrAndSize(v26, &v25, 0LL, &v27);
    if ( v7 >= 0 )
    {
      v10 = 0LL;
      v11 = v25;
LABEL_17:
      v12 = OEChem::OEChemIsLicensed(v11, v10, v9);
      result = PyBool_FromLong(v12);
      if ( v27 == 512 )
      {
        if ( v25 )
        {
          v13 = result;
          operator delete[]((void *)v25);
          result = v13;
        }
      }
      return result;
    }
LABEL_29:
    v16 = -5;
    if ( v7 != -1 )
      v16 = v7;
    v17 = SWIG_Python_ErrorType(v16);
    SWIG_Python_SetErrorMsg(v17, "in method 'OEChemIsLicensed', argument 1 of type 'char const *'");
  }
LABEL_32:
  if ( v27 != 512 || !v25 )
    return 0;
  operator delete[]((void *)v25);
  return 0;
}

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 274
活跃值: (388)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
.text:00000000003AF4F0                 push    r12
.text:00000000003AF4F2                 push    rbp
.text:00000000003AF4F3                 push    rbx
.text:00000000003AF4F4                 mov     rbx, rsi
.text:00000000003AF4F7                 sub     rsp, 70h
.text:00000000003AF4FB                 mov     rax, [rsi+8]
.text:00000000003AF4FF                 test    byte ptr [rax+0ABh], 4
.text:00000000003AF506                 jz      loc_3AF6C0
.text:00000000003AF50C                 mov     rdi, rsi
.text:00000000003AF50F                 call    _PyObject_Size
.text:00000000003AF514                 test    eax, eax
.text:00000000003AF516                 jg      short loc_3AF548
.text:00000000003AF518                 test    eax, eax
.text:00000000003AF51A                 jnz     short loc_3AF55D
.text:00000000003AF51C                 lea     rsi, aOechemislicens ; "OEChemIsLicensed"
.text:00000000003AF523                 xor     ecx, ecx
.text:00000000003AF525                 xor     edx, edx
.text:00000000003AF527                 mov     rdi, rbx
.text:00000000003AF52A                 call    _PyArg_UnpackTuple
.text:00000000003AF52F                 test    eax, eax
.text:00000000003AF531                 jnz     loc_3AF710
.text:00000000003AF537
.text:00000000003AF537 loc_3AF537:                             ; CODE XREF: _wrap_OEChemIsLicensed+1FCj
.text:00000000003AF537                                         ; _wrap_OEChemIsLicensed+20Bj ...
.text:00000000003AF537                 xor     eax, eax
.text:00000000003AF539
.text:00000000003AF539 loc_3AF539:                             ; CODE XREF: _wrap_OEChemIsLicensed+17Cj
.text:00000000003AF539                                         ; _wrap_OEChemIsLicensed+18Aj ...
.text:00000000003AF539                 add     rsp, 70h
.text:00000000003AF53D                 pop     rbx
.text:00000000003AF53E                 pop     rbp
.text:00000000003AF53F                 pop     r12
.text:00000000003AF541                 retn
.text:00000000003AF541 ; ---------------------------------------------------------------------------
.text:00000000003AF542                 align 8
.text:00000000003AF548
.text:00000000003AF548 loc_3AF548:                             ; CODE XREF: _wrap_OEChemIsLicensed+26j
.text:00000000003AF548                 mov     rcx, [rbx+18h]
.text:00000000003AF54C                 lea     rdx, [rsp+88h+var_78]
.text:00000000003AF551                 cmp     eax, 1
.text:00000000003AF554                 mov     [rdx], rcx
.text:00000000003AF557                 jg      loc_3AF700
.text:00000000003AF55D
.text:00000000003AF55D loc_3AF55D:                             ; CODE XREF: _wrap_OEChemIsLicensed+2Aj
.text:00000000003AF55D                                         ; _wrap_OEChemIsLicensed+218j
2016-1-14 19:40
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
真乃牛人也,会F5,还会IDA!
2016-1-14 20:51
0
雪    币: 269
活跃值: (906)
能力值: ( LV12,RANK:345 )
在线值:
发帖
回帖
粉丝
4
直接进来强跳到v25=0LL
2016-1-14 21:25
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
按下F5就是反汇编啦
2016-1-15 13:57
0
雪    币: 274
活跃值: (388)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
可以说详细点吗?
2016-1-17 19:02
0
游客
登录 | 注册 方可回帖
返回
//