AC自动机是一种高效的多模式字符串匹配算法,通过 Trie 树和失配指针的结合优化匹配过程。本文结合图例,基于go语言进行算法讲解和实现。
-
Windows 二进制原始文件名获取
Windows 绕过主机安全应用的检查,有时候可以简单通过将恶意工具或者系统工具改名实现。为了提高绕过成本,可以借助 PE 文件的原始文件名属性辅助分析。
-
SwiftUI 入门之 NavigationSplitView 应用
NavigationSplitView 是 macOS 和 iPadOS 系统常用的布局容器。虽然入门简单,但在 NavigationSplitView 里混合使用 List、Section 等容器可能会造成列表元素选择异常的问题,需要对元素标识符进行处理。
-
macOS 剪切板数据查看与修改
使用 NSPasteboard 类提供的各项方法实现对系统通用剪切板的查看和控制。在剪切板数据变更时获取当前拷贝的数据内容,根据需要修改或者删除相关类型的数据。
-
汇编语言入门之 call 指令
理解汇编语言是逆向必须掌握的一项技能。本文基于逆向 xnu 内核的发现,谈一下对 call 指令的学习理解,涉及到 call near 和 call far。
-
macOS xnu execsw 符号或将废弃
逆向 macOS14 xnu 内核时,发现一个较大的变化:内核 execsw 符号已不再使用。
-
macOS 应用内更新检查
macOS 应用开发小技巧:基于 Github 托管平台实现应用内更新检查。
-
macOS 应用程序坞和菜单栏设置
macOS 应用开发小技巧:应用窗口关闭后重新显示、自定义程序坞应用图标状态、设置桌面右上角常驻菜单栏。
-
macOS 修改 MachO 文件实现动态库注入(三)
通过在 Mach-o 文件中插入 Load Commands 指令实现动态库注入的方法有一定局限性,因为如果没有足够的空白的空间,则不便插入新指令。本文讲解在不新增 Load Commands 指令的前提下实现自定义动态库的注入。
-
macOS 修改 MachO 文件实现动态库注入(二)
macOS 上大部分 Mach-o 文件是多架构的。了解如何修改单架构二进制文件后,还需进一步实现多架构 Mach-o 文件 Load Commands 指令的插入方法。