内核

Centos系统udp丢包&内核参数优化

echo 0 > /proc/irq/31/smp_affinity_list echo 1 > /proc/irq/33/smp_affinity_list 这两个命令是用于设置 Linux 中中断处理程序的亲和性,以提高系统的性能和稳定性。 在Linux系统中,系统中断(IRQ)是由硬件触发的, ......
内核 参数 Centos 系统 udp

9.9 Windows驱动开发:内核远程线程实现DLL注入

在笔者上一篇文章`《内核RIP劫持实现DLL注入》`介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过`NtCreateThreadEx`这个内核函数实现注入DLL的目的,需要注意的是该函数在微软系统中未被导出使用时需要首先得到该函数的入口地址,`NtCr... ......
线程 内核 Windows 9.9 DLL

9.4 Windows驱动开发:内核PE结构VA与FOA转换

本章将继续探索内核中解析PE文件的相关内容,PE文件中FOA与VA,RVA之间的转换也是很重要的,所谓的FOA是文件中的地址,VA则是内存装入后的虚拟地址,RVA是内存基址与当前地址的相对偏移,本章还是需要用到`《内核解析PE结构导出表》`中所封装的`KernelMapFile()`映射函数,在映射... ......
内核 Windows 结构 9.4 FOA

9.3 Windows驱动开发:内核解析PE结构节表

在笔者上一篇文章`《内核解析PE结构导出表》`介绍了如何解析内存导出表结构,本章将继续延申实现解析PE结构的PE头,PE节表等数据,总体而言内核中解析PE结构与应用层没什么不同,在上一篇文章中`LyShark`封装实现了`KernelMapFile()`内存映射函数,在之后的章节中这个函数会被多次用... ......
内核 Windows 结构 9.3

9.2 Windows驱动开发:内核解析PE结构导出表

在笔者的上一篇文章`《内核特征码扫描PE代码段》`中`LyShark`带大家通过封装好的`LySharkToolsUtilKernelBase`函数实现了动态获取内核模块基址,并通过`ntimage.h`头文件中提供的系列函数解析了指定内核模块的`PE节表`参数,本章将继续延申这个话题,实现对PE文... ......
内核 Windows 结构 9.2

5.4 Windows驱动开发:内核通过PEB取进程参数

PEB结构`(Process Envirorment Block Structure)`其中文名是进程环境块信息,进程环境块内部包含了进程运行的详细参数信息,每一个进程在运行后都会存在一个特有的PEB结构,通过附加进程并遍历这段结构即可得到非常多的有用信息。在应用层下,如果想要得到PEB的基地址只需... ......
内核 进程 参数 Windows 5.4

5.2 Windows驱动开发:内核取KERNEL模块基址

模块是程序加载时被动态装载的,模块在装载后其存在于内存中同样存在一个内存基址,当我们需要操作这个模块时,通常第一步就是要得到该模块的内存基址,模块分为用户模块和内核模块,这里的用户模块指的是应用层进程运行后加载的模块,内核模块指的是内核中特定模块地址,本篇文章将实现一个获取驱动`ntoskrnl.e... ......
基址 内核 模块 Windows KERNEL

5.3 Windows驱动开发:内核取应用层模块基址

在上一篇文章`《内核取ntoskrnl模块基地址》`中我们通过调用内核API函数获取到了内核进程`ntoskrnl.exe`的基址,当在某些场景中,我们不仅需要得到内核的基地址,也需要得到特定进程内某个模块的基地址,显然上篇文章中的方法是做不到的,本篇文章将实现内核层读取32位应用层中特定进程模块基... ......
基址 应用层 内核 模块 Windows

8.3 Windows驱动开发:内核遍历文件或目录

