Skip to main content

章节14:恶意软件开发基础

Windows 架构、API 与编程调用

从这个章节起,我们将学习一些有关编程与二进制的技能,为下个章节的恶意软件以及安全工具开发奠定基础。学习恶意软件开发的原因有多种,从进攻型安全的角度来看,我们通常需要针对客户的环境执行某些恶意任务...

PE 文件

可移植可执行 (PE) 文件格式与 Windows 操作系统上能实现代码执行的文件类型所使用,常见的拓展名有 exe、dll、sys 等。PE 格式描述了文件必须遵循的标准结构,以便定位其内容并...

动态链接库文件

DLL 文件 对于 Windows 操作系统,EXE 与 DLL 虽然同为 PE 文件,但是这 2 种文件类型依旧有着诸多的不同。DLL 是可执行函数或数据的共享库,可供多个应用程序同时使用。...

进程与线程

在恶意软件开发领域,诸多代码注入、防御规避技术是围绕着进程与线程展开的,因此我们首先需要理解进程与线程的相关概念。 进程与线程 Windows 进程是指当前运行在 Windows 主机上的程...

x64架构汇编

掌握汇编语言对于恶意软件开发有着很大的作用,例如可以编写自定义 Shellcode、在木马加载器中插入汇编代码以实现混淆以及底层的指令操作等。 基本概念 汇编语言是我们可以用来为给定 C...

使用 WinDBG 调试

在这小节,我们将学习调试程序的技能,这对于恶意软件开发领域有这些帮助:理解当下的恶意软件的技术、功能、原理,分析恶意软件并且改进,开发漏洞利用以及 Shellcode,理解安全产品的原理以规避检...

Shellcode 编写 - 1

背景 一般来说,如果我们需要执行 Shellcode,会通过各自的 C2 或者 msfvenom 来生成,但因为这些工具大部分都是开源的,即便是商业工具,也会因为样本的提交导致 Shellco...

Shellcode 编写 - 2

调用 API 为了能实现反向 Shell,我们需要 3 个来自 ws2_32.dll 中的 函数,分别是 WSAStartup,WSASocketA,和 WSAConnect。以及来自 ker...

第14章课后作业

练习 1:分析 OpenProcess 的调用链 2:使用 C++ 调用 CreateProcess API,运行 calc.exe 程序 3:使用 P/Invoke 通过序数调用 Ope...

面试专题