Articles of 钩

如何减慢过程的所有时间测量?

我想让应用程序相信时间比实时更快/更慢。 也就是说,当t0+dt是实时的时候,我需要一直使用用户定义的s来使测量API返回t0+dt*s 。 这会影响gettimeofday()和timer_gettime()以及所有相关的函数和机制(包括定时器的实际触发时间)。 我想把挂钩放在某个地方,这会改变应用程序的可见时间。 在Linux系统中,放置这样一个钩子的最佳位置是什么,以便我不必创build太多钩子? 这有什么中央的地方吗?

linux的netfilter将包内容传递给用户空间套接字应用程序

我想编写一个Linux 2.6 netfilter module ,它可以检查input的IP数据包信息,如dest-ip,source-ip。 之后,这些信息传递给user space应用程序(即Socket应用程序)将尽快处理这些信息包到达HOOKs。 我想尝试两种方法: 1。 在netfilter模块内部,build立一个fifo结构行,每当数据包到达hook ,把数据包信息放到fifo。 并在/proc/example文件系统的帮助下。 每次用户空间应用程序读取/proc/example文件,都会从fifo头获取一个包信息。 我是kernel程序的新手,这个程序多次崩溃我的内核。 -_-! 我想知道这是可能的吗? 2。 在netfilter模块里面,做一个char设备,用户空间app从这个char设备读取包的信息。 但是我仍然不知道如何确保尽快得到数据包,有没有办法当数据包到达netfilter钩子时,内核会发送一些信号给info用户空间的应用程序,然后用户空间的应用程序来select信息包的信息? 非常感谢你。

有没有办法知道在Linux中传递给__free_hook的指针的大小?

我想跟踪一个大型应用程序当前分配了多less内存。 我发现我可以在malloc / free / realloc周围安装钩子以拦截内存分配调用: http://man7.org/linux/man-pages/man3/malloc_hook.3.html 所以我想跟踪的是总字节数分配 – 总字节数释放。 现在问题是免费只需要一个指针,而不是一个大小。 在我的malloc挂钩中可以创build自己的映射或hashmap,跟踪为该指针分配了多less内存,但这会导致相当多的开销。 有没有什么办法(即使这是一个黑客)获得Linux(64位)的大小的空闲时,免费调用(使用默认的g ++ malloc)?

使用Qt 4.6从键盘上挂钩键和组合键

比方说,我有一个无窗口的应用程序,只有在任务栏上的图标(Windows,Mac OS X和Linux)。 我想要它捕捉一些键和组合,让我们说右权控制+右移。 一旦键入正确,组合,它会做一些事情,说截图。 我可以做无窗口的应用程序,任务栏上的图标和屏幕捕获,但我不知道如何监视全局键组合键盘。 请提供build议。 任何帮助或提示,非常感谢! 提前致谢!

Socket Hooking /拦截/注入(Windows)

我认为这个标题足以理解我所需要的东西。 我想得到的是将一个数据包注入到另一个软件套接字中的一段代码。 我对此的研究转向了一些方法来完成这一点 我find了关于LibPCap的一些信息,但是我不知道这是否能够注入数据包。 我知道它捕获数据包。 另一种方法是使用钩子API(注入一些DLL的)…但我不明白这一点,所以我没有设法使用它。 端口转发是另一种方式 这一切都没有成功,因为我没有把注意力集中在这一个。 我想知道女巫是最容易实现的方法,我很乐意听到你的想法。 在发布之前:我只能用这个东西来检查我的项目。 我不会使用这个来伤害或黑客。

在Windows中集成我的程序来取代特定操作的thr缺省处理程序

我想把我的程序整合到windows中,例如,当用户按下ctrl + shift或者ctrl + v或者任何其他组合键时,我的程序应该运行。 我见过像TeraCopy这样的软件,它们在按下Ctrl-V时启动,它们处理复制操作,而不是Windows资源pipe理器(默认处理程序)。 我知道这可以使用Windows SDK来完成,但我不确定使用哪个API或从哪里开始。 任何人都可以提供链接/参考/代码提供帮助?

Windows钩子只被调用一次

下午好。 我正在写一个全局鼠标钩子。 一切似乎工作得很好,除了只为第一个鼠标事件调用挂钩。 一些代码: // Dll defined function extern "C" Q_DECL_EXPORT LRESULT MouseProc(int code, WPARAM wParam, LPARAM lParam) { qDebug() << "MouseProc"; return TRUE; } // Application code … hLib = LoadLibrary(TEXT("ServerHook.dll")); HOOKPROC hookAddr = (HOOKPROC)GetProcAddress(hLib, "MouseProc"); if (!hookAddr) { qDebug() << "Invalid hook proc " << GetLastError(); } if ((WinInputHook::hookHandle = SetWindowsHookEx( WH_MOUSE, hookAddr, […]

做API挂钩影响所有进程?

说一个挂钩给定的DLL函数。 是否所有使用受钩子影响的特定DLL的特定function的进程? 例如,如果有人从user32.dll挂钩MessageBoxA ,那么不是popup一个MessageBox,而是将甲壳虫的黄色潜艇作为系统声音播放。 所有调用MessageBoxA进程都会经历这个奇怪的行为吗? – 约·席尔瓦

python windows鼠标勾子崩溃

我在Python中设置一个鼠标钩子: def listen(): global hook_id def low_level_handler(aCode, wParam, lParam): if aCode != win32con.HC_ACTION: return ctypes.windll.user32.CallNextHookEx(hook_id, aCode, wParam, lParam) return ctypes.windll.user32.CallNextHookEx(hook_id, aCode, wParam, lParam) # Our low level handler signature. CMPFUNC = ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_int, ctypes.c_int, ctypes.POINTER(ctypes.c_void_p)) # Convert the Python handler into C pointer. pointer = CMPFUNC(low_level_handler) # Hook both key up and key down events […]

ALT KEY的虚拟键码

根据MSDN,我正在制作钩子和捕捉键盘虚拟键码, 这些是存在的关键码。 每个关键代码都能正常工作,因为我会在代码的下面给出一个例子。 #include <stdio.h> #include <stdlib.h> #include <windows.h> HHOOK altKey; KBDLLHOOKSTRUCT kbdHK; MSG message; LRESULT CALLBACK kbdProc(int nCode, WPARAM wPar, LPARAM lPar); int main(int argc, char *argv[]) { altKey = SetWindowsHookEx(WH_KEYBOARD_LL, kbdProc, NULL, 0); while(GetMessage(&message, NULL, 0, 0) > 0){ TranslateMessage(&message); DispatchMessage(&message); } return 0; } LRESULT CALLBACK kbdProc(int nCode, WPARAM wPar, LPARAM lPar){ […]