上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 37 下一页
摘要: x64dbg 是一款开源的应用层反汇编调试器,旨在对没有源代码的可执行文件进行恶意软件分析和逆向工程,同时 x64dbg 还允许用户开发插件来扩展功能,插件开发环境的配置非常简单,如下将简单介绍x64dbg是如何配置开发环境以及如何开发插件的。 阅读全文
posted @ 2022-09-02 20:50 lyshark 阅读(1287) 评论(0) 推荐(1) 编辑
摘要: 通过对LyScript自动化插件进行二次封装,实现从内存中读入目标进程解码后的机器码,并通过Python代码在这些机器码中寻找特定的十六进制字符数组,或直接检索是否存在连续的反汇编指令片段等功能。 阅读全文
posted @ 2022-09-01 09:01 lyshark 阅读(431) 评论(0) 推荐(0) 编辑
摘要: LyScript 插件实现对特定汇编指令片段的批量搜索功能,用户传入一个汇编指令列表,然后循环搜索该列表内的所有指令特征,如果找到了,则返回该指令的内存地址。 阅读全文
posted @ 2022-08-15 10:11 lyshark 阅读(379) 评论(0) 推荐(0) 编辑
摘要: LyScript 插件可实现对压缩壳的快速脱壳操作,目前支持两种脱壳方式,一种是运用API接口自己编写脱壳过程,另一种是直接加载现有的脱壳脚本运行脱壳。首先准备一个加了UPX压缩壳的程序,然后我们通过自己编写脚本完成脱壳任务。 我们将当前EIP停留在UPX壳的首地址处,执行如下脚本,将可以自动寻找到当前EIP的具体位置。 阅读全文
posted @ 2022-08-12 17:05 lyshark 阅读(465) 评论(0) 推荐(0) 编辑
摘要: LyScript插件中内置的方法可实现各类反调试以及屏蔽特定API函数的功能,这类功能在应对病毒等恶意程序时非常有效,例如当程序调用特定API函数时我们可以将其拦截,从而实现保护系统在调试时不被破坏的目的。 阅读全文
posted @ 2022-08-12 10:32 lyshark 阅读(522) 评论(0) 推荐(0) 编辑
摘要: LyScriptTools模块中的DebugControl类主要负责控制x64dbg调试器的行为,例如获取或设置寄存器组,执行单步命令等,此类内的方法也是最常用的。 阅读全文
posted @ 2022-08-05 16:28 lyshark 阅读(383) 评论(0) 推荐(0) 编辑
摘要: LyScriptTools模块实在LyScript模块反汇编基础上封装而成,其提供了更多的反汇编方法,可以更好的控制x64dbg完成自动化反汇编任务,API参考手册如下。 阅读全文
posted @ 2022-08-04 21:28 lyshark 阅读(396) 评论(0) 推荐(0) 编辑
摘要: LyScriptTools工具包是在LyScript模块基础上封装的工具包,其主要是二次封装LyScript插件实现的一些新功能,或者将特定功能组件拆分开形成的独立模块,此类模块可实现更加精细化的功能控制,在实际开发中推荐使用此种方式调用。 阅读全文
posted @ 2022-08-04 18:17 lyshark 阅读(376) 评论(0) 推荐(0) 编辑
摘要: Capstone 是一个轻量级的多平台、多架构的反汇编框架,该模块支持目前所有通用操作系统,反汇编架构几乎全部支持,实现应用层钩子扫描,我们需要得到程序内存文件的机器码以及磁盘中的机器码,并通过capstone这个第三方反汇编引擎,对两者进行反汇编,最后逐条对比汇编指令,实现进程钩子扫描的效果。 阅读全文
posted @ 2022-08-03 20:50 lyshark 阅读(503) 评论(0) 推荐(0) 编辑
摘要: LyScript 针对内存读写函数的封装功能并不多,只提供了内存读取和内存写入函数的封装,本篇文章将继续对API进行封装,实现一些在软件逆向分析中非常实用的功能,例如内存交换,内存区域对比,磁盘与内存镜像比较,特征码检索等功能。 阅读全文
posted @ 2022-08-03 17:06 lyshark 阅读(787) 评论(0) 推荐(1) 编辑
摘要: LyScript 插件通过配合内存读写,可实现对特定位置的ShellCode代码的导出,或者将一段存储在文本中的ShellCode代码插入到程序堆中,此功能可用于快速将自己编写的ShellCode注入到目标进程中,以用于后续测试工作。 阅读全文
posted @ 2022-08-03 17:03 lyshark 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 有些漏洞利用代码需要在某个保护模式被关闭的情况下才可以利用成功,在此之前需要得到程序开启了何种保护方式。验证其实有很多方法,其原理是读入PE文件头部结构,找到`OPTIONAL_HEADER.DllCharacteristics`结构,通过与不同的操作数与运算得到,LyScript插件完全可以实现这个验证功能,实现起来也是很简单的。 阅读全文
posted @ 2022-08-03 15:11 lyshark 阅读(402) 评论(0) 推荐(0) 编辑
摘要: LyScript插件中提供了三种基本的堆栈操作方法,其中`push_stack`用于入栈,`pop_stack`用于出栈,而最有用的是`peek_stack`函数,该函数可用于检查指定堆栈位置处的内存参数,利用这个特性就可以实现,对堆栈地址的检测,或对堆栈的扫描等。 阅读全文
posted @ 2022-08-03 10:19 lyshark 阅读(791) 评论(0) 推荐(2) 编辑
摘要: LyScript 插件默认并没有提供上一条与下一条汇编指令的获取功能,当然你可以使用`LyScriptTools`工具包直接调用内置命令得到,不过这种方式显然在效率上并不理想,我们需要在LyScript插件API基础上自己封装实现这个功能。 阅读全文
posted @ 2022-07-28 11:10 lyshark 阅读(849) 评论(0) 推荐(2) 编辑
摘要: ROP绕过片段简单科普一下,你可以理解成一个可以关闭系统自身内存保护的一段机器指令,这段代码需要我们自己构造,这就涉及到在对端内存搜寻这样的指令,LyScript插件增强了指令片段的查找功能,但需要我们在LyScript插件基础上封装一些方法,实现起来也不难。 阅读全文
posted @ 2022-07-26 19:59 lyshark 阅读(399) 评论(0) 推荐(0) 编辑
摘要: LyScript 插件默认提供了一个`get_disasm_code()`方法可以直接获取到指定行数的反汇编代码,但如果需要自定义获取或者是需要自己封装一个反汇编方法,则你可以用如下两种方式来得到。 阅读全文
posted @ 2022-07-26 16:04 lyshark 阅读(433) 评论(0) 推荐(0) 编辑
摘要: PE格式是 Windows下最常用的可执行文件格式,理解PE文件格式不仅可以了解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,而有些技术必须建立在了解PE文件格式的基础上,如文件加密与解密,病毒分析,外挂技术等。 阅读全文
posted @ 2022-07-26 09:51 lyshark 阅读(758) 评论(0) 推荐(0) 编辑
摘要: 经过了前一章的学习相信你已经能够独立完成FOA与VA之间的互转了,接下来我们将实现在程序中插入新节区,并向新节区内插入一段能够反向连接的ShellCode代码,并保证插入后门的程序依旧能够正常运行不被干扰,为了能够更好的复习PE相关知识,此处的偏移全部手动计算不借助任何工具,请确保你已经掌握了FOA与VA之间的转换关系然后再继续学习。 阅读全文
posted @ 2022-07-26 09:48 lyshark 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 首先老样子,我们先来到PE节表位置处,并仿写一个`.hack`的节,该节大小为`0x1000`字节,在仿写前我们需要先来计算出`.hack`的虚拟偏移与实际偏移,先来查询一下当前节表结构,如下: 阅读全文
posted @ 2022-07-26 09:45 lyshark 阅读(565) 评论(0) 推荐(0) 编辑
摘要: Ring 3层的 IAT HOOK 和 EAT HOOK 其原理是通过替换IAT表中函数的原始地址从而实现Hook的,与普通的 InlineHook 不太一样 IAT Hook 需要充分理解PE文件的结构才能完成 Hook,接下来将具体分析 IAT Hook 的实现原理,并编写一个DLL注入文件,实现 IAT Hook 。 阅读全文
posted @ 2022-07-25 21:26 lyshark 阅读(907) 评论(0) 推荐(2) 编辑
摘要: Zabbix 是一款强大的开源网管监控工具,该工具的客户端与服务端是分开的,我们可以直接使用自带的`zabbix_get`命令来实现拉取客户端上的各种数据,在本地组装参数并使用Popen开子线程执行该命令,即可实现批量监测。 阅读全文
posted @ 2022-07-23 19:41 lyshark 阅读(439) 评论(0) 推荐(0) 编辑
摘要: PySNMP 是一个纯粹用Python实现的SNMP,用PySNMP的最抽象的API为One-line Applications,其中有两类API:同步的和非同步的,都在模块pysnmp.entity.rfc3413.oneliner.cmdgen 中实现,如下是Get方式与Walk方式的基本实现. 阅读全文
posted @ 2022-07-23 19:40 lyshark 阅读(1032) 评论(0) 推荐(0) 编辑
摘要: 纯脚本类的功能实现都是调用的x64dbg命令,目前由于`run_command_exec()`命令无法返回参数,故通过中转eax寄存器实现了取值,目前只能取出整数类型的参数。 阅读全文
posted @ 2022-07-22 16:00 lyshark 阅读(435) 评论(0) 推荐(0) 编辑
摘要: 经过第二关的练习,你已经理解了如何利用"精确数值"扫描查找数值了,让我们进行下一步,本关主要用来搜索进度条,人物血条等,因为这些数据通常是一个进度条,我们无法直接看到的数据,此时可以通过变更的数据一步步筛选找到动态地址。 阅读全文
posted @ 2022-07-18 14:57 lyshark 阅读(2975) 评论(0) 推荐(0) 编辑
摘要: 在前面的教程中我们使用`4字节`的方式`进行扫描`,但有些游戏使用了`"浮点数"`来存储数值,浮点数是带有小数点的数值(如 5.12 或 11321.1),正如本关中的健康和弹药,两者都以浮点方法储存数据,不同的是,健康值为单精度浮点数,而弹药值为双精度浮点数。 阅读全文
posted @ 2022-07-18 14:53 lyshark 阅读(4606) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 37 下一页

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