• 大小: 22.55MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-01
  • 语言: 其他
  • 标签: EurekaLog  delphi  Tokyo  

资源简介

EurekaLog 7.5.1.0 for delphi 10.2 Tokyo,EurekaLog支持 Tokyo,Xe 10.2。

资源截图

代码片段和文件信息

// This file is based on FastMM‘s support unit for C++ Builder.

#pragma option push
#pragma option -k- -d -vi- -O2 -b- -3 -a8 -pc -RT- -x -xd -r -AT -vG- -vG0- -vG1- -vG2- -vG3- -vGc- -vGt- -vGd-

#pragma hdrstop
#include “EMemLeaks.hpp“
#include “EResLeaks.hpp“

// BCB6 support
#include 

#ifdef __cplusplus
extern “C“ {
#endif // __cplusplus

typedef void * (__fastcall * GetMemFunc)(int Size);
typedef int    (__fastcall * FreeMemFunc)(void * P);
typedef void * (__fastcall * ReallocMemFunc)(void * P int Size);
typedef void * (__fastcall * AllocMemFunc)(unsigned Size);

typedef void   (_RTLENTRY *HeapRedirect_free)      (void *);
typedef void * (_RTLENTRY *HeapRedirect_malloc)    (size_t);
typedef void * (_RTLENTRY *HeapRedirect_realloc)   (void * size_t);
typedef void   (_RTLENTRY *HeapRedirect_terminate) (void);

//_________________________________________________________________________________

// Patch routines

#pragma pack(push1)
typedef struct {
  unsigned char JmpInst; // E9
  int Offset;
} TRelativeJmp32 * PRelativeJmp32;

typedef struct {
  unsigned short JmpInst; // FF 25
  void * * DestPtr;
} TIndirectJmp32 * PIndirectJmp32;
#pragma pack(pop)

bool __fastcall WriteMem(void * Location void * Data unsigned int DataSize)
{
  unsigned long OldProtect;
  
  if (VirtualProtect(Location DataSize PAGE_EXECUTE_READWRITE &OldProtect))
  {
    memmove(Location Data DataSize);

    FlushInstructionCache(GetCurrentProcess() Location sizeof(DataSize));
    VirtualProtect(Location DataSize OldProtect &OldProtect);

    return true;
  }
  else {
    return false;
  }
}

#define RelativeJmp32Inst  (0xE9)

bool __fastcall PatchProc(void * OldProc void * NewProc TRelativeJmp32 * Backup)
{
  if (OldProc && NewProc)
  {
    TRelativeJmp32 JmpData;

    JmpData.JmpInst = RelativeJmp32Inst;
    JmpData.Offset = (int)NewProc - ((int)OldProc + sizeof(JmpData));

    if (Backup)
    {
      *Backup = *((PRelativeJmp32)OldProc);
    }

    return WriteMem(OldProc &JmpData sizeof(JmpData));
  }
  else {
    return false;
  }
};

bool __fastcall UnPatchProc(void * OldProc void * NewProc TRelativeJmp32 * Backup)
{
  if (OldProc && NewProc && Backup)
  {
    int Offset = (int)NewProc - ((int)OldProc + sizeof(TRelativeJmp32));
    if ((((PRelativeJmp32)OldProc)->JmpInst == RelativeJmp32Inst)
      && (((PRelativeJmp32)OldProc)->Offset == Offset))
    {
      return WriteMem(OldProc &Backup sizeof(*Backup));
    }
  }

  return false;
};

#ifndef _RTLDLL //Not using Dynamic RTL
extern void _terminate(int code);
#endif // _RTLDLL

void __fastcall FinalizeModuleCodeDataRanges(void);
void __fastcall FinalizeHeapRedirectorStoreList(void);

void New_terminate(int code)
{
  FinalizeMemoryManager();

  GetCppVirtObjTypeNameFunc = NULL;

  FinalizeModuleCodeDataRanges();

  ExitProcess(code);              
}

void * PatchLocat

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      10564  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\Dialog.res

     文件     370253  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\EAbout.dfm

     文件      10781  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\EExceptionFilterEditor.dfm

     文件       9777  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\EIDEOptions.dfm

     文件        326  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\ELCursor.cur

     文件      57501  2016-11-24 19:27  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\ELDefines.inc

     文件      32695  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\EMemLeaksBCB.cpp

     文件     180195  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\ENagScreen.dfm

     文件     284969  2016-09-19 02:58  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\EOption.dfm

     文件       3684  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\EurekaComponent.res

     文件      39888  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\EurekaLog.res

     文件       5469  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\EVariables.dfm

     文件       1971  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\EWait.dfm

     文件      26694  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\favicon.ico

     文件       1721  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\Manifest.manifest

     文件         52  2016-11-24 18:26  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\Manifest.rc

     文件      28768  2016-11-24 18:26  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\Manifest.res

     文件       1728  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\ManifestMax.manifest

     文件         55  2016-11-24 18:26  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\ManifestMax.rc

     文件      28772  2016-11-24 18:26  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\ManifestMax.res

     文件      10564  2016-09-05 22:43  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Common\UnicodeDialog.res

     文件       1829  2016-09-05 21:47  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Obj\Win32\adler32.obj

     文件        635  2016-09-05 21:47  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Obj\Win32\compress.obj

     文件      11644  2016-09-05 21:47  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Obj\Win32\crc32.obj

     文件      10933  2016-09-05 21:47  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Obj\Win32\deflate.obj

     文件       7523  2016-09-05 21:47  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Obj\Win32\infback.obj

     文件       2281  2016-09-05 21:47  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Obj\Win32\inffast.obj

     文件      12102  2016-09-05 21:47  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Obj\Win32\inflate.obj

     文件       2482  2016-09-05 21:47  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Obj\Win32\inftrees.obj

     文件      11895  2016-09-05 21:47  EurekaLog 7.5.1.0 for RAD Studio 10.2 Tokyo Unofficial\Lib\Obj\Win32\trees.obj

............此处省略723个文件信息

评论

共有 条评论