自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (4)
  • 收藏
  • 关注

原创 内存

2021-01-30 09:53:44 65

原创 汇编指令

加法减法AND 与指令OR 或指令XOR 异或NOT 非

2021-01-29 11:25:22 119

原创 找寻路CALL 、人物基址、模块基址思路

1.打开游戏2.打开CE3.CE附加游戏4.游戏里面打开地图,输入移动坐标,点击移动,角色开始移动。5.CE里面搜索游戏里面输入的其中一个坐标,点首次搜索。6.游戏里面修改坐标,点击移动,角色又开始移动。7.CE里面搜索刚才修改的值8.打开访问监视窗口9.游戏里面角色再移动,出现访问指令,记住可能的地址 01E2F56811.点运行让游戏跑起来12. Ctrl+G ,输入刚才CE记录的地址在这个地址 按F2下断点14.点K 看谁调用的15、可以看到调用16、Ctr

2021-01-28 16:43:14 6392

原创 用VS Code 对python进行32位与64位,不同版本的编译

1、安装python 32位与64位两个版本2、使用Visual Studio Code编辑python文件3、按下快捷键ctrl+shift+p,输入interpreter,单击筛选出来的结果“Python: Select Interpreter"

2021-01-27 13:32:58 2300

原创 远程注入CALL

