⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ctestpar.cpp

📁 Cracker终结者——提供最优秀的软件保护技术
💻 CPP
字号:
#define WIN32_LEAN_AND_MEAN

//#define UNICODE
#ifdef UNICODE
#define _UNICODE
#endif
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <tchar.h>

//#define AH_STATIC_LINKING
#include <ApiHooks.h>
//#define PW_STATIC_LINKING
#include <PrcWorks.h>

#define dexp extern "C" __declspec(dllexport)

dexp DWORD __fastcall FAdd0(VOID) {
  _tprintf(_T("%u\n"), 0);
  return(0);
}
dexp DWORD __fastcall FAdd1(DWORD P1) {
  _tprintf(_T("%u\n"), P1);
  return(P1);
}
dexp DWORD __fastcall FAdd2(DWORD P1, DWORD P2) {
  _tprintf(_T("%u %u\n"), P1, P2);
  return(P1+P2);
}
dexp DWORD __fastcall FAdd3(DWORD P1, DWORD P2, DWORD P3) {
  _tprintf(_T("%u %u %u\n"), P1, P2, P3);
  return(P1+P2+P3);
}
dexp DWORD __fastcall FAdd4(DWORD P1, DWORD P2, DWORD P3, DWORD P4) {
  _tprintf(_T("%u %u %u %u\n"), P1, P2, P3, P4);
  return(P1+P2+P3+P4);
}
dexp DWORD __fastcall FAdd5(DWORD P1, DWORD P2, DWORD P3, DWORD P4, DWORD P5) {
  _tprintf(_T("%u %u %u %u %u\n"), P1, P2, P3, P4, P5);
  return(P1+P2+P3+P4+P5);
}
dexp DWORD __fastcall FAdd6(DWORD P1, DWORD P2, DWORD P3, DWORD P4, DWORD P5, DWORD P6) {
  _tprintf(_T("%u %u %u %u %u %u\n"), P1, P2, P3, P4, P5, P6);
  return(P1+P2+P3+P4+P5+P6);
}
dexp DWORD __stdcall SAdd6(DWORD P1, DWORD P2, DWORD P3, DWORD P4, DWORD P5, DWORD P6) {
  _tprintf(_T("%u %u %u %u %u %u\n"), P1, P2, P3, P4, P5, P6);
  return(P1+P2+P3+P4+P5+P6);
}
dexp DWORD __cdecl CAdd6(DWORD P1, DWORD P2, DWORD P3, DWORD P4, DWORD P5, DWORD P6) {
  _tprintf(_T("%u %u %u %u %u %u\n"), P1, P2, P3, P4, P5, P6);
  return(P1+P2+P3+P4+P5+P6);
}


VOID _tmain(int argc, TCHAR** argv) {

  FAdd0();
  FAdd1(1);
  FAdd2(1,2);
  FAdd3(1,2,3);
  FAdd4(1,2,3,4);
  FAdd5(1,2,3,4,5);
  FAdd6(1,2,3,4,5,6);
  SAdd6(1,2,3,4,5,6);
  CAdd6(1,2,3,4,5,6);

      DWORD ParArray[6] = {1,2,3,4,5,6};
      #define DLLName _T("CTestPar.exe")
      DWORD PID = GetCurrentProcessId();
      DWORD
//      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0,  (LPTSTR)1, 0 | LAC_FASTCALL, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("FAdd0"), 0 | LAC_FASTCALL, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("FAdd1"), 1 | LAC_FASTCALL, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("FAdd2"), 2 | LAC_FASTCALL, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("FAdd3"), 3 | LAC_FASTCALL, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("FAdd4"), 4 | LAC_FASTCALL, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("FAdd5"), 5 | LAC_FASTCALL, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("FAdd6"), 6 | LAC_FASTCALL, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("SAdd6"), 6, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("CAdd6"), 6, ParArray);

      PID = ProcessName2PID(_T("DTestPar.exe"));
      #undef DLLName
      #define DLLName _T("DTestPar.exe")
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("DAdd0"), 0 | LAC_DELPHI, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("DAdd1"), 1 | LAC_DELPHI, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("DAdd2"), 2 | LAC_DELPHI, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("DAdd3"), 3 | LAC_DELPHI, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("DAdd4"), 4 | LAC_DELPHI, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("DAdd5"), 5 | LAC_DELPHI, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("DAdd6"), 6 | LAC_DELPHI, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("PAdd6"), 6 | LAC_PASCAL, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("SAdd6"), 6, ParArray);
      CLAddress = LoadAndCall(NULL, DLLName, PID, INFINITE, 0, _T("CAdd6"), 6, ParArray);

  getch();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -