头文件: #include <windows.h> GetModuleFileNameA() char moduleFileName[MAX_PATH]; GetModuleFileNameA(, moduleFileName, MAX_PATH); 取得的路径为:c:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects  \Test\debug\Test.exe char moduleFi…
Windows系统提供一组API实现对程序运行时相关目录的获取和设置.用户可以使用GetCurrentDirectory和SetCurrentDirectory获取程序的当前目录,获取模块的路径使用GetModuleFileName,如果以NULL参数调用GetModuleFileName,将会返回当前模块的路径.如果在程序主模块(exe)中获取当前模块路径,便可以从当前模块的路径中提取出程序运行时所在的路径. (1)GetCurrentDirectory.获取进程的当前目录 ◇参数nBuffe…
DLL搜索路径和DLL劫持 环境:XP SP3 VS2005 作者:magictong 为什么要把DLL搜索路径(DLL ORDER)和DLL劫持(DLL Hajack)拿到一起讲呢?呵呵,其实没啥深意,仅仅是二者有因果关系而已.可以讲正是因为Windows系统下面DLL的搜索路径存在的漏洞才有了后来的一段时间的DLL劫持大肆流行. 最近(其实不是最近,哈,是以前分析过,断断续续的……)简单分析了一个DLL劫持下载者的行为,感觉有必要写点东西说明一下.其实DLL劫持是比较好预防的,从编程规范上我…
http://www.cnblogs.com/vanver/archive/2013/06/13/NO-2013_06_13pm.html 播客开篇,讲讲废话:本篇播客只是推荐给热与钻研的同学们....见名知意?!你知道几个? 这只是我收藏的,没事的时候去...code几个. 收藏下,保存起来自己在后面添加:注解是个不存的选择 API Set API encompassed by API Set api-ms-win-core-com-l1-1-0.dll CLSIDFromProgID CLS…
转载: https://blog.csdn.net/kikaylee/article/details/51395360 /* @描述:一个简单的Windows守护进程的例子(C++版本) @作者:kikaylee @日期:2016-05-13 10:30 */ #include <stdio.h> #include <stdlib.h> #include <Windows.h> #include <io.h> #include <iostream>…
一讲到守护进程,很多人都想到了Linux系统,确实在Windows上这个说的比较少.今天上午群里有个朋友问我了下Windows下守护进程的实现问题,我想了想,简单用C++写了个小例子,用来实现系统开机自启动(注册表启动),然后启动并守护指定的进程.基本功能还是挺简单的.和大家分享一下,直接上代码了哈. /* @描述:一个简单的Windows守护进程的例子(C++版本) @作者:kikaylee @日期:2016-05-13 10:30 */ #include <stdio.h> #includ…
  BOOL InitSymHandler(HANDLE hProc)   {   CHAR SymPath[MAX_PATH], CurDir[MAX_PATH];       GetCurrentDirectoryA(sizeof(CurDir) / sizeof(CurDir[0]), CurDir);   SymSetOptions(SYMOPT_DEFERRED_LOADS|SYMOPT_EXACT_SYMBOLS|SYMOPT_CASE_INSENSITIVE|SYMOPT_UNDN…
原文链接:http://www.nirsoft.net/articles/windows_7_kernel_architecture_changes.html Windows 7 introduces a new set of dll files containing exported functions of many well-known WIN32 APIs. All these filenames begins with 'api-ms-win-core' prefix, followe…
经过我整理的,去掉了A和W的重复.虽然没写注释,但以后要一个一个研究.有这些WINAPI就够用了. kernel32 = 'kernel32.dll'; gdi32 = 'gdi32.dll'; user32 = 'user32.dll'; advapi32 = 'advapi32.dll'; mpr = 'mpr.dll'; version = 'version.dll'; comctl32 = 'comctl32.dll'; opengl32 = 'opengl32.dll'; wintru…
@author: dlive @date: 2016/12/19 0x01 SetWindowsHookEx() HHOOK SetWindowsHookEx( int idHook, //hook type HOOKPROC lpfn, //hook procedure(回调函数) HINSTANCE hMod, //hook procedure所属的DLL句柄 DWORD dwThreadId //想要挂钩的线程ID ); 使用SetWindowsHookEx() API可以轻松实现消息钩子…