在笔者前一篇文章`《内核文件读写系列函数》`简单的介绍了内核中如何对文件进行基本的读写操作,本章我们将实现内核下遍历文件或目录这一功能,该功能的实现需要依赖于`ZwQueryDirectoryFile`这个内核API函数来实现,该函数可返回给定文件句柄指定的目录中文件的各种信息,此类信息会保存在`P... ......
内核 Windows 文件 目录 8.3

7.1 Windows驱动开发:内核监控进程与线程回调

在前面的文章中`LyShark`一直在重复的实现对系统底层模块的枚举,今天我们将展开一个新的话题,内核监控,我们以`监控进程线程`创建为例,在`Win10`系统中监控进程与线程可以使用微软提供给我们的两个新函数来实现,此类函数的原理是创建一个回调事件,当有进程或线程被创建或者注销时,系统会通过回调机... ......
线程 内核 进程 Windows 7.1

8.2 Windows驱动开发:内核解锁与强删文件

在某些时候我们的系统中会出现一些无法被正常删除的文件,如果想要强制删除则需要在驱动层面对其进行解锁后才可删掉,而所谓的解锁其实就是释放掉文件描述符(句柄表)占用,文件解锁的核心原理是通过调用`ObSetHandleAttributes`函数将特定句柄设置为可关闭状态,然后在调用`ZwClose`将其... ......
内核 Windows 文件 8.2

8.5 Windows驱动开发:内核注册表增删改查

注册表是Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息,注册表是一个巨大的树形结构,无论在应用层还是内核层操作注册表都有独立的API函数可以使用,而在内核中读写注册表则需要使用内核装用API函数,如下将依次介绍并封装一些案例,实现对注册表的创建,删除,更新,查询等操作。在Win... ......
注册表 内核 Windows 8.5

8.1 Windows驱动开发:内核文件读写系列函数

在应用层下的文件操作只需要调用微软应用层下的`API`函数及`C库`标准函数即可,而如果在内核中读写文件则应用层的API显然是无法被使用的,内核层需要使用内核专有API,某些应用层下的API只需要增加Zw开头即可在内核中使用,例如本章要讲解的文件与目录操作相关函数,多数ARK反内核工具都具有对文件的... ......
内核 函数 Windows 文件 8.1

4.6 Windows驱动开发:内核遍历进程VAD结构体

在上一篇文章`《内核中实现Dump进程转储》`中我们实现了ARK工具的转存功能,本篇文章继续以内存为出发点介绍`VAD`结构,该结构的全程是`Virtual Address Descriptor`即`虚拟地址描述符`,VAD是一个`AVL`自`平衡二叉树`,树的每一个节点代表一段虚拟地址空间。程序中... ......
内核 进程 Windows 结构 4.6

4.4 Windows驱动开发:内核监控进程与线程创建

当你需要在Windows操作系统中监控进程的启动和退出时,可以使用`PsSetCreateProcessNotifyRoutineEx`函数来创建一个`MyCreateProcessNotifyEx`回调函数,该回调函数将在每个进程的创建和退出时被调用。 ......
线程 内核 进程 Windows 4.4

4.5 Windows驱动开发:内核中实现进程数据转储

多数ARK反内核工具中都存在驱动级别的内存转存功能,该功能可以将应用层中运行进程的内存镜像转存到特定目录下,内存转存功能在应对加壳程序的分析尤为重要,当进程在内存中解码后,我们可以很容易的将内存镜像导出,从而更好的对样本进行分析,当然某些加密壳可能无效但绝大多数情况下是可以被转存的。 ......
内核 进程 Windows 数据 4.5

抖音快手小红书贴吧cookie上号登录工具,可对接私信评论!谷歌浏览器内核开发

这个源码是用精易VIP模块开发的,优点:由C++开发,专为易语言深度定制,自动化测试框架,纯C++开发,为易语言进行针对性优化,并且结合易语言人群的编程习惯,采用更人性化的命名规范,执行效率更高,使得操作更简单,稳定性更强。 所以它是直接调用谷歌谷歌浏览器内核的,只要你的账号支持在谷歌浏览器登录操作 ......
快手 私信 内核 贴吧 浏览器

使用Jupyter笔记本并且安装R内核

如果您正在使用Jupyter笔记本并且需要选择R内核,但是在内核列表中没有看到R内核,这通常意味着R内核可能没有正确安装或者没有被Jupyter识别。以下是一些解决步骤:1. 安装R语言: 如果还没有安装R语言,请前往R Project官方网站下载并安装。2. 安装IRkernel: IRkerne ......
内核 Jupyter 笔记本 笔记

小红书视频评论区提取工具,用户ID关键词用户采集,易语言调用谷歌内核实现

这个原理就是调用了精易VIP模块的谷歌浏览器内核,然后截取数据包,网页会通过命令自动下滑,然后视频下面的评论区很快都会加载出来,而加载出来的数据包通过精易vip模块的数据截取命令截取,然后把数据提取到指定的变量里面,然后通过JSON命令解析采集出来的评论用户ID、关键词、时间等信息,下面我会把源码开 ......
用户 内核 关键词 关键 语言

4.2 Windows驱动开发:内核中进程线程与模块

内核进程线程和模块是操作系统内核中非常重要的概念。它们是操作系统的核心部分,用于管理系统资源和处理系统请求。在驱动安全开发中,理解内核进程线程和模块的概念对于编写安全的内核驱动程序至关重要。内核进程是在操作系统内核中运行的程序。每个进程都有一个唯一的进程标识符(PID),它用于在系统中唯一地标识该进... ......
线程 内核 模块 进程 Windows

4.1 Windows驱动开发:内核中进程与句柄互转

在内核开发中,经常需要进行进程和句柄之间的互相转换。进程通常由一个唯一的进程标识符(PID)来标识,而句柄是指对内核对象的引用。在Windows内核中,`EProcess`结构表示一个进程,而HANDLE是一个句柄。为了实现进程与句柄之间的转换,我们需要使用一些内核函数。对于进程PID和句柄的互相转... ......
句柄 内核 进程 Windows 4.1

3.6 Windows驱动开发:内核进程汇编与反汇编

在笔者上一篇文章`《内核MDL读写进程内存》`简单介绍了如何通过MDL映射的方式实现进程读写操作,本章将通过如上案例实现远程进程反汇编功能,此类功能也是ARK工具中最常见的功能之一,通常此类功能的实现分为两部分,内核部分只负责读写字节集,应用层部分则配合反汇编引擎对字节集进行解码,此处我们将运用`c... ......
内核 进程 Windows 3.6

