自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 告别本地编译!GitHub Action一键在线编译Android内核驱动教程

摘要: 《compile_android_driver》项目通过GitHub Action实现云端快速编译Android内核驱动,解决传统本地编译的四大痛点:环境配置复杂、源码下载困难、耗时长和多版本兼容问题。用户只需Fork仓库、上传驱动代码并配置参数,30分钟即可获取编译结果(含驱动文件、内核镜像和日志)。项目支持Android 9-14全版本,自动处理源码获取和GKI注册,实测案例显示成功编译并加载rwProcMem驱动。开发者可免费使用,Pro账户或自托管Runner可进一步提升速度。(150字)

2025-07-11 20:44:38 1004

原创 Windows用户层使用指令操作内核程序执行指令! (10) 应用程序入口和演示

我们终于能够开始我们的主题了,关于应用程序怎么写.可以根据自己的需要如后台运行执行进程保护指令让自己的进程无敌都可以,以下为代码。先对驱动签名就行,可以向微软申请签名,使用对应软件运行,可以看到正常运行。至此我们的程序正式完成!已在对应文件添加日记等。

2025-01-28 17:29:39 233

原创 Windows用户层使用指令操作内核程序执行指令! (9)应用加密算法

与Windows驱动开发中加密思路类似,但是在使用我的代码前,你必须正确安装。在安装完之后把其lib文件导入visual studio 根据自己安装目录定。同时也要将OpenSSL的两个dll文件放在文件目录。可以根据自己喜爱添加加密算法。

2025-01-28 17:29:28 138

原创 Windows用户层使用指令操作内核序执行指令! (8) 应用驱动对接

接下来,我们将告别Windows驱动开发中那种一遇到崩溃就令人胆战心惊的蓝屏恐惧,转而迈向普通应用程序开发的愉快旅程(即便报错,也不过是程序闪退而已)。现在,让我们开始初始化驱动对接程序,开启新的篇章。说实话看到iostream时不经令我雀跃万分,蓝屏的崩溃挺6的(绝对不推荐添加劫持蓝屏指令,否则设备什么适合坏了都不好说)程序很简单,按照自己需求改。

2025-01-28 17:29:17 214

原创 Windows用户层使用指令操作内核程序执行指令! (7) 命令执行

最初,我计划利用Microsoft提供的内核AVL树,并结合C++类来优化搜索操作的时间复杂度至O(log n)。然而,无论我如何尝试编写代码或查阅相关资料,最终都遭遇了系统蓝屏的困境,这让我无计可施。在对比链表(时间复杂度为O(n))和哈希表(unordered_map,时间复杂度为O(1))的性能时,我发现当数据量低于10000条时,链表的速度最多仅比哈希表慢2到3倍。虽然这种方法在速度上绝对优于链表,但它也不可避免地导致了代码结构的复杂化,形成了所谓的“史山代码”。

2025-01-28 17:29:01 322

原创 Windows用户层使用指令操作内核程序执行指令!(6) 驱动程序入口

还包含了负责在特定条件下安全、有序地卸载驱动程序的程序,以防止出现资源泄漏、系统不稳定等问题。此外,文件中还涉及到了一系列命令初始化的内容,这些命令对于驱动程序的正确运行和配置起着关键作用,它们能够在驱动程序的不同阶段执行各种操作,如设置初始参数、分配资源等。同时,文件里还包含了全局变量的定义部分,这些全局变量在整个驱动程序的运行过程中扮演着重要的角色,它们可以被不同的模块和函数共享和使用,用于存储驱动程序的状态信息、配置参数以及其他关键数据,从而保证驱动程序的各个部分之间能够高效地进行通信和协作。

2025-01-28 17:28:23 201

原创 Windows用户层使用指令操作内核程序执行指令!(5)驱动程序初始化

