08 2022 档案

摘要:DKOM 即直接内核对象操作,我们所有的操作都会被系统记录在内存中,而驱动进程隐藏就是操作进程的EPROCESS结构与线程的ETHREAD结构、链表,要实现进程的隐藏我们只需要将某个进程中的信息,在系统EPROCESS链表中摘除即可实现进程隐藏。 阅读全文
posted @ 2022-08-31 07:37 lyshark 阅读(432) 评论(0) 推荐(0) 编辑
摘要:LyScript 插件实现对特定汇编指令片段的批量搜索功能,用户传入一个汇编指令列表,然后循环搜索该列表内的所有指令特征,如果找到了,则返回该指令的内存地址。 阅读全文
posted @ 2022-08-15 10:11 lyshark 阅读(390) 评论(0) 推荐(0) 编辑
摘要:LyScript 插件可实现对压缩壳的快速脱壳操作,目前支持两种脱壳方式,一种是运用API接口自己编写脱壳过程,另一种是直接加载现有的脱壳脚本运行脱壳。首先准备一个加了UPX压缩壳的程序,然后我们通过自己编写脚本完成脱壳任务。 我们将当前EIP停留在UPX壳的首地址处,执行如下脚本,将可以自动寻找到当前EIP的具体位置。 阅读全文
posted @ 2022-08-12 17:05 lyshark 阅读(480) 评论(0) 推荐(0) 编辑
摘要:LyScript插件中内置的方法可实现各类反调试以及屏蔽特定API函数的功能,这类功能在应对病毒等恶意程序时非常有效,例如当程序调用特定API函数时我们可以将其拦截,从而实现保护系统在调试时不被破坏的目的。 阅读全文
posted @ 2022-08-12 10:32 lyshark 阅读(577) 评论(0) 推荐(0) 编辑
摘要:LyScriptTools模块中的DebugControl类主要负责控制x64dbg调试器的行为,例如获取或设置寄存器组,执行单步命令等,此类内的方法也是最常用的。 阅读全文
posted @ 2022-08-05 16:28 lyshark 阅读(403) 评论(0) 推荐(0) 编辑
摘要:LyScriptTools模块实在LyScript模块反汇编基础上封装而成,其提供了更多的反汇编方法,可以更好的控制x64dbg完成自动化反汇编任务,API参考手册如下。 阅读全文
posted @ 2022-08-04 21:28 lyshark 阅读(418) 评论(0) 推荐(0) 编辑
摘要:LyScriptTools工具包是在LyScript模块基础上封装的工具包,其主要是二次封装LyScript插件实现的一些新功能,或者将特定功能组件拆分开形成的独立模块,此类模块可实现更加精细化的功能控制,在实际开发中推荐使用此种方式调用。 阅读全文
posted @ 2022-08-04 18:17 lyshark 阅读(387) 评论(0) 推荐(0) 编辑
摘要:Capstone 是一个轻量级的多平台、多架构的反汇编框架,该模块支持目前所有通用操作系统,反汇编架构几乎全部支持,实现应用层钩子扫描,我们需要得到程序内存文件的机器码以及磁盘中的机器码,并通过capstone这个第三方反汇编引擎,对两者进行反汇编,最后逐条对比汇编指令,实现进程钩子扫描的效果。 阅读全文
posted @ 2022-08-03 20:50 lyshark 阅读(515) 评论(0) 推荐(0) 编辑
摘要:LyScript 针对内存读写函数的封装功能并不多,只提供了内存读取和内存写入函数的封装,本篇文章将继续对API进行封装,实现一些在软件逆向分析中非常实用的功能,例如内存交换,内存区域对比,磁盘与内存镜像比较,特征码检索等功能。 阅读全文
posted @ 2022-08-03 17:06 lyshark 阅读(797) 评论(0) 推荐(1) 编辑
摘要:LyScript 插件通过配合内存读写,可实现对特定位置的ShellCode代码的导出,或者将一段存储在文本中的ShellCode代码插入到程序堆中,此功能可用于快速将自己编写的ShellCode注入到目标进程中,以用于后续测试工作。 阅读全文
posted @ 2022-08-03 17:03 lyshark 阅读(460) 评论(0) 推荐(0) 编辑
摘要:有些漏洞利用代码需要在某个保护模式被关闭的情况下才可以利用成功,在此之前需要得到程序开启了何种保护方式。验证其实有很多方法,其原理是读入PE文件头部结构,找到`OPTIONAL_HEADER.DllCharacteristics`结构,通过与不同的操作数与运算得到,LyScript插件完全可以实现这个验证功能,实现起来也是很简单的。 阅读全文
posted @ 2022-08-03 15:11 lyshark 阅读(411) 评论(0) 推荐(0) 编辑
摘要:LyScript插件中提供了三种基本的堆栈操作方法,其中`push_stack`用于入栈,`pop_stack`用于出栈,而最有用的是`peek_stack`函数,该函数可用于检查指定堆栈位置处的内存参数,利用这个特性就可以实现,对堆栈地址的检测,或对堆栈的扫描等。 阅读全文
posted @ 2022-08-03 10:19 lyshark 阅读(801) 评论(0) 推荐(2) 编辑


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

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