安全分析与研究
专注于全球恶意软件的分析与研究
上一节课,我讲了一些基础的静态分析方法,主要是分析文件的结构和一些基本信息,这一节课开始学习如何使用IDA对文件进行静态分析
在学习使用IDA分析样本之前,我们再复习一下汇编的一些概念和基础知识
熟悉汇编语言对恶意样本分析是非常重要的,不管是静态分析,还是后面的动态调试,都需要了解汇编语言
现在平台越来越多,汇编语言一般分析X86、X64、ARM、MIPS、PowerPC等,我们如果是做Window/Linux两个平台上的样本分析,只需要熟悉X86、X64汇编即可,其他汇编主要用于移动平台或IOT平台等
根据位数的不同,我们来介绍一个32位的寄存器对应的结构,如下所示:
EAX、AX、AH、AL
AX是EAX的低16位
AH是AX的高8位
AL是AX的低8位
二进制文件栈结构,如下所示:
分析样本的时候,一般会遇到的汇编的基础指令,如下:
mov dword ptr ds:[0x7CB2E0],eax
mov esp,dword ptr ss:[ebp-0x18]
mov ecx,dword ptr ds:[eax]
test byte ptr ss:[ebp-0x3c],bl
and dword ptr ss:[ebp-0x4],0x0
lea eax,[ebp+0x1ch]
mov eax,0xFF
call 0x00401D91
jmp 0x00401650
cmp esi,ebx
jnz 0x00401650
je 0x00401478
add esp,0x14
sub esi,0x4
push ebx
xor eax,eax
inc eax
retn
如果你对上面的一些指令的含义还不熟悉的可以去复习之前的课程,里面都有讲解过的
原文始发于微信公众号(安全分析与研究):恶意样本静态分析-下
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论