在Windows驱动开发中,为了确保我们的驱动程序(运行在ring0级别)能够与应用程序(运行在ring3级别)进行有效的通信,我们需要仔细设置和处理IRP(I/O Request Packet)函数以及相关的驱动机制,推荐大家在命令模块自己写一个指令,使其只有对应的程序才可以于驱动程序沟通,提供程序安全。其中DispatchRead为程序读取驱动数据,DispatchWrite为程序向驱动写入数据。代码很固定可以直接复制,自己写没有意义。

2025-01-28 17:28:12 147

原创 Windows用户层使用指令操作内核程序执行指令! (4) 驱动加密算法

这样一来,当驱动程序接收到数据时,就可以按照同样的规则对前面接收到的数据进行加密,并将得到的加密结果与接收到的末尾的MD5值进行比对。在这种情况下,为了确保系统的安全性和稳定性,驱动程序会果断拒绝执行任何操作,就像一名忠诚的卫士,坚决守护着数据的纯净和安全。想象一下,在信息飞速流转的网络世界中,各种敏感数据如同暴露在风雨中的珍贵宝藏,随时可能面临着被窃取、篡改的风险。这一特性就像是给数据安装了一台高精度的“监控器”,一旦数据发生了任何细微的变化,都能及时被发现,从而确保数据的完整性和真实性。

2025-01-28 17:28:02 318

原创 Windows用户层使用指令操作内核程序执行指令! (3) 文件操作

注意在使用file.h代码时一定要先使用ZwClose()对已获得的文件句柄释放掉(或者自己写一个强制解锁文件),否则会打印"0xC0000043"错误,即"STATUS_SHARING_VIOLATION"错误.对应代码其实不难,主要是可以根据Microsoft提供的文档进行开发。,下面的代码暂时废弃,我在虚拟机中使用强删文件(IrpDeleteFileRun)时会导致不明错误:在资源管理器(explorer.exe)文件删了一刷新就会重新出现,在CMD中会直接显示拒绝访问。文件定义:file.h。

2025-01-28 17:27:48 354

原创 Windows用户层使用指令操作内核程序执行指令! (2) 数据和结构体

这样做的目的是为了确保这些定义可以在程序的任何部分被方便地引用和使用。通过这种方式,我们可以保证每个文件对应其特定的模块,从而避免不同文件之间的相互干扰。例如,在一个复杂的驱动程序项目中,如果我们能够清晰地定义和分离各个模块的功能,那么在调试和维护时就会更加得心应手。此外,这种方法还有利于团队协作,因为不同的开发人员可以并行工作在不同的模块上,而不必担心他们的更改会影响到其他部分的代码。接下来是结构体定义,目前看似代码简单,可后面就难了(一遍又一遍的蓝屏和调试...)

2025-01-28 17:27:33 153

原创 Windows用户层使用指令操作内核程序执行指令! (1) 日记文件

为了利用C语言标准库中的<stdarg.h>来进行可变参数的处理,我们需要包含对应的驱动开发CRT(C Run-Time)库。以Visual Studio为例,我们应当在项目的“c/c++”配置选项中的附加包含目录里导入特定的路径,比如“D:\Windows Kits\10\Include\10.0.26100.0\km\crt”。请根据实际情况对上述路径进行相应的修改。在运行驱动程序的过程中,我们应当始终确保对日记文件进行持续的写入操作。这样做的目的是为了能够迅速且准确地定位到可能出现的错误。

2025-01-28 17:27:22 444

原创 Windows用户层使用指令操作内核程序执行指令! (总述)

这个项目不仅可以帮助用户实现读写任意内存地址的操作,还能让用户在文件管理上拥有更高的自由度(例如强制隐藏、删除、创建文件等),甚至在进程管理上也能做到“当老大”的程度。- `driver.cpp`: 这是驱动程序的主入口文件,负责启动整个驱动程序的运行流程,包括初始化各个模块、进入主循环等待命令等。- `Logging.cpp`: 实现日志记录功能,包括日志的初始化、日志信息的格式化和输出等。- `command.cpp`: 实现命令的具体处理逻辑,根据接收到的命令执行相应的操作。

2025-01-28 17:26:31 830 1

空空如也

空空如也

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

TA关注的人

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