0x00 前言
其实Powershell调用系统DLL函数的本质就是:使用Powershell的Add-Type去定义执行C#代码,用这个C#代码去调用系统DLL的函数。
0x01 实现
由于我们要实现内存转储我们需要先知道他的系统内存转储函数叫啥,先百度搜下。
发现这样一篇文章:
http://blog.csdn.net/longlong530/article/details/43307249
它的核心函数是这个MiniDumpWriteDump
BOOL bOK = MiniDumpWriteDump( GetCurrentProcess(), GetCurrentProcessId(), hFile, MiniDumpNormal, &ExInfo, NULL, NULL );
然后我们去msdn上查看下这个函数原型。
https://msdn.microsoft.com/en-us/library/ms680360(VS.85).aspx
BOOL WINAPI MiniDumpWriteDump(
_In_ HANDLE hProcess,
_In_ DWORD ProcessId,
_In_ HANDLE hFile,
_In_ MINIDUMP_TYPE DumpType,
_In_ PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam,
_In_ PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,
_In_ PMINIDUMP_CALLBACK_INFORMATION CallbackParam
);
点击 左下角“阅读原文” 输入阅读密码:8617 查看完整版!
更多精彩内容,敬请加入DMZLab交流圈!
扫描下图二维码,关注DMZLab公众号,精彩内容不错过!
本文始发于微信公众号(DMZLab):Powershell调用系统DLL函数实例----使用Powershell制作一个内存转储工具
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论