VB拦截Windows Explorer删除进程,内含API HOOK,源代码:倒霉蛋儿,程序有时候也会窗口勾挂失败!   勾住了SHFileOperation等函数,DLL用Delphi写的C会的太少,查了半天才知道原来explorer是用SHFileOperation删除文件,经过测试很稳定,没有出现崩溃的情况,由于只勾住了SHFileOperation函数,所以别的程序要是调用DeleteFile删除文件,拦截不到,要是想拦截DeleteFile自己接着写吧。      mod_Inject.bas类的注释摘录:   Dim MyAddr As Long ‘执行远程线程代码的起始地址。这里等于LoadLibraryA的地址   ‘dll文件路径   MyDllFileLength = LenB(StrConv(MyDllFileName, vbFromUnicode)) + 1    ‘这里把dll文件名从Unicode转换成Ansi,否则英文字母是2个字节。 _   顺便说一下,学过C的应该知道字符串要以/0标志结尾,所以dll文件名长度要加上1个字节存放Chr(0)   ‘得到进程的句柄   在目标进程中申请分配一块空白内存区域。内存的起始地址保存在MyDllFileBuffer中。 _   这块内存区域我们用来存放dll文件路径,并作为参数传递给LoadLibraryA。   在分配出来的内存区域中写入dll路径径。注意第二个参数传递的是MyDllFileBuffer的内容, _   而不是MyDllFileBuffer的内存地址?   If MyReturn = 0 Then Inject = False   MyAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")   ‘得到LoadLibraryA函数的起始地址。他的参数就是我们刚才写入的dll路径。但是LoadLibraryA本身是不知道参数在哪里的。 _   接下来我们就用CreateRemoteThread函数告诉他参数放在哪里了? If MyAddr = 0 Then Inject = False   MyResult = CreateRemoteThread(ProcessHandle, 0, 0, MyAddr, MyDllFileBuffer, 0, 0)   好了,现在用CreateRemoteThread在目标进程创建一个线程,线程起始地址指向LoadLibraryA, _   参数就是MyDllFileBuffer中保存的dll路径?    If MyResult = 0 Then    Inject = False    Else    Inject = True    End If    ‘接下来你可以使用WaitForSingleObject等待线程执行完毕。 _    并用GetExitCodeThread得到线程的退出代码,用来判断时候正确执行了dll中的代码。    CloseHandle MyResult    CloseHandle ProcessHandle    ‘扫地工作   End Function
2025-10-30 11:49:42 348KB VB源码 文件操作 删除进程
1
利用hook编程来屏蔽鼠标和键盘消息,提供需要调用的接口和接口参数说明;
2025-10-25 22:28:47 3KB Hook
1
在IT领域,Hook技术是一种广泛使用的调试和监控手段,它允许开发者拦截并处理特定函数的调用,以便在原函数执行前后插入自定义代码。在本案例中,“Hook WININET.dll”指的是通过Hook技术来捕获和控制WebBrowser控件对WININET.dll库的调用。WININET.dll是Windows内置的Internet网络库,主要用于处理HTTP、FTP等协议的网络请求,它是Windows系统中用于浏览器和其他应用程序进行网络通信的核心组件。 WebBrowser控件是Microsoft ActiveX技术的一部分,常被嵌入到应用程序中,提供网页浏览功能。当WebBrowser控件访问115网盘或其他在线存储服务时,它会通过调用WININET.dll中的相关API来实现文件的上传、下载和列表获取等功能。 Hooking WININET.dll的主要目的是为了能够监控或修改WebBrowser控件与115网盘交互的过程。这可能包括以下几个方面: 1. 数据嗅探:通过Hook网络请求函数,如InternetConnectA、HttpOpenRequestA等,可以获取到请求的URL、方法(GET或POST)、头部信息等,从而了解115网盘的接口调用细节。 2. 日志记录:记录每次网络请求的详细信息,用于分析程序行为或者调试问题。 3. 功能增强:在原始函数执行前后添加代码,可以扩展WebBrowser控件的功能,比如添加缓存管理、自动登录、下载加速等。 4. 安全检测:检测可能的恶意网络活动,例如检测是否尝试访问非法或危险的URL。 在提供的文件列表中,"hook_my.cpp"和"hook_my.h"很可能是实现Hook逻辑的源代码文件。cpp文件通常包含实际的函数实现,而h文件则包含了相关的函数声明和可能的结构定义。开发者可能会在这些文件中定义一个钩子函数(Hook Function),这个函数会在原始函数被调用前或后执行,根据需要修改参数、返回值或直接替换原函数的行为。 具体实现Hook技术,通常可以采用以下几种方法: 1. API Hook:使用SetWindowsHookEx函数设置全局或线程级别的钩子,拦截API调用。 2. Detouring:通过修改函数跳转指令,将函数调用重定向到钩子函数。 3. Proxy/Stub:创建一个代理函数,让原始函数调用先通过代理,再转发到实际函数。 "Hook WININET.dll"是通过Hook技术监控并控制WebBrowser控件对网络请求的处理,以实现特定的需求,如获取115网盘的文件列表,或对网络通信过程进行各种定制和优化。这种技术在开发插件、分析网络行为、提升应用功能等方面都有广泛的应用。
2025-10-24 21:06:01 5KB hook WININET.dll
1
PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包 PC-hook云函数抓包
2025-10-14 12:33:17 11.8MB 游戏引擎 devops 测试工具
1
易语言HOOK注册表源码,HOOK注册表,GetMsgProc,new_RegSetValueEx,HOOKAPI,ReadApi,api_CallNextHookEx,取程序或DLL句柄,取DLL函数地址,返回虚拟信息,修改虚拟保护,写内存字节,取当前进程伪句柄,api_RegSetValueEx,RegSetValueEx
1
易语言HOOK拦截窗口源码,HOOK拦截窗口,MyCreateWindowEx,安装APIHOOK,取原始数据地址,卸载APIHOOK,VirtualProtect,GetProcAddress,GetModuleHandleA,LoadLibraryA,FreeLibrary,取字节集变量数据地址,CallWindowProcA,lstrcpynA_str
1
易语言HOOK跳转函数源码,HOOK跳转函数,MakeJmp,安装HOOK,卸载HOOK,MySleep,API_GetProcAddress,API_GetModuleHandle,API_CopyMemory,API_VirtualProtect,API_Sleep,API_MessageBox
1
易语言Hook演示源码,Hook演示,Hook,GetOldAddress,GetHookAsmLen,卸载,Call,CALL_,Kernel32,GetApiAddress,GetProcOffset,GetTextAddress,GetByteAddress,GetDwordAddress,Strlen,Bytelen,CopyMemory,ZeroMemory,GetAddressData,查看字节集,取路径文件名,GetD
2025-10-07 11:06:00 15KB 易语言Hook演示源码 Hook演示 Hook
1
在编程领域,尤其是在Windows系统开发中,键盘记录是一种常见的需求,通常用于测试、数据分析或安全监控等目的。本文将深入探讨如何使用VC++不依赖hook技术来实现键盘记录功能,尤其是处理中文输入。 我们要了解传统的键盘记录方法通常会使用API钩子(API Hook),如SetWindowsHookEx函数,来拦截键盘事件。然而,这种方法可能会受到反病毒软件的阻拦,因为hook往往被视为潜在的恶意行为。因此,不使用hook的方式可以避免这些不必要的麻烦。 在VC++中,我们可以利用Win32 API的GetAsyncKeyState函数来检查键盘状态。此函数可以实时获取键盘上每个按键的状态,包括是否被按下。通过在一个循环中不断调用GetAsyncKeyState,并检查特定的按键,我们就能实现键盘记录器的基础功能。 对于中文输入的处理,Windows操作系统提供了Unicode支持,使得处理中文字符成为可能。在VC++中,我们可以使用宽字符(wchar_t)和宽字符串(wstring)来处理中文字符。当检测到键盘事件时,我们需要获取相应的Unicode码点,这可以通过GetKeyboardState和ToUnicode函数实现。GetKeyboardState获取当前键盘状态,而ToUnicode则根据键盘状态和虚拟键码(VK_常量)转换为Unicode字符。 以下是一个简单的实现思路: 1. 创建一个后台线程,负责不断检查键盘状态。 2. 在线程中,调用GetAsyncKeyState检查每个按键,尤其是VK_KEY_DOWN表示按键被按下。 3. 当检测到按键按下,调用GetKeyboardState获取键盘状态,然后结合虚拟键码调用ToUnicode得到Unicode码点。 4. 将码点转换为对应的中文字符,可以使用wcscat_s或者wstring的append方法添加到记录的文本文件中。 5. 定期保存结果到key.txt文件,确保数据不会丢失。 在提供的文件列表中,Cpp1.cpp应该是实现这个功能的主要源代码文件,而Cpp1.dsp和Cpp1.dsw是Visual Studio项目文件,用于管理工程和构建设置。Cpp1.ncb、Cpp1.opt和Cpp1.plg则是Visual Studio的旧版工作区文件,保存了编辑器的状态和编译选项。key.txt则是存储记录的键盘输入的文本文件。 在实际开发过程中,我们还需要考虑一些额外的因素,比如线程同步、内存管理和错误处理。同时,为了防止程序意外退出导致数据丢失,可以在内存中暂存一部分输入,定期批量写入文件。此外,考虑到效率和用户体验,应当合理设置检查键盘状态的频率,以免对系统性能造成过大影响。 通过VC++不使用hook技术实现键盘记录,主要依赖于GetAsyncKeyState和Unicode字符处理,可以有效捕获包括中文在内的键盘输入,并将结果存储在key.txt文件中。这种实现方式更不易被检测,且避免了传统hook可能带来的问题。
2025-10-03 23:29:16 7KB hook 键盘记录 VC++
1
安卓 hook用的
2025-09-21 02:05:22 69KB android Xposed hook
1