我们如何劫持 DLL 来锁定 windows 中的所有目录以验证

how can we Hijack DLL to lock all directories in windows to verify

我的意思是当我们双击一个目录时,在请求我们verify.I认为它可以通过dll-injection.Hope可以给一些想法或tutorial.Thanks

不需要劫持DLL。它使用 Window 消息挂钩。 首先,创建调用 SetWindowsHookEx.

的 DLL
hHookMsg = SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC)MsgProc, hInstance, 0); 

例如调用了install_hook,而这里的MsgProc

LRESULT CALLBACK MsgProc(INT nCode, WPARAM wp, LPARAM lp) {
  CHAR className[256];
  MSG *pmsg;
  LVHITTESTINFO htif;
  POINT pt;

  pmsg = (MSG*)lp;
  GetClassName(pmsg->hwnd, className, sizeof(className));
  if (!strcmp(className, "SysListView32")) {
    if (pmsg->message == WM_LBUTTONDBLCLK) {
      GetCursorPos((LPPOINT)&pt);
      htif.pt = pt;
      ScreenToClient(pmsg->hwnd, &htif.pt);
      SendMessage(pmsg->hwnd, LVM_HITTEST, 0, (LPARAM)&htif);
      if ((htif.flags & LVHT_ONITEM) != 0) {
          // you can write action here
      }
    }
  }
  return CallNextHookEx( hHookMesg, nCode, wp, lp );
}

并创建调用此 install_hook 的 EXE。