google一下,发现很多都是直接通过ZwQuerySystemInformation通过11号获取进程结构SYSTEM_PROCESS_INFORMATION,对于详细的进程信息表达不够.所以想要通过这个来查看详细的 EPROCESS 结构.方法可以通过 PsLookupProcessByProcessId 这个函数来获取.函数原型在下面给出. typedef struct _SYSTEM_PROCESS_INFORMATION { ULONG NextEntryOffset; ULONG N…
遍历所有进程下的所有句柄,以及对应句柄类型. 一丶简介 在有的时候.我们会需要对应句柄名字.以及句柄类型的名称. 以及它所对应的的ID. 因为每个系统不一样.所以每次都是不一样的. 有的时候我们就需要借助Pchunter等类似的 Ark工具查看句柄名字. 以及对应的类型. 二丶原理讲解 想要获取 指定进程下的所有句柄,以及句柄名字. 句柄类型.我们只需要几步即可. 1.使用未导出API ZwQuerySystemInformation 获取系统所有进程信息. 2.根据PID打开进程句柄.(可以跳…
进程保护部分参考 http://bbs.pediy.com/showthread.php?t=168023 进程保护,在任务管理器不能结束进程 #ifndef CXX_PROTECTPROCESSX64_H #define CXX_PROTECTPROCESSX64_H #include <ntifs.h> #define PROCESS_TERMINATE 0x0001 #define PROCESS_VM_OPERATION 0x0008 #define PROCESS_VM_READ 0…
在某公司实习完,再次回到寝室.还是在学校好. 实习期间的给我的任务就是为项目添加一个强行删除的模块. 背景是硬盘上存储空间不够时,需要删掉老的文件,如果这时后,老的文件被打开了,没有关掉,就无法删除.所以叫我写一个这样的功能. 所谓干净,指的是释放掉这个被占用的句柄.强行删除的方法很多,用驱动直接发磁盘IRP.等等 查阅相关资料后.整理思路如下,如果有同学以后要写这样的功能,可以参考, 1.ZwQuerySystemInformation获取系统当前句柄列表. 2.遍历这个列表,跳过PID==4…
x64内核HOOK技术之拦截进程.拦截线程.拦截模块 一丶为什么讲解HOOK技术. 在32系统下, 例如我们要HOOK SSDT表,那么直接讲CR0的内存保护属性去掉. 直接讲表的地址修改即可. 但是在64位系统下,不可以这样操作了. 第一是因为 SSDT表加密了. 第二是 SSDT表你就算解密了. 那么你的API的地址也会很远. SSDT表放不下4G以外的地址. 所以也不能放. 而现在.试想一下, 杀毒软件也要在内核中做点手脚. 如果不能HOOK了,它们该怎么发展那? 所以到了win7 (64…
转载:https://blog.csdn.net/zhuhuibeishadiao/article/details/51292608 需要注意的是:在R3使用ZwQueryObject很容易锁死,需要放到线程中,如果线程超过500ms就说明卡死了 就只能放弃这个句柄了 这个句柄外面是一个FileObject类型,但真实是一个信号类型 还有在R3中枚举 有一个句柄我们是没有权限操作了 就是EtwRegistration类型的 如果非要解决这个问题,可以参考国外的一个开源进程管理器 ProcessH…
1 前言 瞻仰了k0shl和鹏哥 的漏洞分析,感慨万千,任重而道远. 2 系统环境和工具 windows 7 32旗舰版 windbg 3 poc 3.1poc复现 首先k0shl大佬给出的poc(): /*** Author: bee13oy of CloverSec Labs* BSoD on Windows 7 SP1 x86 / Windows 10 x86* EoP to SYSTEM on Windows 7 SP1 x86**/​#include <Windows.h>​#pra…
HOOK SSDT主要代码 #pragma once #include <ntifs.h> /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 更多游戏逆向视频www.yxfzedu.com * * * * 有任何问题请发邮件至service@yxfzedu.com * * * * * * * * * * * * * * * * * * * * * * *…
上一篇写自我保护时用到了,主要是不同版本的位置不同.找了一下,发现XP和win7的情况分别如下. WIN7 lkd> dt nt!_EPROCESS +0x000 Pcb : _KPROCESS +0x098 ProcessLock : _EX_PUSH_LOCK +0x0a0 CreateTime : _LARGE_INTEGER +0x0a8 ExitTime : _LARGE_INTEGER +0x0b0 RundownProtect : _EX_RUNDOWN_REF +0x0b4 Un…
作为 DELPHI 版本,需要引用 jwaNative, JwaWinType ,他们是 JEDI API 的一部分.JEDI 官网有下载. 先给出 2 个辅助函数 和 一些结构体. type           PRecord = ^TRecord;     TRecord = record   end;             PSystemInformationList = ^TSystemInformationList;     TSystemInformationList = reco…
枚举进程模块的方法有很多种,常见的有枚举PEB和内存搜索法,今天,先来看看实现起来最简单的枚举PEB实现获取进程模块列表. 首先,惯例是各种繁琐的结构体定义.需要包含 ntifs.h 和 WinDef.h, 此处不再列出,各位看官根据情况自行添加. typedef PPEB (__stdcall *PFNPsGetProcessPeb)(PEPROCESS pEProcess); typedef ULONG   PPS_POST_PROCESS_INIT_ROUTINE; typedef str…
PsActiveProcessHead的定义: 在windows系统中,所有的活动进程都是连在一起的,构成一个双链表,表头是全局变量PsActiveProcessHead,当一个进程被创建时,其ActiveProcessList域将被作为节点加入到此链表中:当进程被删除时,则从此链表中移除,如果windows需要枚举所有的进程,直接操纵此链表即可. 方法一:从KdInitSystem函数地址处硬编码搜索 方法二:从System进程(pid=4)的PEPROCESS地址获取 方法三:从ntoskr…
目录 . 相关阅读材料 . <加密与解密3> . [经典文章翻译]A_Crash_Course_on_the_Depths_of_Win32_Structured_Exception_Handling.pdf . < DAY安全: 软件漏洞分析技术> 2. 数据结构分析 二. KTHREAD KTHREAD(内核层线程对象).再次重复说明一点: windows内核中的执行体(ETHREAD, EPROCESS) 负责各种与管理和策略相关的功能,而内核层(或微内核)(KTHREAD,…
在学习笔记(1)中,我们学习了IRP的数据结构的相关知识,接下来我们继续来学习内核中很重要的另一批数据结构: EPROCESS/KPROCESS/PEB.把它们放到一起是因为这三个数据结构及其外延和windows中进程的表示关系密切,我们在做进程隐藏和进程枚举的时候一定会涉及到这3类数据结构,所以这里有必要及时做一下总结,做个学习笔记,理清思路. 1. 相关阅读材料 <windows 内核原理与实现> --- 潘爱民 <深入解析windows操作系统(第4版,中文版)> --- 潘…
EPROCESS KPROCESS PEB <寒江独钓>内核学习笔记(2)     在学习笔记(1)中,我们学习了IRP的数据结构的相关知识,接下来我们继续来学习内核中很重要的另一批数据结构: EPROCESS/KPROCESS/PEB.把它们放到一起是因为这三个数据结构及其外延和windows中进程的表示关系密切,我们在做进程隐藏和进程枚举的时候一定会涉及到这3类数据结构,所以这里有必要及时做一下总结,做个学习笔记,理清思路. 1. 相关阅读材料 <windows 内核原理与实现>…
简单说,即调用第11号功能,枚举一下内核中已加载的模块.部分代码如下://功能号为11,先获取所需的缓冲区大小ZwQuerySystemInformation(SystemModuleInformation,NULL,0,&needlen);//申请内存ZwAllocateVirtualMemory(NtCurrentProcess(),(PVOID*)&pBuf,0,&needlen,MEM_COMMIT,PAGE_READWRITE);//再次调用ZwQuerySystemIn…
原文发表于百度空间,2008-10-24========================================================================== 简单说,即调用第11号功能,枚举一下内核中已加载的模块.部分代码如下://功能号为11,先获取所需的缓冲区大小ZwQuerySystemInformation(SystemModuleInformation,NULL,0,&needlen);//申请内存ZwAllocateVirtualMemory(NtCu…
windows 内核下获取进程路径 思路:1):在EPROCESS结构中获取.此时要用到一个导出函数:PsGetProcessImageFileName,申明如下: NTSYSAPI UCHAR *    PsGetProcessImageFileName(    __in PEPROCESS Process    ); 此函数获取的是一个简单的进程名,并不是绝对路径. 2):ZwQueryInformationProcess. 要想获取进程的绝对路径,可用一个未公开的函数:ZwQueryInf…
目录 1. AccessToken介绍 2. 示例代码 1. AccessToken介绍 1.1 什么是AccessToken AccessToken即访问凭证,业务服务器每次主动调用企业号接口时需要带上AccessToken参数. 注:主动调用是指业务服务器调用企业号接口的操作过程,如通讯录管理.应用管理. 文档:http://qydev.weixin.qq.com/wiki/index.php?title=主动调用 1.2 获取AccessToken AccessToken需要用CorpID…
本篇引用以下三个链接: http://www.tgerm.com/2012/01/recordtype-specific-picklist-values.html?m=1 https://github.com/abhinavguptas/Multi-RecordType-Sobject-Picklist-Describer http://bobbuzzard.blogspot.com/2012/01/record-type-picklist-values.html 我们知道,record typ…
本篇主要介绍Web环境中屏幕.浏览器及页面的高度.宽度信息. 目录 1. 介绍:介绍页面的容器(屏幕.浏览器及页面).物理尺寸与分辨率.展示等内容. 2. 屏幕信息:介绍屏幕尺寸信息:如:屏幕.软件可用以及任务栏的高度和宽度. 3. 浏览器信息:介绍浏览器尺寸信息:如:浏览器.内部页面以及工具栏的高度和宽度. 4. 页面信息:介绍HTML页面尺寸信息:如:body总的.展示的高度和宽度. 一.介绍 1. 容器 一个页面的展示,从外到内的容器为:屏幕.浏览器以及页面本身. HTML元素展现在页面内…
地球人和火星人都知道,Process类既可以获取正在运行的进程,也可以启动一个新的进程.在79.77%应用场合,我们只需要让目标进程顺利启动就完事了,至于它执行了啥,有没有出错,啥时候退出就不管了. 但是,在某些情况下,启动新进程后,还希望能向目标进程传送数据,或者实时读取来自新进程的信息.比如,启动一个安装程序,安装程序会向标准流写入安装进度,然后调用方可以从标准流中读取进度,以达到实时监控安装进度的目的. Process类公开三个标准流属性: StandardInput——输入流.类型是Wr…
看过我WPF 微信 MVVM这篇文章的朋友,应该知道我里面提到了我有一个小号是无法获取列表的,始终也没找到原因. 前两天经过GitHub上h4dex大神的指导,知道了原因,是因为微信在登录以后,web微信采取了不同的域名来兼容各种用户. 下面是大神提供的js代码和C#代码 function () { var e = location.host, t = 'weixin.qq.com', o = 'file.wx.qq.com', n = 'webpush.weixin.qq.com'; e.in…
前言 在我的另一篇博文 Canvas坐标系转换 中,我们知道了所有的平移缩放旋转操作都会影响到画布坐标系.那在我们对画布进行了一系列操作之后,怎么再知道当前矩阵数据状态呢. 具体代码 首先请看下面的一段代码(下文具体解释代码作用): window.TrackTransform = function () { var svg = document.createElementNS("http://www.w3.org/2000/svg", 'svg'); var xform = svg.c…
Android 提供了API可获取到系统相册中的一些信息,主要还是通过ContentProvider 来获取想要的内容. 代码很简单,只要熟悉ContentProvider 就可以了. public static List<String> getSystemPhotoList(Context context) { List<String> result = new ArrayList<String>(); Uri uri = MediaStore.Images.Medi…
1.在讲js获取给定月份的N个月后的日期之前,小颖先给大家讲下getFullYear().getYear()的区别. ①getYear() var d = new Date() console.log(d.getYear()); 打印结果为:116 小颖百度了下,js中Date对象getYear()方法和getFullYear()方法区别,比如:JS中Date对象getYear()方法和getFullYear()方法区别发现很多人写的是: 在IE中是可以正确获取年份:2016,但是在FF等浏览器…
HostingEnvironment是承载应用当前执行环境的描述,它是对所有实现了IHostingEnvironment接口的所有类型以及对应对象的统称.如下面的代码片段所示,一个HostingEnvironment对象承载的执行环境的描述信息体现在定义这个接口的6个属性上.ApplicationName和EnvironmentName分别代表当前应用的名称和执行环境的名称.WebRootPath和ContentRootPath是指向两个根目录的路径,前者指向的目录用于存放可供外界通过HTTP请…
Nodejs中获取时间戳的方法有很多种,例如: new Date().getTime() Date.now() process.uptime() process.hrtime() 平时想获取一个时间戳的话,用这些方法都可以,那么这些方法有什么区别呢? new Date().getTime()和Date.now() 这些方法是通过node运行环境的系统时间毫秒数,+new Date()写法的效果和new Date().getTime()效果相同. 在需要频繁使用时间戳的场景中,需要关注方法性能,这…
本文转自我的个人网站  , 原文地址:http://www.zoucz.com/blog/2016/01/29/get-file-from-clipboard/  ,欢迎前往交流讨论 在网页上编辑内容时,有时候需要插入图片,一般的做法是: 从网络上下载图片至本地 or 截图保存至本地 在编辑器中点击图片上传按钮,选择本地文件,等待上传完成 将上传好的图片链接插入编辑器中 这样做太麻烦了,我比较喜欢的操作是开着QQ或者其他的一些截图工具,截图-粘贴 .为了这样做我们需要在浏览器中获取剪切板中的文件…
最近在修改维护以前的webform项目(维护别人开发的.....)整个aspx没有用到任何的控件,这个我也比较喜欢不用控件所以在提交信息的时候需要自己手动的去Request.QueryString[]或者Request.Form[]去获取,转型,判定等等觉得这样子的代码写多了不甚其烦,就在想能不能自动获取,解析这些参数成我需要的数据实体呢,当然是可以的这里我用反射根据参数的Key与实体的PropertyName进行对比,类型转换赋值给实体 public static T NameValues2E…