上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 37 下一页
摘要: 在驱动开发中我们有时需要得到驱动自身是否被加载成功的状态,这个功能看似没啥用实际上在某些特殊场景中还是需要的,如下代码实现了判断当前驱动是否加载成功,如果加载成功, 则输出该驱动的详细路径信息。 阅读全文
posted @ 2022-10-08 20:28 lyshark 阅读(774) 评论(0) 推荐(0) 编辑
摘要: Flask 框架中如果想要实现WebSocket功能有许多种方式,运用SocketIO库来实现无疑是最简单的一种方式,Flask中封装了一个`flask_socketio`库该库可以直接通过pip仓库安装,如下内容将重点简述SocketIO库在Flask框架中是如何被应用的,最终实现WebSSH命令行终端功能,其可用于在Web浏览器内实现SSH命令行执行。 阅读全文
posted @ 2022-10-06 18:28 lyshark 阅读(1009) 评论(1) 推荐(0) 编辑
摘要: echarts是百度推出的一款开源的基于`JavaScript`的可视化图表库,该开发库目前发展非常不错,且支持各类图形的绘制可定制程度高,Echarts绘图库同样可以与`Flask`结合,前台使用`echart`绘图库进行图形的生成与展示,后台则是Flask通过`render_template`方法返回一串JSON数据集,前台收到后将其应用到绘图库上,实现动态展示Web服务日志状态功能。如下案例中将分别展示运用该绘图库如何绘制(饼状图,柱状图,折线图)这三种最基本的图形。 阅读全文
posted @ 2022-10-05 18:26 lyshark 阅读(1164) 评论(0) 推荐(2) 编辑
摘要: Tracert 命令跟踪路由原理是IP路由每经过一个路由节点TTL值会减一,假设TTL值=0时数据包还没有到达目标主机,那么该路由则会回复给目标主机一个数据包不可达,由此我们就可以获取到目标主机的IP地址,如下我们通过scapy构造一个路由追踪工具并实现一次追踪。 阅读全文
posted @ 2022-10-04 15:42 lyshark 阅读(894) 评论(0) 推荐(0) 编辑
摘要: Python 通过pywin32模块调用WindowsAPI接口,实现对特定进程加载模块的枚举输出并检测该PE程序模块所启用的保护方式,此处枚举输出的是当前正在运行进程所加载模块的DLL模块信息,需要用户传入进程PID才可实现输出。 阅读全文
posted @ 2022-10-04 14:47 lyshark 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 内核中执行代码后需要将结果动态显示给应用层的用户,DeviceIoControl 是直接发送控制代码到指定的设备驱动程序,使相应的移动设备以执行相应的操作的函数,如下代码是一个经典的驱动开发模板框架,在开发经典驱动时会用到的一个通用案例。 阅读全文
posted @ 2022-10-03 20:11 lyshark 阅读(668) 评论(0) 推荐(1) 编辑
摘要: 在前几篇文章中给大家具体解释了驱动与应用层之间正向通信的一些经典案例,本章将继续学习驱动通信,不过这次我们学习的是通过运用`Async`异步模式实现的反向通信,反向通信机制在开发中时常被用到,例如一个杀毒软件如果监控到有异常进程运行或有异常注册表被改写后,该驱动需要主动的通知应用层进程让其知道,这就需要用到驱动反向通信的相关知识点,如下将循序渐进的实现一个反向通信案例。 阅读全文
posted @ 2022-10-03 15:47 lyshark 阅读(967) 评论(0) 推荐(0) 编辑
摘要: 在本人前一篇博文《驱动开发:通过ReadFile与内核层通信》详细介绍了如何使用应用层ReadFile系列函数实现内核通信,本篇将继续延申这个知识点,介绍利用PIPE命名管道实现应用层与内核层之间的多次通信方法。 什么是PIPE管道? 在Windows编程中,数据重定向需要用到管道PIPE,管道是一 阅读全文
posted @ 2022-10-01 08:33 lyshark 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 在本人前一篇博文`《驱动开发:通过ReadFile与内核层通信》`详细介绍了如何使用应用层`ReadFile`系列函数实现内核通信,本篇将继续延申这个知识点,介绍利用`PIPE`命名管道实现应用层与内核层之间的多次通信方法。 阅读全文
posted @ 2022-10-01 08:33 lyshark 阅读(1053) 评论(0) 推荐(0) 编辑
摘要: 驱动与应用程序的通信是非常有必要的,内核中执行代码后需要将其动态显示给应用层,但驱动程序与应用层毕竟不在一个地址空间内,为了实现内核与应用层数据交互则必须有通信的方法,微软为我们提供了三种通信方式,如下先来介绍通过ReadFile系列函数实现的通信模式。 阅读全文
posted @ 2022-09-30 16:23 lyshark 阅读(1006) 评论(0) 推荐(4) 编辑
摘要: ImGUI 它是与平台无关的C++轻量级跨平台图形界面库,没有任何第三方依赖,可以将ImGUI的源码直接加到项目中使用,该框架通常会配合特定的D3Dx9等图形开发工具包一起使用,ImGUI常用来实现进程内的菜单功能,而有些辅助开发作者也会使用该框架开发菜单页面,总体来说这是一个很不错的绘图库,如下将公开新版ImGUI如何实现绘制外部菜单的功能。 阅读全文
posted @ 2022-09-30 09:54 lyshark 阅读(2280) 评论(0) 推荐(4) 编辑
摘要: 在上一篇文章`《驱动开发:内核字符串转换方法》`中简单介绍了内核是如何使用字符串以及字符串之间的转换方法,本章将继续探索字符串的拷贝与比较,与应用层不同内核字符串拷贝与比较也需要使用内核专用的API函数,字符串的拷贝往往伴随有内核内存分配,我们将首先简单介绍内核如何分配堆空间,然后再以此为契机简介字符串的拷贝与比较。 阅读全文
posted @ 2022-09-29 13:21 lyshark 阅读(1247) 评论(0) 推荐(1) 编辑
摘要: 在内核编程中字符串有两种格式`ANSI_STRING`与`UNICODE_STRING`,这两种格式是微软推出的安全版本的字符串结构体,也是微软推荐使用的格式,通常情况下`ANSI_STRING`代表的类型是`char *`也就是ANSI多字节模式的字符串,而`UNICODE_STRING`则代表的是`wchar*`也就是UNCODE类型的字符,如下文章将介绍这两种字符格式在内核中是如何转换的。 阅读全文
posted @ 2022-09-28 20:33 lyshark 阅读(1608) 评论(8) 推荐(0) 编辑
摘要: 提到自旋锁那就必须要说链表,在上一篇`《驱动开发:内核中的链表与结构体》`文章中简单实用链表结构来存储进程信息列表,相信读者应该已经理解了内核链表的基本使用,本篇文章将讲解自旋锁的简单应用,自旋锁是为了解决内核链表读写时存在线程同步问题,解决多线程同步问题必须要用锁,通常使用自旋锁,自旋锁是内核中提供的一种高IRQL锁,用同步以及独占的方式访问某个资源。 阅读全文
posted @ 2022-09-28 10:25 lyshark 阅读(958) 评论(0) 推荐(0) 编辑
摘要: 首先CR3是什么,CR3是一个寄存器,该寄存器内保存有页目录表物理地址(PDBR地址),其实CR3内部存放的就是页目录表的内存基地址,运用CR3切换可实现对特定进程内存地址的强制读写操作,此类读写属于有痕读写,多数驱动保护都会将这个地址改为无效,此时CR3读写就失效了,当然如果能找到CR3的正确地址,此方式也是靠谱的一种读写机制。 阅读全文
posted @ 2022-09-25 11:16 lyshark 阅读(1842) 评论(1) 推荐(0) 编辑
摘要: Windows内核中是无法使用`vector`容器等数据结构的,当我们需要保存一个结构体数组时,就需要使用内核中提供的专用链表结构`LIST_ENTRY`通过一些列链表操作函数对结构体进行装入弹出等操作,如下代码是本人总结的内核中使用链表存储多个结构体的通用案例。 阅读全文
posted @ 2022-09-23 21:02 lyshark 阅读(792) 评论(0) 推荐(0) 编辑
摘要: LyScript 插件集成的内置API函数可灵活的实现绕过各类反调试保护机制,前段时间发布的那一篇文章并没有详细讲解各类反调试机制的绕过措施,本次将补充这方面的知识点,运用LyScript实现绕过大多数通用调试机制,实现隐藏调试器的目的。 阅读全文
posted @ 2022-09-17 16:45 lyshark 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 本案例将学习运用LyScript计算特定程序中特定某些片段的Hash特征值,并通过xlsxwriter这个第三方模块将计算到的hash值存储成一个excel表格,本例中的知识点可以说已经具备了简单的表格输出能力,如果时间充裕完全可以实现自动化报告生成。 阅读全文
posted @ 2022-09-12 17:29 lyshark 阅读(358) 评论(0) 推荐(0) 编辑
摘要: LyScript 可实现自定义汇编指令的替换功能,用户可以自行编写一段汇编指令,将程序中特定的通用函数进行功能改写与转向操作,此功能原理是简单的Hook操作。 阅读全文
posted @ 2022-09-11 18:48 lyshark 阅读(441) 评论(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 阅读(398) 评论(0) 推荐(0) 编辑
摘要: x64dbg 调试器的源码编译很麻烦,网络上的编译方法均为老版本,对于新版本来说编译过程中会出现各种错误,编译的坑可以说是一个接着一个,本人通过研究总结出了一套编译拳法可以完美编译输出,不过话说回来x64dbg这种使用两个编译器开发的方式以及调用太多的第三方项目想要完全编译其实也是非常困难的,如下笔记只提供编译x64dbg本体,并确保其能够正常运行。 阅读全文
posted @ 2022-09-09 21:01 lyshark 阅读(1031) 评论(0) 推荐(1) 编辑
摘要: LyScript 中提供了多种内存特征扫描函数,每一种扫描函数用法各不相同,在使用扫描函数时应首先搞清楚他们之间的差异,如下将分别详细介绍每一种内存扫描函数是如何灵活运用的,最后将实现一个简易版内存查壳脚本,可快速定位目标程序加了什么壳。 阅读全文
posted @ 2022-09-09 11:11 lyshark 阅读(874) 评论(0) 推荐(1) 编辑
摘要: Capstone 是一个轻量级的多平台、多架构的反汇编框架。Capstone 旨在成为安全社区中二进制分析和反汇编的终极反汇编引擎。Capstone的编译非常简单只需要一步即可轻松得到对应的Lib库文件,如下将介绍该引擎如何被编译,以及简单的测试编译。 阅读全文
posted @ 2022-09-08 08:38 lyshark 阅读(1377) 评论(0) 推荐(1) 编辑
摘要: 编写一个带有socket通信功能的插件,x64dbg运行后,用户点击链接按钮可直接连接到外部的python中,python作为服务端,当x64dbg内部出现某个事件后,自动将消息推送到外部python脚本上,实现反向传参的目的。 阅读全文
posted @ 2022-09-03 16:02 lyshark 阅读(578) 评论(0) 推荐(1) 编辑
摘要: 鉴于有些小伙伴在寻找博客园迁移到个人博客的方案,本人针对博客园实现了一个自动备份脚本,可以快速将博客园中自己的文章备份成Markdown格式的独立文件,备份后的md文件可以直接放入到hexo博客中,快速生成自己的站点,而不需要自己逐篇文章迁移,提高了备份文章的效率。 阅读全文
posted @ 2022-09-03 14:10 lyshark 阅读(1024) 评论(12) 推荐(3) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 37 下一页

loading... | loading...
博客园 - 开发者的网上家园