الفريق العربي للهندسة العكسية

نسخة كاملة : ممكن شرح الكود
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
 
/* This file was generated by the Hex-Rays decompiler.
   Copyright (c) 2007-2020 Hex-Rays <[email protected]>

   Detected compiler: Visual C++
*/

#include <windows.h>
#include <defs.h>


//-------------------------------------------------------------------------
// Function declarations

// void __usercall Init(int a1@<eax>, char a2@<dh>);
BOOL __stdcall DllEntryPoint(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved);


//----- (10001000) --------------------------------------------------------
void __usercall Init(int a1@<eax>, char a2@<dh>)
{
  __outbyte(0x38u, a1);
  *(_BYTE *)(a1 - 328774110) = a2;
  __asm { iret }
}
// 1000100E: control flows out of bounds to 1000100F

//----- (10991E4C) --------------------------------------------------------
BOOL __stdcall DllEntryPoint(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved)
{
  int v4; // edi
  int v5; // esi
  char *v7; // eax
  int v8; // ecx

  if ( (_BYTE)fdwReason == 1 )
  {
    v7 = (char *)DllEntryPoint + 99;
    v8 = 1454;
    do
    {
      *v7++ ^= 0xA3u;
      --v8;
    }
    while ( v8 );
    *(_BYTE *)(v5 + 40) = *(_BYTE *)(v5 + 40);
    LOBYTE(_EBX) = _EBX - *(_BYTE *)(v4 + 581149603);
    __asm { bound   ebx, [ebx-5Dh] }
    MEMORY[0x1B6EA0A3] = v7;
    *(_DWORD *)v4 = *(_DWORD *)v5;
    MEMORY[0x8B19A3A3] = v7;
    MEMORY[0x4154A3A3] = v7;
    LOBYTE(v7) = MEMORY[0xAF22286B];
    MEMORY[0x66A0A3A3] = v7;
    __asm { rep retf }
  }
  return 1;
}
// 10991ED9: control flows out of bounds to 10991EDC
// 10991EB3: variable 'v5' is possibly undefined
// 10991EB6: variable '_EBX' is possibly undefined
// 10991EB6: variable 'v4' is possibly undefined

// nfuncs=2 queued=2 decompiled=2 lumina nreq=0 worse=0 better=0
// ALL OK, 2 function(s) have been successfully decompiled
يبدو أن جزء من الدالة تم تشفيره بعملية xor مع A3، من البايت رقم 99 إلى 1553. يقوم الجزء الأول (من البداية إلى عند while) بفك التشفير. تحتاج إلى عمل decompile بعد أن يتم فك التشفير لتحصل على بقية الكود الصحيحة.
اشكرا على الجابه ممكن تزودني بـ معلومات اكثر