-
wmic查询类用法
原文链接https://techcommunity.microsoft.com/t5/ask-the-performance-team/useful-wmic-queries/ba-p/375023query用法|类名|用法||—|—||baseboard|get Manufacturer, Model, Name, PartNumber, slotlayout, serialnumber, poweredon||bios|get name, version, serialnumber||...…
-
vbs测试用例
常见用例进程创建Sub process_create()Set WSHShell = CreateObject("WScript.Shell")' IWshShell.RunWSHShell.Run "calc.exe"' IWshShell.ExecWSHShell.Exec "calc.exe"' IShellDispatch.ShellExecuteSet ShellApp = CreateObject("Shell.Application")ShellApp.ShellExecut...…
-
office-vba测试用例
说明最近重新整理一些vba的测试用例,word和excel通用测试用例windows 关键结构体和函数声明#If Win64 Then Private Declare PtrSafe Function WinExec Lib "kernel32" (ByVal lpCmdLine As String, ByVal nCmdShow As Integer) As LongPtr Private Declare PtrSafe Function CreateProcess Lib ...…
-
远程wmi环境配置
为了确保不出现其它的意外情况,建议使用系统默认的Administrator用户进行测试,如果没有启用,则启用一下,然后设置一个密码首选确保能ping通,以下均为虚拟机中的配置步骤 1.DCOM 权限 打开 Dcomcnfg 展开组件服务 -> 计算机 -> 我的计算机 转到”我的计算机”的属性 选择 COM 安全选项卡 单击”访问权限”下的”编辑限制”,并确保”所有人”用户组具有”本地访问”和”远程访问”权限。 单击启动和激活权限的”编辑限制”,并确保”所有人”用户...…
-
wmi测试用例
wmic创建进程C:\Users\kkkk>wmic process call create calc.exeExecuting (Win32_Process)->Create()Method execution successful.Out Parameters:instance of __PARAMETERS{ ProcessId = 3204; ReturnValue = 0;};创建注册表键C:\Windows\system32>wmi...…
-
某信创建小程序快捷方式
Life在某一个行业或者公司呆久了,我们总是会遇见一个瓶颈,唯一能帮助我们的就是自我的努力学习。自强者恒强,而不是幻想!概述WX的最新版中,增加了在桌面添加WX小程序的功能,该功能可以很方便的打开WX中的小程序。添加后会在桌面生成小程序的快捷方式。但是通过自己手工添加的方式,是无法在WX中直接打开的。经分析后,发现WX把添加过的小程序,保存到了配置文件中。该文件是一个aes加密后的文件。每次当用户点击快捷方式后,WX会比对下配置文件中的数据,如果是WX添加的则启动,不是则提示用户快捷方式启...…
-
陷阱分发(Trap Dispatching)
前言身为攻城狮,还是回归技术本身吧。最近再重温Windows Internals。很喜欢这本书的作者叙述windows的逻辑顺序,先总结下里面的第一个机制吧,Trap。陷阱分发(Trap Dispatching)借用书中的一句原话中断和异常是导致处理器转向正常控制流之外的两种操作系统条件。而 Trap 就是当这两种事件发生时,提供的统一处理的机制(其实就是概念上的统一)。windows有一个特点,就是喜欢把几种相似的情况,给统一一下,然后提供一个新的名词出来。那windows是如何把这两种...…
-
延迟导入表
生成延迟导入表在vs项目属性 => 连接器 => 输入 => 延迟加载的dlldll加载延迟导入表,在PE头的数据目录中,有一个单独的类别#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13 // Delay Load Import Descriptors延迟导入表的数据目录HEADER:000007FF4E8001D8 ; Delay Load Import DescriptorsHEADER:000007FF4E8001D...…
-
inline hook崩溃引发的思考
一念天堂、一念地狱、止贪欢喜、转念花开总结有时候出于一些监控的目的,不得不对一些api去做一些hook,这里主要讲inline hook或者api hook等等引发的一些问题。有时候会出现一些莫名其妙的崩溃,当然这里的崩溃不是代码内部自己的逻辑没有处理好的那种崩溃。而是那些崩溃到其它地方的崩溃,这些崩溃看似跟我们的代码没有关系,却或多或少跟我们有些关系。根据最近处理的这几起崩溃,也引发了我的一些思考。这些崩溃都是在我们...…
-
列举windows安装的app
前言有时候不得不说,windows是越来越复杂了,复杂到一个看似很小的功能,却有很多复杂的细节要处理不重复造轮子我们都知道,windows的程序要想在 控制面版 中的 卸载 里面出现,需要写入以下的注册表键值中SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall想当然的我们要做的事情,就是枚举下这个键值下面的值,然后整理出来一个列表即可。本着不重复造轮子的想法,在google上随便找了一段代码,于是各种意想不到的情况出现了问题1: 键值下面...…
-
从协议的角度看wmi
本文涉及到的协议[MS-RPCE][MS-DCOM][MS-WMI]概述windows中的很多协议,都是嵌套的。有时候为了去明白上层的一些协议,需要去深入看下,比较底层的协议实现。就比如wmi是依赖dcom和rpc的。这些在wmi的协议中都有很好的说明。下面通过一段简单的代码,探究下这个过程的实现。交互过程先来看一段简单的代码,在调用com接口前,需要调用CoCreateInstance函数创建对象,之后再调用相应的方法。CoCreateInstance(CLSID_WbemLocator...…
-
windbg中使用js脚本定位.net jit后的汇编代码
概要在上一篇dotnet查找xxx.ni.dll中jit代码中,使用了手工定位jit后的方法,出于提升效率的目的,我们还是需要能有一个自动化查找提取的过程,下面通过windbg中js脚本来完成这个操作,解放程序员这双宝贵的手js脚本最新的windbg中增加了对js脚本的支持,通过js脚本,我们可以很方便的开发一些功能强大的功能,例如自动化等等。js脚本的解析,需要依赖jsprovider.dll,所以在开始执行js脚本前,需要先加载该dll.load jsprovider.dlljs脚本简...…
-
dotnet查找xxx.ni.dll中jit代码
文件区别以 system.dll 和 system.ni.dll 举例,这两个文件的不同在于,system.dll 中的 il 代码在被调用前需要 经过 jit(mscorjit.dll 或者 clrjit.dll)模块中 CompileMethod 方法编译成 汇编代码。而system.ni.dll 则是已经被提前 jit 的代码。运行时不需要再调用 CompileMethod 去编译。出于一些监控的目的,可能需要去hook jit后的汇编代码。那就需要定位jit后的代码的位置。下面用一...…