OpenWRT/iStoreOS 不重头编译内核安装4G LTE网卡 Quectel EM05-CE记录

我的机器是x86装了iStoreOS,有4G网卡Quectel EM05 https://www.quectel.com/cn/product/lte-em05 主要参考资料如下 https://www.youtube.com/watch?v=DRddwfZ_TBY https://openwrt. ......
重头 内核 网卡 iStoreOS OpenWRT

3.5 Windows驱动开发:应用层与内核层内存映射

在上一篇博文`《内核通过PEB得到进程参数》`中我们通过使用`KeStackAttachProcess`附加进程的方式得到了该进程的PEB结构信息,本篇文章同样需要使用进程附加功能,但这次我们将实现一个更加有趣的功能,在某些情况下应用层与内核层需要共享一片内存区域通过这片区域可打通内核与应用层的隔离... ......
应用层 内核 内存 Windows 3.5

3.1 Windows驱动开发:内核远程堆分配与销毁

在开始学习内核内存读写篇之前,我们先来实现一个简单的内存分配销毁堆的功能,在内核空间内用户依然可以动态的申请与销毁一段可控的堆空间,一般而言内核中提供了`ZwAllocateVirtualMemory`这个函数用于专门分配虚拟空间,而与之相对应的则是`ZwFreeVirtualMemory`此函数则... ......
内核 Windows 3.1

3.3 Windows驱动开发:内核MDL读写进程内存

MDL内存读写是一种通过创建MDL结构体来实现跨进程内存读写的方式。在Windows操作系统中,每个进程都有自己独立的虚拟地址空间,不同进程之间的内存空间是隔离的。因此,要在一个进程中读取或写入另一个进程的内存数据,需要先将目标进程的物理内存映射到当前进程的虚拟地址空间中,然后才能进行内存读写操作。 ......
内核 进程 内存 Windows 3.3

2.3 Windows驱动开发:内核字符串转换方法

在内核编程中字符串有两种格式`ANSI_STRING`与`UNICODE_STRING`,这两种格式是微软推出的安全版本的字符串结构体,也是微软推荐使用的格式,通常情况下`ANSI_STRING`代表的类型是`char *`也就是`ANSI`多字节模式的字符串,而`UNICODE_STRING`则代... ......
字符串 内核 字符 Windows 方法

2.4 Windows驱动开发:内核字符串拷贝与比较

在上一篇文章`《内核字符串转换方法》`中简单介绍了内核是如何使用字符串以及字符串之间的转换方法,本章将继续探索字符串的拷贝与比较,与应用层不同内核字符串拷贝与比较也需要使用内核专用的API函数,字符串的拷贝往往伴随有内核内存分配,我们将首先简单介绍内核如何分配堆空间,然后再以此为契机简介字符串的拷贝... ......
字符串 内核 拷贝 字符 Windows

2.2 Windows驱动开发:内核自旋锁结构

提到自旋锁那就必须要说链表,在上一篇`《内核中的链表与结构体》`文章中简单实用链表结构来存储进程信息列表,相信读者应该已经理解了内核链表的基本使用,本篇文章将讲解自旋锁的简单应用,自旋锁是为了解决内核链表读写时存在线程同步问题,解决多线程同步问题必须要用锁,通常使用自旋锁,自旋锁是内核中提供的一种高... ......
内核 Windows 结构 2.2

2.1 Windows驱动开发:内核链表与结构体

在`Windows`内核中,为了实现高效的数据结构操作,通常会使用链表和结构体相结合的方式进行数据存储和操作。内核提供了一个专门用于链表操作的数据结构`LIST_ENTRY`,可以用来描述一个链表中的每一个节点。使用链表来存储结构体时,需要在结构体中嵌入一个`LIST_ENTRY`类型的成员变量,用... ......
内核 Windows 结构 2.1