反汇编教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BoXer's Blog @.@
简单反汇编阅读系列教程—
Skip to content
∙Home
∙关于我
Category Archives for 简单反汇编阅读系列教程简单反汇编阅读(十)
视频下载地址:
/donghua/g/19964.html
文本下载
大家好, 我是 BoXer , 今天为大家做的动画是简单反汇编阅读(十)
上一次我们反汇编分析了栈溢出原理 , 今天我们就来试试分析一下病毒
------------------------------------------------------------------------------
这里我随便找了一个病毒,没想到就是非常出名的 AV终结者
其实 AV终结者是一个下载者,那么我们现在就来看看它究竟干些什么坏事
用生成器生成一个病毒, 全部都勾上吧
生成的病毒, 查壳是 NsPacK V3.7 -> LiuXingPing * Sign.By.fly *
原来是北斗3.7 ,我们OD载入看看
F8 ,命令栏输入 hr esp 回车, F9 , F8
就这样很快可以到 OEP 了
这时候我们右键-分析-从模块删除分析
可以看到代码了, 这个oep有点奇怪啊...是不是加花呢???
不确定的话我们先dump出来看看
查壳发现是 Microsoft Visual C++ [Overlay]
现在可以断定是加花了,我们继续去花花
od载入,看到如下代码
0041C089 > $ 55 push ebp
0041C08A . 8BEC mov ebp, esp
0041C08C . 6A FF push -1
0041C08E . 68 66666600 push 666666
0041C093 . 68
88888800 push 888888 ; SE 处理程序安装
0041C098 . 64:A1 0000000>mov eax, dword ptr fs:[0]
0041C09E . 50 push eax
0041C09F . 64:8925 00000>mov dword ptr fs:[0], esp
0041C0A6 . 58 pop eax
0041C0A7 . 64:A3 0000000>mov dword ptr fs:[0], eax
0041C0AD . 90 nop
0041C0AE . 72 0C jb short 0041C0BC
0041C0B0 . 73 0A jnb short 0041C0BC
0041C0B2 > 90 nop
0041C0B3 . 90 nop
0041C0B4 . 90 nop
0041C0B5 . 90 nop
0041C0B6 . 72 10 jb short 0041C0C8
0041C0B8 . 73 0E jnb short 0041C0C8
0041C0BA . 0000 add byte ptr [eax], al
0041C0BC > 58 pop eax
0041C0BD . 58 pop eax
0041C0BE . 58 pop eax
0041C0BF . 58 pop eax
0041C0C0 .^ 72 F0 jb short 0041C0B2
0041C0C2 .^ 73 EE jnb short 0041C0B2
0041C0C4 . 0000 add byte ptr [eax], al
0041C0C6 . 0000 add byte ptr [eax], al
0041C0C8 > 90 nop
0041C0C9 . 90 nop
0041C0CA . 50 push eax
0041C0CB . 58 pop eax
0041C0CC . 90 nop
0041C0CD . 90 nop
0041C0CE . 83C4 01 add esp, 1
0041C0D1 . 90 nop
0041C0D2 . 90 nop
0041C0D3 . 90 nop
0041C0D4 . 83C4 FF add esp, -1
0041C0D7 . 90 nop
0041C0D8 .^ 0F82 76D8FEFF jb 00409954
0041C0DE .^ 0F83 70D8FEFF jnb 00409954
最后2句
0041C0D8 .^ 0F82 76D8FEFF jb 00409954
0041C0DE .^ 0F83 70D8FEFF jnb 00409954
玩过免杀的人都知道,这2句合成的效果就是jmp 00409954
我们到 00409954 看看,
00409954 /> /55 push ebp
00409955 |. |8BEC mov ebp, esp
00409957 |. |B9 0E000000 mov ecx, 0E
0040995C |> |6A 00 /push 0
0040995E |. |6A 00 |push 0
00409960 |. |49 |dec ecx
00409961 |.^|75 F9 \jnz short 0040995C
这个头好点熟悉啊,玩破解的人应该知道是什么语言的oep了吧?!
我们在 00409954 按 F4 ,dump出来
查壳 Borland Delphi 6.0 - 7.0
成功脱壳去花了,下面就来简单分析这个病毒的工作原理吧
------------------------------------------------------------------------------
为了安全起见,我推荐在虚拟机或者影子系统上分析
我机子配置比较差 , 只好直接分析了(一不小心运行就...)
不过为了安全,我们还是对关键的函数下断点
对那些 CreateFile,CopyFile,DeleteFile 这些文件操作的函数下断
最好还打开文件监控和注册表监控的软件