作者小头像 Lv.3
更多个人资料
535 成长值
1 关注
1 粉丝
+ 关注 私信

个人介绍

致力于二进制安全,反病毒,算法还原技术研究。

感兴趣或擅长的领域

云安全、编程语言、DevOps
个人勋章
TA还没获得勋章~
成长雷达
500
15
0
0
20

个人资料

个人介绍

致力于二进制安全,反病毒,算法还原技术研究。

感兴趣或擅长的领域

云安全、编程语言、DevOps

达成规则

以上满足项可达成此勋章

  • 博客
  • 关注
  • 粉丝
  • 论坛
驱动开发:断链隐藏驱动程序自身
与断链隐藏进程功能类似,关于断链进程隐藏可参考`《驱动开发:DKOM 实现进程隐藏》`这一篇文章,断链隐藏驱动自身则用于隐藏自身SYS驱动文件,当驱动加载后那么使用ARK工具扫描将看不到自身驱动模块,此方法可能会触发PG会蓝屏,在某些驱动辅助中也会使用这种方法隐藏自己。
作者小头像 LyShark
71
0
0
2022-11-02 14:10:23
71
0
0
驱动开发:运用VAD隐藏R3内存思路
在进程的`_EPROCESS`中有一个`_RTL_AVL_TREE`类型的`VadRoot`成员,它是一个存放进程内存块的二叉树结构,如果我们找到了这个二叉树中我们想要隐藏的内存,直接将这个内存在二叉树中`抹去`,其实是让上一个节点的`EndingVpn`指向下个节点的`EndingVpn`,类似于摘链隐藏进程,就可以达到隐藏的效果。
作者小头像 LyShark
65
0
0
2022-11-02 14:07:31
65
0
0
驱动开发:摘链DKOM进程隐藏
DKOM 即直接内核对象操作,我们所有的操作都会被系统记录在内存中,而驱动进程隐藏就是操作进程的EPROCESS结构与线程的ETHREAD结构、链表,要实现进程的隐藏我们只需要将某个进程中的信息,在系统EPROCESS链表中摘除即可实现进程隐藏。
作者小头像 LyShark
76
0
0
2022-11-02 14:02:09
76
0
0
驱动开发:内核中的链表与结构体
Windows内核中是无法使用`vector`容器等数据结构的,当我们需要保存一个结构体数组时,就需要使用内核中提供的专用链表结构`LIST_ENTRY`通过一些列链表操作函数对结构体进行装入弹出等操作,如下代码是本人总结的内核中使用链表存储多个结构体的通用案例。
作者小头像 LyShark
63
0
0
2022-11-02 14:00:07
63
0
0
驱动开发:内核CR3切换读写内存
首先CR3是什么,CR3是一个寄存器,该寄存器内保存有页目录表物理地址(PDBR地址),其实CR3内部存放的就是页目录表的内存基地址,运用CR3切换可实现对特定进程内存地址的强制读写操作,此类读写属于有痕读写,多数驱动保护都会将这个地址改为无效,此时CR3读写就失效了,当然如果能找到CR3的正确地址,此方式也是靠谱的一种读写机制。
作者小头像 LyShark
75
0
0
2022-11-02 13:58:35
75
0
0
驱动开发:内核中的自旋锁结构
提到自旋锁那就必须要说链表,在上一篇`《驱动开发:内核中的链表与结构体》`文章中简单实用链表结构来存储进程信息列表,相信读者应该已经理解了内核链表的基本使用,本篇文章将讲解自旋锁的简单应用,自旋锁是为了解决内核链表读写时存在线程同步问题,解决多线程同步问题必须要用锁,通常使用自旋锁,自旋锁是内核中提供的一种高IRQL锁,用同步以及独占的方式访问某个资源。
作者小头像 LyShark
64
0
0
2022-11-02 13:56:07
64
0
0
驱动开发:内核字符串转换方法
在内核编程中字符串有两种格式`ANSI_STRING`与`UNICODE_STRING`,这两种格式是微软推出的安全版本的字符串结构体,也是微软推荐使用的格式,通常情况下`ANSI_STRING`代表的类型是`char *`也就是ANSI多字节模式的字符串,而`UNICODE_STRING`则代表的是`wchar*`也就是UNCODE类型的字符,如下文章将介绍这两种字符格式在内核中是如何转换的。
作者小头像 LyShark
95
0
0
2022-11-02 13:54:39
95
0
0
驱动开发:内核字符串拷贝与比较
在上一篇文章`《驱动开发:内核字符串转换方法》`中简单介绍了内核是如何使用字符串以及字符串之间的转换方法,本章将继续探索字符串的拷贝与比较,与应用层不同内核字符串拷贝与比较也需要使用内核专用的API函数,字符串的拷贝往往伴随有内核内存分配,我们将首先简单介绍内核如何分配堆空间,然后再以此为契机简介字符串的拷贝与比较。
作者小头像 LyShark
124
0
0
2022-11-02 13:38:01
124
0
0
驱动开发:通过ReadFile与内核层通信
驱动与应用程序的通信是非常有必要的,内核中执行代码后需要将其动态显示给应用层,但驱动程序与应用层毕竟不在一个地址空间内,为了实现内核与应用层数据交互则必须有通信的方法,微软为我们提供了三种通信方式,如下先来介绍通过`ReadFile`系列函数实现的通信模式。
作者小头像 LyShark
95
0
0
2022-11-01 20:07:11
95
0
0
驱动开发:通过PIPE管道与内核层通信
在本人前一篇博文`《驱动开发:通过ReadFile与内核层通信》`详细介绍了如何使用应用层`ReadFile`系列函数实现内核通信,本篇将继续延申这个知识点,介绍利用`PIPE`命名管道实现应用层与内核层之间的多次通信方法。
作者小头像 LyShark
62
0
0
2022-11-01 20:05:54
62
0
0
总条数:173
  • 1
  • ...
  • 13
  • 14
  • 15
  • ...
  • 18
到第 页

上滑加载中

https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=0&rsv_idx=1&tn=baidu&wd=sed%20%E6%9B%BF%E6%8D%A2%E5%AD%97%E7%AC%A6%E4%B8%B2&rsv_pq=c7db61a600035dc5&rsv_t=5e19yEsbV9N5fIvdlGRU
作者小头像
作者小头像
快速交付
+ 关注 私信