我们如何劫持DLL以锁定Windows中的所有目录以进行验证

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

本文关键字:验证 锁定 何劫持 劫持 我们 DLL Windows      更新时间:2023-10-16

我的意思是当我们双击一个目录时,in要求我们验证。我认为可以通过dll注射来完成。希望可以给出一些想法或教程。谢谢

Hijack DLL 不是必需的。它使用窗口消息挂钩。 首先,创建调用 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。