摘要: 当今的博客,当今的博主写的文章有一些确实非常的优秀,但是很多人会将别人辛苦的付出,用作自己引流的工具,他们只会洗稿,以至于故意抹掉作者的所有信息,当然,这并不是最失望的。 阅读全文
posted @ 2022-05-06 21:50 lyshark 阅读(381) 评论(6) 推荐(2) 编辑
摘要: 在本人前一篇博文`《驱动开发:通过ReadFile与内核层通信》`详细介绍了如何使用应用层`ReadFile`系列函数实现内核通信,本篇将继续延申这个知识点,介绍利用`PIPE`命名管道实现应用层与内核层之间的多次通信方法。 阅读全文
posted @ 2022-10-01 08:33 lyshark 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 驱动与应用程序的通信是非常有必要的,内核中执行代码后需要将其动态显示给应用层,但驱动程序与应用层毕竟不在一个地址空间内,为了实现内核与应用层数据交互则必须有通信的方法,微软为我们提供了三种通信方式,如下先来介绍通过ReadFile系列函数实现的通信模式。 阅读全文
posted @ 2022-09-30 16:23 lyshark 阅读(159) 评论(0) 推荐(4) 编辑
摘要: ImGUI 它是与平台无关的C++轻量级跨平台图形界面库,没有任何第三方依赖,可以将ImGUI的源码直接加到项目中使用,该框架通常会配合特定的D3Dx9等图形开发工具包一起使用,ImGUI常用来实现进程内的菜单功能,而有些辅助开发作者也会使用该框架开发菜单页面,总体来说这是一个很不错的绘图库,如下将公开新版ImGUI如何实现绘制外部菜单的功能。 阅读全文
posted @ 2022-09-30 09:54 lyshark 阅读(266) 评论(0) 推荐(3) 编辑
摘要: 在上一篇文章`《驱动开发:内核字符串转换方法》`中简单介绍了内核是如何使用字符串以及字符串之间的转换方法,本章将继续探索字符串的拷贝与比较,与应用层不同内核字符串拷贝与比较也需要使用内核专用的API函数,字符串的拷贝往往伴随有内核内存分配,我们将首先简单介绍内核如何分配堆空间,然后再以此为契机简介字符串的拷贝与比较。 阅读全文
posted @ 2022-09-29 13:21 lyshark 阅读(279) 评论(0) 推荐(1) 编辑
摘要: 在内核编程中字符串有两种格式`ANSI_STRING`与`UNICODE_STRING`,这两种格式是微软推出的安全版本的字符串结构体,也是微软推荐使用的格式,通常情况下`ANSI_STRING`代表的类型是`char *`也就是ANSI多字节模式的字符串,而`UNICODE_STRING`则代表的是`wchar*`也就是UNCODE类型的字符,如下文章将介绍这两种字符格式在内核中是如何转换的。 阅读全文
posted @ 2022-09-28 20:33 lyshark 阅读(325) 评论(8) 推荐(0) 编辑
摘要: 提到自旋锁那就必须要说链表,在上一篇`《驱动开发:内核中的链表与结构体》`文章中简单实用链表结构来存储进程信息列表,相信读者应该已经理解了内核链表的基本使用,本篇文章将讲解自旋锁的简单应用,自旋锁是为了解决内核链表读写时存在线程同步问题,解决多线程同步问题必须要用锁,通常使用自旋锁,自旋锁是内核中提供的一种高IRQL锁,用同步以及独占的方式访问某个资源。 阅读全文
posted @ 2022-09-28 10:26 lyshark 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 首先CR3是什么,CR3是一个寄存器,该寄存器内保存有页目录表物理地址(PDBR地址),其实CR3内部存放的就是页目录表的内存基地址,运用CR3切换可实现对特定进程内存地址的强制读写操作,此类读写属于有痕读写,多数驱动保护都会将这个地址改为无效,此时CR3读写就失效了,当然如果能找到CR3的正确地址,此方式也是靠谱的一种读写机制。 阅读全文
posted @ 2022-09-25 11:16 lyshark 阅读(170) 评论(1) 推荐(0) 编辑
摘要: Windows内核中是无法使用`vector`容器等数据结构的,当我们需要保存一个结构体数组时,就需要使用内核中提供的专用链表结构`LIST_ENTRY`通过一些列链表操作函数对结构体进行装入弹出等操作,如下代码是本人总结的内核中使用链表存储多个结构体的通用案例。 阅读全文
posted @ 2022-09-23 21:02 lyshark 阅读(27) 评论(0) 推荐(0) 编辑
摘要: LyScript 插件集成的内置API函数可灵活的实现绕过各类反调试保护机制,前段时间发布的那一篇文章并没有详细讲解各类反调试机制的绕过措施,本次将补充这方面的知识点,运用LyScript实现绕过大多数通用调试机制,实现隐藏调试器的目的。 阅读全文
posted @ 2022-09-17 16:45 lyshark 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 本案例将学习运用LyScript计算特定程序中特定某些片段的Hash特征值,并通过xlsxwriter这个第三方模块将计算到的hash值存储成一个excel表格,本例中的知识点可以说已经具备了简单的表格输出能力,如果时间充裕完全可以实现自动化报告生成。 阅读全文
posted @ 2022-09-12 17:29 lyshark 阅读(7) 评论(0) 推荐(0) 编辑
摘要: LyScript 可实现自定义汇编指令的替换功能,用户可以自行编写一段汇编指令,将程序中特定的通用函数进行功能改写与转向操作,此功能原理是简单的Hook操作。 阅读全文
posted @ 2022-09-11 18:48 lyshark 阅读(22) 评论(0) 推荐(0) 编辑
摘要: LyScript中默认并没有提供获取进程堆基址的函数,不过却提供了获取PEB/TEB的函数,以PEB获取为例,可以调用`dbg.get_peb_address(local_pid)`用户传入当前进程的PID号,通常PID号可以使用`dbg.get_process_id()`函数得到,当得到了PEB进程环境块的基地址,那么获取堆基址就变得很简单了。 阅读全文
posted @ 2022-09-11 14:08 lyshark 阅读(24) 评论(0) 推荐(0) 编辑
摘要: LyScript 中提供了多种内存特征扫描函数,每一种扫描函数用法各不相同,在使用扫描函数时应首先搞清楚他们之间的差异,如下将分别详细介绍每一种内存扫描函数是如何灵活运用的,最后将实现一个简易版内存查壳脚本,可快速定位目标程序加了什么壳。 阅读全文
posted @ 2022-09-09 11:11 lyshark 阅读(221) 评论(0) 推荐(1) 编辑
摘要: Capstone 是一个轻量级的多平台、多架构的反汇编框架。Capstone 旨在成为安全社区中二进制分析和反汇编的终极反汇编引擎。Capstone的编译非常简单只需要一步即可轻松得到对应的Lib库文件,如下将介绍该引擎如何被编译,以及简单的测试编译。 阅读全文
posted @ 2022-09-08 08:38 lyshark 阅读(309) 评论(0) 推荐(1) 编辑
摘要: 昨天加班处理问题,今天可以休息了,借着这个空当想总结一下本人工作三年的工作经验,以及给初入职场小白一些建议,和本人对安全行业的认识。 阅读全文
posted @ 2022-09-07 12:47 lyshark 阅读(913) 评论(4) 推荐(6) 编辑

Copyright © 2022 LyShark Powered by .Net 6 on Kubernetes
loading... | loading...
博客园 - 开发者的网上家园