PYTHON 写的DLL注入器![(https://img-blog.csdnimg.cn/20210127085023155.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x5Z2wzNQ==,size_16,color_FFFFFF,t_70)

2021-01-27 08:42:23 398

原创 CPU 是怎么做加法运算?

CPU 是怎么做加法运算?例如:CPU 怎么计算7+4=?7 二进制数: 01114 二进制数: 0100第一步:先进行异或XOR运算,并保存结果0011第1次运算 第4次运算 0111 | 0011 XOR 0100 | XOR 1000------------- | ---------- 0011 | 1011第二步:要相加的两个数改为与&运算,并保存结果第2次运算 第5次运算 0111 | 0011

2021-01-26 15:56:17 2280 1

原创 2进制与16进制对照

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 2 3 4 5 6 7 8 9 A B C D E F

2021-01-26 12:03:58 311

原创 16进制

0 1 2 3 4 5 6 7 8 9 A B C D E F10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F50 51 52 53 54 5.

2021-01-26 12:00:29 1044

原创 7进制

0 1 2 3 4 5 6 10 11 12 13 14 15 1620 21 22 23 24 25 2630 31 32 33 34 35 3640 41 42 43 44 45 4650 51 52 53 54 55 5660 61 62 63 64 65 661+1=21+2=3 2+2=4 1+3=4 2+3=5 3+3=61+4=5 2+4=6 3+4=10 4+4=111+5=6 2+5=10 3+5=11 4+5=12 5+.

2021-01-26 11:59:39 1161

原创 内核中常见的通知的枚举删除

接上一篇:内核中常见的通知的使用用枚举全局数组的办法找到所有的回调,进程创建的通知

2021-01-23 15:32:37 73

原创 《Windows内核安全与驱动开发》自学笔记之@实战调试

按照书中添加代码#if DBG _asm int 3#endif编译时报错不支持在此结构上使用“__asm”关键字网上查找到的解决方案如下:原因:VS x64平台不支持内联汇编知乎找到的解决办法:安装Intel C++ Compiler下载parallel_studio_xe_2020只选择Intel C++ Compiler(安装Intel C++ Compiler的时候要关闭Visual Studio)一直往下安装就可以了。默认第一项激活,选择压缩包内crack里面的授权

2021-01-23 09:43:26 133 2

原创 《Windows内核安全与驱动开发》自学笔记之@IRP

什么是IRPI/0 request packets,简称IRP,即输入输出请求包,它是WINDOWS内核的一种非常重要的数据结构。上层应用程序与底层驱动程序通信时,应用程序会发出I/O请求,操作系统将相应的I/O请求转换成相应的IRP,不同的IRP会根据类型被分派到不同的派遣历程中进行处理。作用:上层应用程序与底层驱动通信,即EXE程序与SYS之间的通讯。五中常用的IRP类型:不止这种类型,其它类型可到官网查询#define IRP_MJ_CREATE 0X00 //对应用户层函数CreateF

2021-01-23 09:42:31 263

原创 内核中常见的通知的使用

应用场景一个程序打开,可以用驱动捕获到这个程序的PID ,程序名字,和这个程序用到的DLL模块等信息,包括加载的顺序都可以获取注册一个通知和对应的回调函数就可以实现这一的功能全部代码:/**********************驱动程序学习例程************************* 平台:visual studio 2019 * 功能:内核通知* 编写:ZGL* 日期:2021-01-22** 更改记录:未更改**************************

2021-01-23 09:37:43 228

原创 添加例程到线程池,也就是自己定义一个函数,放到系统里面,让系统自动执行这个函数

如下图,这些都是系统将要执行的函数我们也来添加一个线程到这里第一步:定义一个全局的线程池对象:WORK_QUEUE_ITEM workobj = { 0 };//线程池对象第二步初始化这个线程池对象,然后把这个线程池对象插入系统工作列表线程//-----------添加函数到系统线程池--------- //初始化线程池对象&workobj ExInitializeWorkItem(&workobj, WorkItemRoutine, NULL); //插入线程池队列

2021-01-22 14:56:15 374

原创 内核中使用定时器

知识点1、内核中的时间用LAGER一个64位的数来表示,一般情况下有两种,有整数和负数。负数是相对时间,从现在起经过多久的一个相对时间。2、-1010001000=1秒(s)1秒(s)=1000毫秒(ms)=10001000微秒=100010001000纳秒内核中基准单位是 100纳秒所以10010=1000 100010001000=1秒...

2021-01-22 11:56:08 370 1

原创 内核线程之间的同步,R3线程和内核线程的同步

作用当线程1需要等待线程2处理一些事情的时候就用到这种线程同步机制知识点1、事件,信号灯,互斥体都是线程之间通讯的方式,事件的通讯能满足大部分需求。2、休眠函数 LARGE_INTEGER sleeptime = {0};//定义一个休眠的时间 sleeptime.QuadPart = -100 * 10 * 100 * 3;//这里是3秒时间 while (1) { //这个函数相当于R3程序的 Sleep 让线程休眠 KeDelayExecutionThread(Kernel

2021-01-21 16:47:54 460 1

原创 内存的分配和链表

内存分配查找内存泄露的工具 PoolMonX.exe//-----------------内存分配--------------- PVOID tempbuffer = ExAllocatePoolWithTag(NonPagedPool,0x1000,'xxaa');链表链表初始化先定义一个结构 ,和链表头/// <summary>/// 自定义的结构体/// </summary>typedef struct _Mystruct{ LIST_ENTRY

2021-01-21 10:35:48 475

原创 windows蓝屏分析

蓝屏后的 DMP文件拖到 windbg,执行 !analyze -vSTOP代码蓝屏的原因00000001BSOD意味着APC状态指数存在不匹配。BSOD错误代码0x00000001也可能在同一蓝色屏幕上显示“APC_INDEX_MISMATCH”。0x00000002这种BSOD并不常见。BSOD错误代码0x00000002也可能在同一蓝色屏幕上显示“DEVICE_QUEUE_NOT_BUSY”。0x00000003这种BSOD并不常见。蓝屏错误代码0x00000003也可能在同一蓝屏

2021-01-20 15:40:34 1563 1

原创 中断级和自旋锁

知识点1、中断级(IRQL):数字越大优先级越高,优先执行,等级越低越容易被等级高的程序打断。0级 pass_level 1级 apc_level 2 级 dpc_level,比2级dpc高的是 硬件中断级2、通过编程可以把代码提高到2级 DPC这个中断基本,这个也叫做ISR延时调用,当某个硬件设备引发一个高中断的时候,可以把不那么紧急的任务放在DPC里面跑。DPC是通过无硬件达到的最高例程,这个中断很难被打断,能打断它的只有硬件中断。dpc有一个队列,也可以叫线程池,当CPU处理完高于DP

2021-01-20 15:31:57 1065

原创 内核操作注册表

实现效果注册表的查询,,可以查询到驱动的路径,把驱动拷贝到系统目录C:\Windows\System32\drivers,并且把驱动路径改为 C:\Windows\System32\drivers知识点:1、驱动文件在注册表中的路径 用 类似 “\SystemRoot\system32\drivers\afd.sys”这样的格式,比用“??\C:\Windows\System32\drivers\MyDriver2.sys” 这种格式能满足你跟早的启动的需求2、Start 值 越小启动越早,3是手

2021-01-19 16:41:06 491

原创 内核文件基本操作

调用:KernelCopyFile(L"\??\C:\888.exe", L"\??\C:\567.exe");readoffset.QuadPart = 0 这个是读取文件位置,如果读取的文件很大,可以通过这个参数来分批读入文件的打开,读取,创建,写入 都包含在这个函数///KernelCopyFile内核拷贝函数///执行流程基于旧文件的打开,旧文件内容的读取,新文件的创建最后新文件的写入/// 参数1是新文件路径,参数2是旧文件路径NTSTATUS KernelCopyFile(PWCH

2021-01-19 09:09:53 295

原创 内核模块字符相关处理

一、初始化字符串 :RtlInitUnicodeString(&deviceanme, DEVICE_NAME)#define DEVICE_NAME L"\\Device\\MyfirstDevice" //定义一个驱动的名字UNICODE_STRING deviceanme = { 0 };//初始一个存储设备名字的内存空间RtlInitUnicodeString(&deviceanme, DEVICE_NAME);//初始化一个字符串DbgPrint("--:%wZ

2021-01-18 15:10:05 491

原创 应用层到内核数据的输入与输出,常规的通讯(派遣函数)

功能:应用层与内核可以通讯,交互数据,这里演示的是常规IO输入输出的通讯。学习自B站 UP主:写驱动的女装大佬《中级篇第三课》

2021-01-16 16:32:02 455

原创 实现一个虚拟的驱动设备,实现应用层与驱动设备对象简单的交互

实现效果:控制台程序运行后,驱动的MyCreate函数开始工作 ,在Debug窗口打印了 My Device has be opende按任意键后驱动调用了MyCleanUp函数和MyClose,分别打印出了这两个函数设置的打印内容

2021-01-15 16:35:59 487

原创 DEVICE设备

应用层应用层通过符号链接操作FDO层DEVICE_OBJECT(FDO)真实的虚拟设备,一个FDO可以不关联真实的物理设备虚拟设备物理设备(PDO)真实设备

2021-01-15 15:35:22 709

原创 最小的驱动代码

/**********************驱动程序学习例程************************* 平台:windows10* 功能:驱动程序代码最小代码测试* 编写:ZGL* 日期:2021-01-14* * 更改记录:未更改******************************************************************/#include <ntddk.h>VOID nothing(HANDLE ppid, H

2021-01-14 16:57:17 122

原创 DebugView设置

2021-01-14 15:56:06 369

原创 windows体系结构

2021-01-12 09:08:51 277

原创 位运算说明及常用应用场景

C语言位运算符& (与,和,AND)说明可以叫 AND运算,与运算,和运算同时为真才为真‭00 11 11 00‬&‭11 10 10 11=00 10 10 00‬& 应用场景:对某一位置0例如我们需要对下面这个数的第二位至零,而且不破坏其它位的值就可以用&运算10 10 01 10&11 11 11 0110 10 01 01| (或,OR)说明两者有一个为真就为真& 应用场景:对某一位置1例如我们需要对下面这个数

2021-01-11 11:52:17 594 1

原创 常见的数据存放,内存结构、寄存器、标志位

堆内存自己向系统要的一片的空间栈空间局部变量存放在栈空间数据段编译器把字符默认存放在数据段,但是不一定放在数据段,也可以放在栈空间idata 代码区rdata 常量区data 数据区–全局变量放在数据段数据存放地址在: 0x7A7B30存放在rdata常量区,常量区开始地址是007A7000数据存放地址=常量区起始地址+便宜0x7A7B30=007A7000+B3000457B30 61 73 64 69 6F 70 73 73

2021-01-09 13:11:51 1510

DriverMonitor.zip

驱动安装工具

2021-01-14

VirtualKD-Redux-2020.2

如果VirtualKD-3.0不能连接成功,用这个试试,方法一样,亲测有效

2020-12-23

DebugView 微软官方原版

微软官方原版

2020-12-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除