上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 38 下一页
摘要: 提到自旋锁那就必须要说链表,在上一篇`《驱动开发:内核中的链表与结构体》`文章中简单实用链表结构来存储进程信息列表,相信读者应该已经理解了内核链表的基本使用,本篇文章将讲解自旋锁的简单应用,自旋锁是为了解决内核链表读写时存在线程同步问题,解决多线程同步问题必须要用锁,通常使用自旋锁,自旋锁是内核中提供的一种高IRQL锁,用同步以及独占的方式访问某个资源。 阅读全文
posted @ 2022-09-28 10:25 lyshark 阅读(1092) 评论(0) 推荐(0)
摘要: 首先CR3是什么,CR3是一个寄存器,该寄存器内保存有页目录表物理地址(PDBR地址),其实CR3内部存放的就是页目录表的内存基地址,运用CR3切换可实现对特定进程内存地址的强制读写操作,此类读写属于有痕读写,多数驱动保护都会将这个地址改为无效,此时CR3读写就失效了,当然如果能找到CR3的正确地址,此方式也是靠谱的一种读写机制。 阅读全文
posted @ 2022-09-25 11:16 lyshark 阅读(2752) 评论(1) 推荐(0)
摘要: Windows内核中是无法使用`vector`容器等数据结构的,当我们需要保存一个结构体数组时,就需要使用内核中提供的专用链表结构`LIST_ENTRY`通过一些列链表操作函数对结构体进行装入弹出等操作,如下代码是本人总结的内核中使用链表存储多个结构体的通用案例。 阅读全文
posted @ 2022-09-23 21:02 lyshark 阅读(984) 评论(0) 推荐(0)
摘要: LyScript 插件集成的内置API函数可灵活的实现绕过各类反调试保护机制,前段时间发布的那一篇文章并没有详细讲解各类反调试机制的绕过措施,本次将补充这方面的知识点,运用LyScript实现绕过大多数通用调试机制,实现隐藏调试器的目的。 阅读全文
posted @ 2022-09-17 16:45 lyshark 阅读(661) 评论(0) 推荐(0)
摘要: 本案例将学习运用LyScript计算特定程序中特定某些片段的Hash特征值,并通过xlsxwriter这个第三方模块将计算到的hash值存储成一个excel表格,本例中的知识点可以说已经具备了简单的表格输出能力,如果时间充裕完全可以实现自动化报告生成。 阅读全文
posted @ 2022-09-12 17:29 lyshark 阅读(385) 评论(0) 推荐(0)
摘要: LyScript 可实现自定义汇编指令的替换功能,用户可以自行编写一段汇编指令,将程序中特定的通用函数进行功能改写与转向操作,此功能原理是简单的Hook操作。 阅读全文
posted @ 2022-09-11 18:48 lyshark 阅读(544) 评论(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 阅读(482) 评论(0) 推荐(0)
摘要: x64dbg 调试器的源码编译很麻烦,网络上的编译方法均为老版本,对于新版本来说编译过程中会出现各种错误,编译的坑可以说是一个接着一个,本人通过研究总结出了一套编译拳法可以完美编译输出,不过话说回来x64dbg这种使用两个编译器开发的方式以及调用太多的第三方项目想要完全编译其实也是非常困难的,如下笔记只提供编译x64dbg本体,并确保其能够正常运行。 阅读全文
posted @ 2022-09-09 21:01 lyshark 阅读(1475) 评论(0) 推荐(1)
摘要: LyScript 中提供了多种内存特征扫描函数,每一种扫描函数用法各不相同,在使用扫描函数时应首先搞清楚他们之间的差异,如下将分别详细介绍每一种内存扫描函数是如何灵活运用的,最后将实现一个简易版内存查壳脚本,可快速定位目标程序加了什么壳。 阅读全文
posted @ 2022-09-09 11:11 lyshark 阅读(984) 评论(0) 推荐(1)
摘要: Capstone 是一个轻量级的多平台、多架构的反汇编框架。Capstone 旨在成为安全社区中二进制分析和反汇编的终极反汇编引擎。Capstone的编译非常简单只需要一步即可轻松得到对应的Lib库文件,如下将介绍该引擎如何被编译,以及简单的测试编译。 阅读全文
posted @ 2022-09-08 08:38 lyshark 阅读(1861) 评论(0) 推荐(1)
摘要: 编写一个带有socket通信功能的插件,x64dbg运行后,用户点击链接按钮可直接连接到外部的python中,python作为服务端,当x64dbg内部出现某个事件后,自动将消息推送到外部python脚本上,实现反向传参的目的。 阅读全文
posted @ 2022-09-03 16:02 lyshark 阅读(722) 评论(0) 推荐(1)
摘要: 鉴于有些小伙伴在寻找博客园迁移到个人博客的方案,本人针对博客园实现了一个自动备份脚本,可以快速将博客园中自己的文章备份成Markdown格式的独立文件,备份后的md文件可以直接放入到hexo博客中,快速生成自己的站点,而不需要自己逐篇文章迁移,提高了备份文章的效率。 阅读全文
posted @ 2022-09-03 14:10 lyshark 阅读(1125) 评论(12) 推荐(3)
摘要: x64dbg 是一款开源的应用层反汇编调试器,旨在对没有源代码的可执行文件进行恶意软件分析和逆向工程,同时 x64dbg 还允许用户开发插件来扩展功能,插件开发环境的配置非常简单,如下将简单介绍x64dbg是如何配置开发环境以及如何开发插件的。 阅读全文
posted @ 2022-09-02 20:50 lyshark 阅读(1701) 评论(0) 推荐(1)
摘要: 通过对LyScript自动化插件进行二次封装,实现从内存中读入目标进程解码后的机器码,并通过Python代码在这些机器码中寻找特定的十六进制字符数组,或直接检索是否存在连续的反汇编指令片段等功能。 阅读全文
posted @ 2022-09-01 09:01 lyshark 阅读(489) 评论(0) 推荐(0)
摘要: LyScript 插件实现对特定汇编指令片段的批量搜索功能,用户传入一个汇编指令列表,然后循环搜索该列表内的所有指令特征,如果找到了,则返回该指令的内存地址。 阅读全文
posted @ 2022-08-15 10:11 lyshark 阅读(424) 评论(0) 推荐(0)
摘要: LyScript 插件可实现对压缩壳的快速脱壳操作,目前支持两种脱壳方式,一种是运用API接口自己编写脱壳过程,另一种是直接加载现有的脱壳脚本运行脱壳。首先准备一个加了UPX压缩壳的程序,然后我们通过自己编写脚本完成脱壳任务。 我们将当前EIP停留在UPX壳的首地址处,执行如下脚本,将可以自动寻找到当前EIP的具体位置。 阅读全文
posted @ 2022-08-12 17:05 lyshark 阅读(563) 评论(0) 推荐(0)
摘要: LyScript插件中内置的方法可实现各类反调试以及屏蔽特定API函数的功能,这类功能在应对病毒等恶意程序时非常有效,例如当程序调用特定API函数时我们可以将其拦截,从而实现保护系统在调试时不被破坏的目的。 阅读全文
posted @ 2022-08-12 10:32 lyshark 阅读(698) 评论(0) 推荐(0)
摘要: LyScriptTools模块中的DebugControl类主要负责控制x64dbg调试器的行为,例如获取或设置寄存器组,执行单步命令等,此类内的方法也是最常用的。 阅读全文
posted @ 2022-08-05 16:28 lyshark 阅读(460) 评论(0) 推荐(0)
摘要: LyScriptTools模块实在LyScript模块反汇编基础上封装而成,其提供了更多的反汇编方法,可以更好的控制x64dbg完成自动化反汇编任务,API参考手册如下。 阅读全文
posted @ 2022-08-04 21:28 lyshark 阅读(467) 评论(0) 推荐(0)
摘要: LyScriptTools工具包是在LyScript模块基础上封装的工具包,其主要是二次封装LyScript插件实现的一些新功能,或者将特定功能组件拆分开形成的独立模块,此类模块可实现更加精细化的功能控制,在实际开发中推荐使用此种方式调用。 阅读全文
posted @ 2022-08-04 18:17 lyshark 阅读(447) 评论(0) 推荐(0)
摘要: Capstone 是一个轻量级的多平台、多架构的反汇编框架,该模块支持目前所有通用操作系统,反汇编架构几乎全部支持,实现应用层钩子扫描,我们需要得到程序内存文件的机器码以及磁盘中的机器码,并通过capstone这个第三方反汇编引擎,对两者进行反汇编,最后逐条对比汇编指令,实现进程钩子扫描的效果。 阅读全文
posted @ 2022-08-03 20:50 lyshark 阅读(580) 评论(0) 推荐(0)
摘要: LyScript 针对内存读写函数的封装功能并不多,只提供了内存读取和内存写入函数的封装,本篇文章将继续对API进行封装,实现一些在软件逆向分析中非常实用的功能,例如内存交换,内存区域对比,磁盘与内存镜像比较,特征码检索等功能。 阅读全文
posted @ 2022-08-03 17:06 lyshark 阅读(853) 评论(0) 推荐(1)
摘要: LyScript 插件通过配合内存读写,可实现对特定位置的ShellCode代码的导出,或者将一段存储在文本中的ShellCode代码插入到程序堆中,此功能可用于快速将自己编写的ShellCode注入到目标进程中,以用于后续测试工作。 阅读全文
posted @ 2022-08-03 17:03 lyshark 阅读(514) 评论(0) 推荐(0)
摘要: 有些漏洞利用代码需要在某个保护模式被关闭的情况下才可以利用成功,在此之前需要得到程序开启了何种保护方式。验证其实有很多方法,其原理是读入PE文件头部结构,找到`OPTIONAL_HEADER.DllCharacteristics`结构,通过与不同的操作数与运算得到,LyScript插件完全可以实现这个验证功能,实现起来也是很简单的。 阅读全文
posted @ 2022-08-03 15:11 lyshark 阅读(472) 评论(0) 推荐(0)
摘要: LyScript插件中提供了三种基本的堆栈操作方法,其中`push_stack`用于入栈,`pop_stack`用于出栈,而最有用的是`peek_stack`函数,该函数可用于检查指定堆栈位置处的内存参数,利用这个特性就可以实现,对堆栈地址的检测,或对堆栈的扫描等。 阅读全文
posted @ 2022-08-03 10:19 lyshark 阅读(860) 评论(0) 推荐(2)
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 38 下一页