- 博客(31)
- 资源 (15)
- 问答 (1)
- 收藏
- 关注
原创 bootstrap table toolbar 不能下拉问题解决
bootstrap table toolbar 不能下拉问题解决导入包 <link rel="stylesheet" href="bootstrap/css/bootstrap.css"> <link rel="stylesheet" href="bootstrap/css/bootstrap-theme.css"> <link href="bootstrap/css/bootstrap-table.css" rel="stylesheet">
2021-08-19 16:56:57 471 2
原创 Xperf 使用方法
Xperf 使用文章目录了解安装收集分析其他附录了解xperf是Windows Performance Tools Kit中的一个工具xperf是一套工具集,这些工具目前包含一个 xperf 跟踪捕获工具、一个 xperfview 虚拟化工具(也称为性能分析器)和一个 xbootmgr 启动跟踪捕获工具。这些工具用于分析大量的性能问题,包括应用程序启动次数、启动问题、延迟的过程调用和中断活动(DPC 和 ISR)、系统响应问题、应用程序资源利用和中断风暴。xperf基于Windows事件跟踪Eve
2020-11-17 15:41:44 5926 1
原创 汇编BTS指令
lock bts dword ptr [ecx],0lock bts dword ptr [ecx],1Lock是锁前缀,保证这条指令在同一时刻只能有一个CPU访问## 上述BTS指令的作用://两件事:一: 判断ecx的值: IF ecx == 0 则 CF = 1 IF ecx != 0 则 CF = 0二: lock bts...
2020-03-27 16:30:55 3593
原创 自实现API绕过用户层HOOK
开始正文,用NtReadVirtualMemory函数做例子 0.获取自实现函数地址如果是自己写的函数,那就把你写入的空间首地址整过来如果是系统自带内核函数,直接使用windbg:就可以获得函数地址!1.然后将该函数地址放置在第一个系统服务表的尾部因为上图有0x11C个函数,所以我们要填充在0x11d处(尾部)2.将函数个数+13.,接下来去修改函数参数字节个数表因为原本...
2020-03-20 19:07:31 1025 1
原创 Windows内核之模拟线程切换(附源码)
Windows内核之线程切换目录文章目录目录模拟线程切换总结线程切换_主动切换总结:时钟中断切换总结:时间片管理线程优先级调度链表(32个)如何高效查找模拟线程切换实验代码(海东老师的代码,I’m 搬运工)核心代码:mov [esi+GMThread_t.KernelStack], esp//经典线程切换,另外一个线程复活mov esp, [edi+GMThread_t.Ker...
2020-03-19 15:39:06 825
原创 0环与3环之间的通信(常规方式)附完整代码
驱动程序开发中0环和3环之间的通信方式(常规方式)文章目录1.设备对象2.创建设备对象3.设置交互数据的方式4.IRP与派遣函数5.IRP的类型6.派遣函数在哪里注册呢?7.派遣函数的格式8.通过IRP_MJ_DEVICE_CONTROL交互数据9.几个重要的结构体IRPIO_STACK_LOCATIONIO_STACK_LOCATION Parameters完整代码内核代码用户层代码1.设备...
2020-03-19 15:05:12 1685 4
原创 内核空间与内核模块
内核空间与内核模块内核空间进程A,B两个不同进程,低2G内存空间(ring 3)所对应的物理页几乎是不一样的,而高2G的内存空间对应的物理页却几乎是一样的.不是每一个进程都有自己的内核空间,而是所有的进程共享一个内核空间可以做个实验驱动环境:win7 x64//定义一个变量,输出变量线性地址#include<ntddk.h>VOID DriverUnload(PDR...
2020-03-16 16:37:15 573
原创 内核编程基础
内核编程基础文章目录1.内核API的使用2.未导出函数的使用3.基本数据类型4.返回值5.内核中的异常处理6.常用的内核内存函数7.内核字符串种类内核字符串常用函数1.内核API的使用在应用层编程 我们可以使用WINDWOS提供的各种API函数,只要导入头文件<windows.h>就可以了,但是在内核编程的时候,我们不能像Ring3那样直接使用。微软为内核程序提供了专门的API...
2020-03-16 12:07:14 375
原创 windows内核之进程/线程结构体
进程与线程目录文章目录目录进程结构体EPROCESS_EPROCESS_KPROCESS其他重要结构体线程结构体ETHREADETHREAD_KTHREAD其他重要结构体CPU控制区结构体KPCRNT_TIB其他重要成员KPRCB等待链表和调度链表等待链表33个链表版本差异总结进程结构体EPROCESS注意分清楚peb(ring 3)与EPROCESS(ring 0)结构体很多,往往我...
2020-03-12 18:56:40 1446 2
原创 滴水内核中级班阶段测试题
题目:给定一个线性地址,和长度,读取内容:目前:还做不到读取内容,但是可以修该页权限,获得PDE,PTE值(10-10-12)后续:补充读取内容和2-9-9-12分页模式题目要求:int ReadMemory(OUT BYTE* buffer,IN DWORD dwAddr,IN DWORD dwLeght)要求:1)可以自己指定分页方式.2)页不存在,要提示,不能报错.3...
2020-03-09 19:31:51 1245
原创 搭建驱动(内核)开发环境_vs2017+WDK1809
Install Visual Studio下载链接:https://docs.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads#step-2-install-the-wdk这个链接也包含WDK的下载,可以根据系统版本下载对应版本的WDK.安装选项:如果需要兼容XP等操作系统并且需要编写MFC应用程序,还需要...
2020-01-16 20:21:26 2245
原创 windbg+winXP或win7 双机调试配置
附:windbg下载路径:https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugger-download-tools方法一:virtualKD软件配置(通信速率很好,推荐):下载链接: sysprogs.com/legacy/virtualkd/download/运行下载下来的程序,将其释放的targ...
2020-01-16 20:07:43 685
原创 API函数的调用过程
API函数的调用过程(ring3)Windows APIApplication Programing Interface (应用程序接口) 简称API函数Windows 有多少个API?主要是存放在C:\WINDOWS\system32下面所有的dll几个重要的dllKernel32.dll:最核心的功能模块,比如管理内存,进程和线程相关的函数等.User32.dll...
2020-01-14 20:20:25 2672
原创 保护模式 x86 PDE-PTE中的PWT_PCD位
PDE-PTE中的PWT_PCD位目录文章目录目录CPU缓存PWT 位 [3]PCD 位 [4]CPU缓存1>CPU缓存是位于CPU与物理内存之间的临时存储器,他的容量比内存小得多,但是交换速度却比内存要快得多.2>CPU缓存可以做的很大,有几K,几十K,几百K甚至上M的也有.CPU缓存与TLB的区别:TLB :线性地址<----->物理地址 CP...
2020-01-10 19:14:11 698
原创 保护模式 x86 控制寄存器
控制寄存器目录文章目录目录Cr0寄存器PE 位 [0]PG 位 [31]WP 位 [16]Cr2 寄存器Cr4 寄存器PAE 位 [5]PSE 位 [4]控制寄存器用户控制和确定CPU的操作模式.Cr0 Cr1 Cr2 Cr3 Cr4(注意跟DR0-DR7分开)Cr1 保留Cr3 页目录表基址Cr0寄存器PE 位 [0]PE = Protection Enable(启用保护) ...
2020-01-10 19:13:15 314
原创 保护模式 x86 TLB
TLB文章目录TLBTLB结构TLB种类实验思考:通过一个线性地址0x12345678访问一个物理页,我们想要读取0x12345678地指处一个字节的数据时, 操作系统是真的只读了一个字节吗?答:线性地址首先会被拆分,然后读取PDE(4字节),再读取PTE(4字节),最后读取物理页上的1字节,总共读取了8+1字节.补充提问:会不会有这种情况,DWORD 大小数据,前两个字节在一个...
2020-01-10 19:10:54 378
原创 保护模式 x86 中断与异常
中断与异常目录文章目录中断与异常目录中断不可屏蔽请求如何处理可屏蔽中断可屏蔽中断如何处理?异常异常处理缺页异常小结练习中断1.中断通常是由CPU外部的输入输出设备(硬件)供外部设备通知CPU"有事情需要处理",因此又叫中断请求(Interrupt Request)2.中断请求的目的是希望CPU暂时停止执行当前正在执行的程序,转去执行中断请求所对应的中断处理例程(中断处理程序在哪儿由IDT...
2020-01-10 19:08:27 681
原创 保护模式 x86 页保护机制
页的机制目录文章目录页的机制目录分页物理地址-线性地址-有效地址分页机制2 9 9 1210 10 12设置分页方式实验:通过线性地址找到物理地址(10-10-12)PDE PTEPDE_PTE属性P位 [0]R/W位 [1]U/S [2]P/S PDE[7] pte没有A位D位页目录表基址 0xc0300000页表基址 0xc0000000线性地址转物理地址公式分页物理地址-线性地址-...
2020-01-06 19:01:41 924
原创 保护模式X86 段机制
段的机制文章目录段的机制段寄存器段寄存器结构段寄存器属性探测段描述符与段选择子GDT 全局描述符表段描述符段选择子修改段寄存器LDT 局部描述符表段描述符属性P位 高四15G位 高四23S位 高四12D/B位 高四[22]1.对CS段(代码段)的影响2.对SS段(栈段,仍属于数据段)的影响3.对向下拓展的数据段影响TYPE域 高四[8,11]当表示数据段时当表示代码段时当表示系统段时段描述符结构...
2019-12-25 16:26:44 471 1
原创 COM组件一些用法&用途
0x1.主机程序通过相关调用com组件代码,调用IE去访问网络特点: 网络请求的父进程是iexplore.exe,而不是自身#include<stdio.h>#include<windows.h>#include<exdisp.h>int main(){ if (SUCCEEDED(OleInitialize(NULL)))//在当前模块上先初...
2019-11-13 17:35:39 863
原创 栈溢出原理与实现
栈结构:1.方向:高地址(栈底)->低地址(栈顶)2.加载完成pe后,系统会为这个pe分配一个栈,这个栈用于 实现(类似C)高级语言中函数的调用。3.(2)所说的分配的栈是系统自动维护,并且push pop等平衡细节都是透明的。一般来说只有在使用汇编代码的时候,心会和它直接打交道。函数调用与栈#include<stdio.h>void fuc_B(){ pr...
2019-10-23 09:41:09 1021
原创 GS编译选项是什么?为什么?怎么办?简单理解(security_cookie)
GS是什么GS编译选项出现的目的,大部分原因是为了防止下面的情况而出由于堆栈缓冲区溢出,导致代码的eip结构被更改,执行了未知的代码。在微软的安全开发周期模型中,专门在安全编码实践中推荐:对于微软的最新C/C++编译器,使用GS选项编译选项,加入检测函数堆栈缓存溢出错误额外代码。为什么是GSGS怎么就能这么做,为什么是GS。讲解原理这里需要一些对函数调用过程中堆栈变化的一些理解。就不...
2019-10-19 16:40:06 1853 1
原创 编写shellcode并注入至进程
shellcode维基百科:在计算机安全中,shellcode是一小段代码,可以用于软件漏洞利用的载荷。被称为“shellcode”是因为它通常启动一个命令终端,攻击者可以通过这个终端控制受害的计算机,但是所有执行类似任务的代码片段都可以称作shellcode。……Shellcode通常是以机器码形式编写的。去掉修饰词,shellcode就是一段机器码。关于shellcode如何...
2019-10-18 10:42:03 4775 3
原创 CreateProcessAsUser之创建进程时指定父进程与UAC(UAC原理)
UACUAC(user account control),这里科普下UAC的功能,其实UAC就是大家常见的安装软件或者启动程序的时候的出现的全屏变暗的一个提示框,正常的UAC级别下,会检测程序是否有数字签名(可识别程序),以及他的数字签名是否合法,这对于一部分低端的木马具有提醒作用,所以除非特殊情况,不要乱对UCA降权。UAC运行原理:在Windows Vista操作系统中。用户账户主要...
2019-10-15 20:22:27 12732 3
原创 创建傀儡进程
折腾好久,总算完成了自己第一次的傀儡进程编写。效果:使当前进程创建一个子进程(同名)掏空子进程,注入任何自己编写好的其他exe。注意点1.用来创建傀儡进程的父进程程序 需要是32位程序,因为编码的程序本身就是win32控制台程序2.注入到进程中的程序32位,64位都行3.pe结构取值时一定一定要留心是否需要加基址。4.注意区分CUI程序和GUI程序,如果代码编写的是32位控制台程序,...
2019-10-14 21:35:50 1023 12
原创 rmnet蠕虫病毒样本分析
rmnet蠕虫病毒样本分析目录文章目录目录0x00基本信息0x01 概述0x02流程图0x03 技术细节详细分析第一层壳解密出PE文件第二层壳检查环境准备注入iexplore.exe注入Iexplore.exe恶意六线程线程1: 7ACA 自启动线程2: 7626 测试网络连通性线程3: 781F 记录连通时差线程4: 790C 发送本机信息接收返回指令线程5: 6EA8...
2019-10-14 19:58:02 2300 4
转载 float为什么要进行 移位存储或者说移位存储有什么好处?
转载:https://blog.csdn.net/michaelhan3/article/details/72802104首先,我们假设不使用移位存储技术,而是单单看看这个 7位+1位组成的新字节,到底能表示多少个数,这个问题就太简单了,我想大家闭着眼睛都能查出来,没错是从0000000 0 到 1111111 1结束。也就是从0开始到 255结束,一共 256个数。但是,我们知道...
2019-07-01 11:56:52 1853 3
原创 关于电脑全局Ctrl+z 组合键达不到撤销功能的解决办法
前提:键盘没坏,原因:搜狗输入法自动把ctrl+z设置成语言切换的快捷键了,方法:1.打开到:点击更改语言栏热键,2.更改按键顺序3,把对勾去掉就好了...
2019-05-18 10:33:16 9104 2
原创 Burpsuit2.0系列的破解 与jdk 1.80在ubuntu下运行成功.以及代理设置ok,且burp证书导入ok,却不能访问外网的问题.
笔者之前在csdn上下载好的burploader(包含两个.jar ,这个应该是破解好的.)但是 在19年5月左右,运行在ubuntu 下时出现以下报错:提示说可能会遇见问题,是因为我的burpsuite 版本问题,百度了以下 burpsuite2.0系列可以很好地和Jdk1.8.0匹配.接下来破解的问题来了,:特别感谢西门吹雪老师提供的带破解补丁的下载地址:下载链接...
2019-05-03 16:12:51 1462
转载 乌班图下apache不解析php,只显示源码问题!大佬指点!
兄弟姐妹,我真的搜了两三个小时,寻得良文!,为什么没早点看见,呜呜呜,我的时间!原文如下:这两天笔者遇到了一个很操蛋的问题——Apache无法解析PHP代码了,之前一直用的挺好的,突然就挂了,然后在网上疯狂的找解决办法,但是大都是php5的版本,而我却是7的版本,我就先顺便把5版本的解决方法贴出来:修改apache的配置文件httpd.conf在httpd.conf中找到:A...
2019-05-02 17:03:03 1732 2
调试工具winide 注册以及使用教程.7z
2020-04-29
memcached全面剖析.zip
2019-05-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人