09 2022 档案

摘要:驱动与应用程序的通信是非常有必要的,内核中执行代码后需要将其动态显示给应用层,但驱动程序与应用层毕竟不在一个地址空间内,为了实现内核与应用层数据交互则必须有通信的方法,微软为我们提供了三种通信方式,如下先来介绍通过ReadFile系列函数实现的通信模式。 阅读全文
posted @ 2022-09-30 16:23 lyshark 阅读(1113) 评论(0) 推荐(4) 编辑
摘要:ImGUI 它是与平台无关的C++轻量级跨平台图形界面库,没有任何第三方依赖,可以将ImGUI的源码直接加到项目中使用,该框架通常会配合特定的D3Dx9等图形开发工具包一起使用,ImGUI常用来实现进程内的菜单功能,而有些辅助开发作者也会使用该框架开发菜单页面,总体来说这是一个很不错的绘图库,如下将公开新版ImGUI如何实现绘制外部菜单的功能。 阅读全文
posted @ 2022-09-30 09:54 lyshark 阅读(2621) 评论(0) 推荐(4) 编辑
摘要:在上一篇文章`《驱动开发:内核字符串转换方法》`中简单介绍了内核是如何使用字符串以及字符串之间的转换方法,本章将继续探索字符串的拷贝与比较,与应用层不同内核字符串拷贝与比较也需要使用内核专用的API函数,字符串的拷贝往往伴随有内核内存分配,我们将首先简单介绍内核如何分配堆空间,然后再以此为契机简介字符串的拷贝与比较。 阅读全文
posted @ 2022-09-29 13:21 lyshark 阅读(1309) 评论(0) 推荐(1) 编辑
摘要:在内核编程中字符串有两种格式`ANSI_STRING`与`UNICODE_STRING`,这两种格式是微软推出的安全版本的字符串结构体,也是微软推荐使用的格式,通常情况下`ANSI_STRING`代表的类型是`char *`也就是ANSI多字节模式的字符串,而`UNICODE_STRING`则代表的是`wchar*`也就是UNCODE类型的字符,如下文章将介绍这两种字符格式在内核中是如何转换的。 阅读全文
posted @ 2022-09-28 20:33 lyshark 阅读(1749) 评论(8) 推荐(0) 编辑
摘要:提到自旋锁那就必须要说链表,在上一篇`《驱动开发:内核中的链表与结构体》`文章中简单实用链表结构来存储进程信息列表,相信读者应该已经理解了内核链表的基本使用,本篇文章将讲解自旋锁的简单应用,自旋锁是为了解决内核链表读写时存在线程同步问题,解决多线程同步问题必须要用锁,通常使用自旋锁,自旋锁是内核中提供的一种高IRQL锁,用同步以及独占的方式访问某个资源。 阅读全文
posted @ 2022-09-28 10:25 lyshark 阅读(1004) 评论(0) 推荐(0) 编辑
摘要:首先CR3是什么,CR3是一个寄存器,该寄存器内保存有页目录表物理地址(PDBR地址),其实CR3内部存放的就是页目录表的内存基地址,运用CR3切换可实现对特定进程内存地址的强制读写操作,此类读写属于有痕读写,多数驱动保护都会将这个地址改为无效,此时CR3读写就失效了,当然如果能找到CR3的正确地址,此方式也是靠谱的一种读写机制。 阅读全文
posted @ 2022-09-25 11:16 lyshark 阅读(2078) 评论(1) 推荐(0) 编辑
摘要:Windows内核中是无法使用`vector`容器等数据结构的,当我们需要保存一个结构体数组时,就需要使用内核中提供的专用链表结构`LIST_ENTRY`通过一些列链表操作函数对结构体进行装入弹出等操作,如下代码是本人总结的内核中使用链表存储多个结构体的通用案例。 阅读全文
posted @ 2022-09-23 21:02 lyshark 阅读(858) 评论(0) 推荐(0) 编辑
摘要:LyScript 插件集成的内置API函数可灵活的实现绕过各类反调试保护机制,前段时间发布的那一篇文章并没有详细讲解各类反调试机制的绕过措施,本次将补充这方面的知识点,运用LyScript实现绕过大多数通用调试机制,实现隐藏调试器的目的。 阅读全文
posted @ 2022-09-17 16:45 lyshark 阅读(527) 评论(0) 推荐(0) 编辑
摘要:本案例将学习运用LyScript计算特定程序中特定某些片段的Hash特征值,并通过xlsxwriter这个第三方模块将计算到的hash值存储成一个excel表格,本例中的知识点可以说已经具备了简单的表格输出能力,如果时间充裕完全可以实现自动化报告生成。 阅读全文
posted @ 2022-09-12 17:29 lyshark 阅读(361) 评论(0) 推荐(0) 编辑
摘要:LyScript 可实现自定义汇编指令的替换功能,用户可以自行编写一段汇编指令,将程序中特定的通用函数进行功能改写与转向操作,此功能原理是简单的Hook操作。 阅读全文
posted @ 2022-09-11 18:48 lyshark 阅读(465) 评论(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 阅读(424) 评论(0) 推荐(0) 编辑
摘要:x64dbg 调试器的源码编译很麻烦,网络上的编译方法均为老版本,对于新版本来说编译过程中会出现各种错误,编译的坑可以说是一个接着一个,本人通过研究总结出了一套编译拳法可以完美编译输出,不过话说回来x64dbg这种使用两个编译器开发的方式以及调用太多的第三方项目想要完全编译其实也是非常困难的,如下笔记只提供编译x64dbg本体,并确保其能够正常运行。 阅读全文
posted @ 2022-09-09 21:01 lyshark 阅读(1162) 评论(0) 推荐(1) 编辑
摘要:LyScript 中提供了多种内存特征扫描函数,每一种扫描函数用法各不相同,在使用扫描函数时应首先搞清楚他们之间的差异,如下将分别详细介绍每一种内存扫描函数是如何灵活运用的,最后将实现一个简易版内存查壳脚本,可快速定位目标程序加了什么壳。 阅读全文
posted @ 2022-09-09 11:11 lyshark 阅读(900) 评论(0) 推荐(1) 编辑
摘要:Capstone 是一个轻量级的多平台、多架构的反汇编框架。Capstone 旨在成为安全社区中二进制分析和反汇编的终极反汇编引擎。Capstone的编译非常简单只需要一步即可轻松得到对应的Lib库文件,如下将介绍该引擎如何被编译,以及简单的测试编译。 阅读全文
posted @ 2022-09-08 08:38 lyshark 阅读(1497) 评论(0) 推荐(1) 编辑
摘要:编写一个带有socket通信功能的插件,x64dbg运行后,用户点击链接按钮可直接连接到外部的python中,python作为服务端,当x64dbg内部出现某个事件后,自动将消息推送到外部python脚本上,实现反向传参的目的。 阅读全文
posted @ 2022-09-03 16:02 lyshark 阅读(612) 评论(0) 推荐(1) 编辑
摘要:鉴于有些小伙伴在寻找博客园迁移到个人博客的方案,本人针对博客园实现了一个自动备份脚本,可以快速将博客园中自己的文章备份成Markdown格式的独立文件,备份后的md文件可以直接放入到hexo博客中,快速生成自己的站点,而不需要自己逐篇文章迁移,提高了备份文章的效率。 阅读全文
posted @ 2022-09-03 14:10 lyshark 阅读(1041) 评论(12) 推荐(3) 编辑
摘要:x64dbg 是一款开源的应用层反汇编调试器,旨在对没有源代码的可执行文件进行恶意软件分析和逆向工程,同时 x64dbg 还允许用户开发插件来扩展功能,插件开发环境的配置非常简单,如下将简单介绍x64dbg是如何配置开发环境以及如何开发插件的。 阅读全文
posted @ 2022-09-02 20:50 lyshark 阅读(1385) 评论(0) 推荐(1) 编辑
摘要:通过对LyScript自动化插件进行二次封装,实现从内存中读入目标进程解码后的机器码,并通过Python代码在这些机器码中寻找特定的十六进制字符数组,或直接检索是否存在连续的反汇编指令片段等功能。 阅读全文
posted @ 2022-09-01 09:01 lyshark 阅读(441) 评论(0) 推荐(0) 编辑


8927947 | 6877438
博客园 - 开发者的网上家园

点击右上角即可分享
微信分享提示