windows核心
听风说旧人
这个作者很懒,什么都没留下…
展开
-
PE文件(三)
节表,又叫区段表,区段表是我们直接探索的最后位置了,区段是不需要直接解析的地方。 区段表存储着PE文件的一些属性,区段表是一个由若干个结构体依次排列组成的,每一个结构体代表着PE文件主体中的一段数据的属性,也就是每一个区段头都对应着PE文件主体的一段数据,这段数据叫做节或者叫区段,区段表规定了区段(节)的属性。 下面是节的定义typedef struct _IMAGE_SECTION_HEADE原创 2016-08-17 10:20:55 · 411 阅读 · 0 评论 -
进程间的通讯之油槽
油槽是windows系统中最简单的一种进程间通讯的方式,一个进程可以创建一个油槽,其他进程可以通过打开此油槽与创建油槽的进程通讯;油槽的通讯时单向的,只有服务端才能从油槽中读取消息,客户端只能写入消息,消息被写入后以队列的方式保存(先进后出);油槽除了可以在本机内进行通讯外,还可以在主机间进程通讯(使用UDP协议),想要通过网络进行油槽通讯,必须要知道服务端的主机名或域名。 油槽客户端:#in原创 2016-08-11 16:05:27 · 842 阅读 · 0 评论 -
遍历进程,结束进程
#include "stdafx.h"#include <windows.h>#include <TlHelp32.h>#include <locale.h>int _tmain(int argc, _TCHAR* argv[]){ setlocale(LC_ALL, "chs"); HANDLE hSnap = CreateToolhelp32Snaps原创 2016-08-11 14:53:22 · 325 阅读 · 0 评论 -
遍历某一个进程的模块
#include "stdafx.h"#include <windows.h>#include <TlHelp32.h>#include <locale.h>bool GetModuleList(DWORD dwPId) { HANDLE hModuleSnap = INVALID_HANDLE_VALUE; MODULEENTRY32 me32 = { siz原创 2016-08-11 15:41:57 · 2207 阅读 · 0 评论 -
枚举某一进程的线程
#include "stdafx.h"#include <windows.h>#include <TlHelp32.h>void ListThread(DWORD dwPid){ HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); THREADENTRY32 te = {sizeof(原创 2016-08-11 15:46:20 · 836 阅读 · 0 评论 -
PE文件(一)
PE文件是指某一种格式的文件,exe,dll,sys等等 ,都是PE格式的文件。 PE文件大体可以分为两部分,头和主体,两个部分都会在内部进行细分,头由几个结构体组成,含这个文件一些描述信息,主体由多个段组成,包含文件的可执行代码和一些执行时要使用的资源,数据等等。 下面这张网上找的图作为参考 首先我们来看DOS头,DOS头是用来兼容DOS系统的,定义如下typedef struct _I原创 2016-08-16 19:34:00 · 525 阅读 · 1 评论 -
PE文件(二)
上篇讲到的PE文件DOS头中的两个重要成员,一个是e_magic 用来判段是否为PE文件,另一个 e_lfanew用来找出NT头的位置。在DOS头与NT头 之间还有一部分区域,这里储存着一些被DOS头使用的数据,包括一些字符串等等,这部分的大小不太确定,所以,NT头的具体位置要由DOS头的最后一个成员来确定 。 我们可以利用这一部分空间实现一些特殊用途。NT头的定义typedef struct _原创 2016-08-16 20:39:33 · 667 阅读 · 0 评论 -
从证书库导出PFX证书
首先了解下思路: 先 CertOpenStore 打开系统证书库 , 然后 CertEnumCertificateContextProperties 判断带私钥的证书 , 再打开一个临时证书库把找到的证书放进去 CertAddCertificateContextToStore , 然后用 PFXExportCertStoreEx 导出证书. 需要包含的头文件, 以及变量#include "s原创 2017-08-28 15:41:09 · 3106 阅读 · 0 评论