首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
安全
数据智能老司机
创建于2024-07-31
订阅专栏
逆向、破解、注入等安全技术
等 4 人订阅
共31篇文章
创建于2024-07-31
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
实现逆向工程——Printf 程序的逆向工程模式
每当我们编写程序时,都会使用 printf 函数在输出屏幕上打印各种信息。这些信息可能是面向程序最终用户的提示,也可能是调试用途的日志,或者是一条简单的欢迎消息。恶意软件或病毒编写者也遵循同样的逻辑:
实现逆向工程——基本代码的逆向工程模式
在本章中,我们将编写一些小片段的代码并进行编译,以理解汇编输出。我们将逐步跟随汇编代码中的指令,理解从汇编角度的代码执行流程。 在本章对小片段代码进行编译的过程中,我们将在 32 位环境下使用 Mic
实现逆向工程——代码调用约定的类型
在第 2 章《理解 x86 机器架构》中,我们了解了栈的概念。当我们调用一个函数时,后台会发生一系列操作:控制流被转移到被调用函数,为其局部变量分配栈帧,并将参数传递给被调用者;函数返回时,返回地址会
实现逆向工程——汇编指令演练
在上一章中,我们介绍了一些汇编语言指令。汇编语言中有多种类型的指令,这些指令可以通过分组来更清晰地了解特定指令集的功能和目的。为了理解在逆向工程中逐条分析基础汇编指令的意义,我们将举一个现实生活中的例
实现逆向工程——逆向工程工具快速上手
工具在生活的各个方面都扮演着至关重要的角色。我们日常生活中常用手机计算器来进行基本的数学运算。在手机计算器出现之前,我们使用硬件计算器来完成同样的工作。计算器是我们用来执行特定任务的简单工具示例。对于
实现逆向工程——理解 x86 机器架构
未来,每一个设备或机器都将变得“智能化”。普通设备(或我们称之为“传统设备”)与智能设备之间的最大区别在于,智能设备具备互联网功能。所谓“智能”,意味着该设备经过编程,可以以智能化的方式运行,并可通过
实现逆向工程——逆向工程的影响
在我们开始实施逆向工程之前,了解逆向工程究竟是什么、它如何产生,以及它在现代有什么意义,将会非常有趣。正如其名称所示,逆向工程由“逆向”(Reverse)和“工程”(Engineering)两个词组合
Mac 恶意软件的艺术:终端安全
如果你已经读到这里,可能会得出一个结论:为 macOS 编写安全工具是一项极具挑战的工作,这很大程度上是因为苹果自身的限制。例如,如果你想捕获远程进程的内存,那几乎是不可能的;而且正如你在第5章看到的
Mac 恶意软件的艺术:网络监控
在本章中,我将介绍在 macOS 系统上监控网络活动的多种方法。首先,我会从简单的开始,演示如何定期调度网络快照,以获得对主机网络活动的近乎连续的观察视角。接着,你将深入了解苹果的 NetworkEx
Mac 恶意软件的艺术:日志监控
如果你花时间研究过 macOS,可能会遇到系统的统一日志机制,这是一项资源,可以帮助你理解 macOS 内部结构,并且,正如你很快会看到的,它还能用来发现恶意软件。本章开始,我会重点介绍可以从这些日志
Mac 恶意软件的艺术:持久化
可以说,检测 macOS 上恶意威胁的最佳方法之一就是聚焦“持久化”。这里的“持久化”是指软件(包括恶意软件)通过某种方式在系统中安装自身,以确保其在启动、用户登录或其他确定性事件时自动重新执行。否则
Mac 恶意软件的艺术:网络状态与统计
大多数 Mac 恶意软件样本都会大量利用网络执行各种任务,比如窃取数据、下载额外负载,或者与指挥控制服务器通信。如果你能观察到这些未授权的网络事件,就可以将其转化为强有力的检测启发式规则。在本章中,我
Mac 恶意软件的艺术:代码签名
在本章中,我们将编写代码,提取恶意软件常滥用的分发文件格式(如磁盘映像和安装包)中的代码签名信息。接着,我们将关注磁盘上 Mach-O 二进制文件及运行进程的代码签名信息。针对每种情况,我会展示如何编
Mac 恶意软件的艺术:解析二进制文件
在上一章中,我们列举了正在运行的进程,并提取了一些信息,这些信息有助于我们通过启发式方法检测恶意软件。不过,我们还没有介绍如何检查支撑每个进程的实际二进制文件。本章将讲解如何以编程方式解析和分析 ma
Mac 恶意软件的艺术:检查进程
绝大多数Mac恶意软件以独立进程的形式持续运行在被感染的系统上。因此,如果你生成当前运行进程的列表,很有可能包含系统中存在的任何恶意软件。因此,当你尝试通过编程方式检测macOS恶意软件时,应首先检查
从零基础到零日漏洞——模糊测试全覆盖
请考虑当今你可能遇到的各种漏洞研究目标:Golang 网络协议服务器、Electron 桌面客户端、Kotlin 安卓应用等等。虽然传统的针对编译后的二进制文件进行白盒模糊测试仍有其用武之地,但你很可
从零基础到零日漏洞——覆盖率引导模糊测试
基于变异的黑盒模糊测试的最大优势之一是几乎不需要复杂的准备工作。收集好初始输入(种子语料库)后,你所要做的就是运行模糊测试工具,等待崩溃或异常行为的发生,这些往往暗示着潜在的漏洞,比如内存损坏漏洞。这
从零基础到零日漏洞——快速且简易的模糊测试
我们到目前为止讨论的代码审计和逆向工程策略,都是为了深入理解程序,从而进行某种变体的污点分析。寻找易受攻击的汇点并将其与可达的源点关联,是一种经久不衰、永远适用的策略。然而,即使借助各种自动化框架和节
下一页