• 我们在哪一颗星上见过 ,以至如此相互思念 ;我们在哪一颗星上相互思念过,以至如此相互深爱
  • 我们在哪一颗星上分别 ,以至如此相互辉映 ;我们在哪一颗星上入睡 ,以至如此唤醒黎明
  • 认识世界 克服困难 洞悉所有 贴近生活 寻找珍爱 感受彼此
恶意代码分析实战:第六章 识别汇编中的C代码结构

恶意代码分析实战:第六章 识别汇编中的C代码结构

再次强调,分析恶意代码的目标是理解一个程序总体功能,而不是分析每一条指令,不要在细节上陷入困境,将精力集中在程序整体上是如何工作的,而不是它们是如何做每一件特定的事情的。 1 全局与局部变量 全局变量可以被一个程序中任意函数访问和使用。局部变量只能在它被定义的函数中访问。在C中全局变量和局部变量声明方式是相似的,但是在汇编中看起来完全不同。 定义全局变量x与……

恶意代码编程:注入技术

恶意代码编程:注入技术

病毒木马需要将执行的Shellcode或者DLL注入到目标进程中去执行,其中DLL注入最为普遍。因为DLL不需要像Shellcode那样要获取Kernel32.dll加载基址并根据导出表获取导出函数地址。若DLL成功注入,则表示DLL已经加载到目标进程空间中,其导入表、导出表、重定位表等均已经加载完毕,DLL中的代码可以正常执行。 1. 全局钩子注入 在wi……

恶意代码分析实战:第一章 静态分析基础技术

恶意代码分析实战:第一章 静态分析基础技术

第一步:反病毒引擎扫描 反病毒引擎主要依靠一个已知恶意代码那可识别片段的特征数据库(病毒文件特征库),以及基于行为与模式匹配的分析(启发式检测)来识别可疑文件。 因为不同的反病毒软件使用了不同的特征库和启发式检测方法,所以对同一个可以恶意代码样本,运行不同反病毒软件进行扫描检测时相当有必要的。 第二步:恶意代码的指纹 哈希时一种唯一标识恶意代码的常用方法。计……

恶意代码分析实战:第零章 恶意代码分析技术入门

恶意代码分析实战:第零章 恶意代码分析技术入门

恶意代码分析的目标 通常是为一起网络入侵事件的响应提供所需的信息。 确定某一个特定的可以二进制程序到底可以做什么 如何在网络上检测它 如何衡量并消除它所带来的危害 因此,需要确定到底发生了什么,并确保能够定位出所受感染的主机和文件。确定了哪些文件需全面分析后,要编写相应的“检测特征码”,以便在网络中检测出恶意代码感染的主机。 基于主机的特征码,或称为感……

加密与解密-PE格式初探

加密与解密-PE格式初探

知识点提炼: 1. PE文件所有代码和数据都被合并在一起,组成一个很大的结构。 2. 文件内容被分割为不同区块,块中包含代码或数据。每个块都有它自己在内存中的一套属性。 3. text:指令代码 , rdata : 运行期的只读数据 , idata : 包含其他外来DLL的函数及数据信息,即输入表。 rsrc : 包含模块全部资源,如图标,菜单,位图等。 4……

核心原理-第4章 IA-32寄存器基本讲解

核心原理-第4章 IA-32寄存器基本讲解

寄存器是CPU内部用来存放数据的一些小型存储区域,与我们常说的RAM(随机寄存器,内存)有些不同。 CPU要访问RAM中的数据时要经过较长的物理路径,花费时间较长,而寄存器集成在CPU的内部,拥有非常高的读写速度。 0x1 基本程序运行寄存器 通用寄存器(32位,8个) 段寄存器(16位,6个) 程序状态与控制寄存器(32位,1个) 指令指针寄存器(32位……

核心原理-第5章 栈

核心原理-第5章 栈

栈通常用于存储局部变量、传递函数参数、保存函数返回地址等。调试程序时需要不断查看栈内存。 0x1 栈内存在进程中的作用 暂时保存函数内的局部变量 调用函数时传递参数 保存函数返回后的地址 0x2 栈的特征 栈是由高地址向低地址扩展的数据结构。 ESP为栈顶指针 栈顶指针初始状态下指向栈底   ……

核心原理-第13章 PE文件格式

核心原理-第13章 PE文件格式

学习PE文件格式的过程中也整理一下有关进程、内存、DLL等内容。 1 PE文件格式 种类 主扩展名 种类 主扩展名 可执行系列 exe,scr 驱动程序系列 sys,vxd 库系列 dll,ocx,cpl,drv 对象文件系列 obj 1.1 基本概念 VA:虚拟地址 模块地址(image Base) 模块地……

核心原理-第23章 DLL注入

核心原理-第23章 DLL注入

DLL注入是渗透其他进程的最简单有效的办法,借助DLL注入可以钩取API,改进程序,修复BUG等。 23.1 DLL注入 DLL注入指的是向运行中的其他进程强制插入特定的DLL文件。DLL注入命令其他进程自动调用LoadLibrary(),加载用户指定的DLL文件。DLL注入与一般DLL加载区别在于,加载的目标进程是其自身或其他进程。 加载到其他进程中的DL……

权威指南-第50章 混淆技术

权威指南-第50章 混淆技术

代码混淆技术是一种用于阻碍逆向工程分析人员解析程序代码的指令处理技术 0x1 字符串变换 在逆向工程中字符串经常会起到路标的作用,一些编程人员会着手解决这个问题,会采用一些变换手法,让他人不能直接通过IDA或者16进制编辑器直接搜索到字符串。 0x2 可执行代码 在正常执行的指令序列中插入一些虽然可以被执行的但是没有任何作用的指令,本身就是一种代码混淆技术。……

核心原理-第26章 PE Tools

核心原理-第26章 PE Tools

0x1 PE Tools介绍 PE Tools工具可以获取系统中正在运行的所有进程的列表。程序主窗口分为上下两个部分,上半部分显示的是正在运行的进程,下半部分显示的是当前所选进程中加载的DLL模块。 0x2 进程内存转储 Dump:将内存中的内容转存到文件。 这种转储技术用来查看正在运行的进程内存中的内容。文件 是 运行时解压缩文件状态时,其只有在内存中才……