共 41 篇文章 |
|
1、静态调用方式:由编译系统完成对DLL的加载和应用程序结束时DLL卸载的编码(如还有其它程序使用该DLL,则Windows对DLL的应用记录减1,直到所有相关程序都结束对该DLL的使用时才释放它),简单实用,但不够灵活,只能满足一般要求。使用DLL的程序在使用之前必须加载(LoadLibrary)加载DLL从而得到一个DLL模块的句柄,然后调用GetProcAddress... 阅236 转11 评0 公众公开 08-12-28 01:23 |
关于Hook.当指定类型的Hook监视的事件发生时,系统就调用与这个Hook关联的Hook链的开头的Hook子程。以上所说的钩子子程与线程相关联是指在一钩子链表中发给该线程的消息同时发送给钩子子程,且被钩子子程先处理。在钩子子程中调用得到控制权的钩子函数在完成对消息的处理后,如果想要该消息继续传递,那么它必须调用另外一个SDK中的API函数Call... 阅741 转12 评0 公众公开 08-12-28 01:22 |
删除工程中 APIHook_Dll.cpp文件中原来的内容,然后把上面的 APIHook_Dll.cpp 和 APIHook_Dll.h文件的内容全部复制到新建的这个工程的 .cpp及 .h文件中来;3. 新建一 Text文件,命名为 APIHook_Dll.def。9. 打开 Project->Setting菜单,选择第四项link,在 Object/library moduls里添加我们的dll的lib文件的路径:..\APIHook_Dll\Debug\APIH... 阅1111 转16 评0 公众公开 08-12-28 01:22 |
安装钩子的函数为SetWindowsHookEx,利用这个函数可以为整个系统或为某一特定进程安装钩子,不同的钩子监视特定钩子事件的发生,当某一事件触发后,与之对应的代码就会被系统调用。当进程B中触发了一个钩子事件,钩子代码被进程B调用(需要特别指出的是,钩子代码被一个远程进程所调用,被调用的钩子代码中如果调用GetCurrentProcessId这个函数... 阅66 转自SpringEmp... 公众公开 08-12-23 11:39 |
BMP位图文件结构及平滑缩放。// 显示真彩位图::BitBlt(dc.m_hDC,0,0, mDispR.Width(), mDispR.Height(), hMemDC,mPos.x,mPos.y, SRCCOPY);} else {::StretchBlt(dc.m_hDC,0,0, mDispR.Width(), mDispR.Height(),hMemDC,0,0, mpBitmapInfo- >biWidth, mpBitmapInfo- >biHeight, SRCCOPY);}if( mPos.x > (mpBitmapInfo- >biWidth - ... 阅567 转11 评0 公众公开 08-12-22 17:22 |
由于IMAGE_THUNK_DATA数组存放了引入函数的地址,所以此时ebx中是函数地址。在PE文件中所用的都是RVA,只有将RVA加上模块的起始地址才能得到真正的内存地址,而正如我们上面所说,一个进程的地址空间是由一个可执行模块和若干个DLL模块组成的,DLL模块同样有自己的引入表,我们要拦截的API有可能在可执行模块中被调用,也有可能在DLL模块中被调... 阅2751 转28 评0 公众公开 08-12-22 14:44 |
如何将位图对象保存为BMP文件 如何将位图对象保存为BMP文件收藏新一篇: PE文件格式与API HOOK | GDI中位图对象是很常见的GDI对象,但是无论是SDK,还是MFC都没有提供现在的函数或是方法来将一个位图对象保存为一个BMP文件,这里介绍一下保存方法。GetDIBits(hdc,hBitmap,0,(UINT)bitmap.bmHeight,(LPSTR)lpbi+sizeof(BITMAPINFOHEADER)+dwpale... 阅2562 转30 评0 公众公开 08-12-22 14:05 |
BMP文件结构详解 BMP文件结构详解 收藏新一篇: 位图资料 | 旧一篇: 位图资料1. BMP文件组成 BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。BMP文件头 BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下:typedef struct tagBITMAPINFO {BITMAPINFOHEA... 阅1096 转18 评0 公众公开 08-12-22 14:04 |
虽然我们看来都是星号,但程序中的Edit控件实际仍是用户输入的密码,应用程序可以获取该控件中的密码,其他应用程序也可以通过向其发送WM_GETTEXT或EM_GETLINE消息来获取Edit控件中的内容。//通过掌握的句柄hwndCurr向此控件发送WM_GETTEXT消息 ::SendMessage(hwndCurr, WM_GETTEXT, 255, (LPARAM)szText); //密码已保存在szTe... 阅303 转9 评0 公众公开 08-12-21 19:06 |
HWND FindWindowEx(HWND hwndParent, HWND hwndChildAfter,LPCTSTR lpClassName, LPCTSTR lpWindowName)BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam)BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)#include BOOL CALLBACK EnumWindowsProc( HWND hwnd, DWORD lParam );} BOOL CALLBA... 阅1200 转7 评0 公众公开 08-12-21 19:04 |