Win32.Hack.Surila.k

王朝system·作者佚名  2008-08-14
窄屏简体版  字體: |||超大  

病毒名称(中文):

病毒别名:

威胁级别:

★★☆☆☆

病毒类型:

黑客程序

病毒长度:

244736

影响系统:

Win9xWinNT

病毒行为:

Obsidium1.0.0.61脱壳之引入表修复

1.下断点VirtualAlloc+?(该壳有反调试功能,所以最好把断点设API地址+几个字节的位置)

2.Ctrl+F9返回用户进程,下硬件执行断点到3A78A0

注:要得到上面3A78A0这个地址可以根据以下步骤得到:

A.在上次Dump出来的程序中找一个API调用如:

0A21398movzxeax,[ebp+var_141]

iatRegio:00A2139Ftesteax,eax

iatRegio:00A213A1jzshortloc_A213AB

iatRegio:00A213A3push0

iatRegio:00A213A5callds:dword_A64114(这里就是一个API调用,从IDA里可以知道

A64114里存放的是一个地址,这个例子里是3A8394)

用OD下内存写入断点在3A8394处,F9执行,然后搜索指令:testwordptrds:[esi],20可以得到上面的地址

003A78A066:F7062000TESTWORDPTRDS:[ESI],20把这里的20改成3

003A78A57446JESHORT003A78ED

003A78A766:F7060200TESTWORDPTRDS:[ESI],2

003A78AC751FJNZSHORT003A78CD

003A78AE66:C7060400MOVWORDPTRDS:[ESI],4

003A78B38B4514MOVEAX,DWORDPTRSS:[EBP+14]

003A78B66A01PUSH1

003A78B86A00PUSH0

003A78BAFF7604PUSHDWORDPTRDS:[ESI+4]

003A78BD6A00PUSH0

003A78BFFF7518PUSHDWORDPTRSS:[EBP+18]

003A78C2FF5040CALLDWORDPTRDS:[EAX+40]

003A78C585C0TESTEAX,EAX

003A78C77439JESHORT003A7902

003A78C98907MOVDWORDPTRDS:[EDI],EAX

003A78CBEB20JMPSHORT003A78ED

003A78CD66:C7060400MOVWORDPTRDS:[ESI],4

003A78D28B4514MOVEAX,DWORDPTRSS:[EBP+14]

003A78D50FB75602MOVZXEDX,WORDPTRDS:[ESI+2]

003A78D96A01PUSH1

003A78DB52PUSHEDX

003A78DC6A00PUSH0

003A78DEFF7604PUSHDWORDPTRDS:[ESI+4]

003A78E1FF7518PUSHDWORDPTRSS:[EBP+18]

003A78E4FF5040CALLDWORDPTRDS:[EAX+40]

003A78E785C0TESTEAX,EAX

003A78E97417JESHORT003A7902把这里的指令NOP掉

003A78EB8907MOVDWORDPTRDS:[EDI],EAX

003A78ED83C608ADDESI,8

003A78F083C704ADDEDI,4

003A78F3FF4D08DECDWORDPTRSS:[EBP+8]

003A78F6^75A8JNZSHORT003A78A0

003A78F833C0XOREAX,EAX

003A78FA40INCEAX

003A78FB5FPOPEDI

003A78FC5EPOPESI

003A78FD5BPOPEBX

003A78FEC9LEAVE

003A78FFC21400RETN14

003A790233C0XOREAX,EAX

003A79045FPOPEDI

003A79055EPOPESI

003A79065BPOPEBX

003A7907C9LEAVE

003A7908C21400RETN14

3.

003A778DFF4DFCDECDWORDPTRSS:[EBP-4]这里为当前程序加载的DLL的个数

当[EBP-4]为0时表示所有的API已经处理完了

003A7790EB03JMPSHORT003A7795

003A779215349A0F85ADCEAX,850F9A34

003A779721FDANDEBP,EDI

003A7799FFFF???;未知命令

003A779BEB02JMPSHORT003A779F

003A779DBFFE33C0EBMOVEDI,EBC033FE

003A77A20226ADDAH,BYTEPTRDS:[ESI]

003A77A4045FADDAL,5F

用F7再往下走几步可以看到如上指令

003A7795^0F8521FDFFFFJNZ003A74BC这里跳往处理下一个DLL的API

003A779BEB02JMPSHORT003A779F所以在这里下断点,F9就可以了

003A779DBFFE33C0EBMOVEDI,EBC033FE

003A77A20226ADDAH,BYTEPTRDS:[ESI]

003A77A4045FADDAL,5F

003A77A65EPOPESI

003A77A75BPOPEBX

003A77A8C9LEAVE

003A77A9C3RETN

4.当所有的API处理完成后,把A64000起开始1000H数据复制出来

并贴到上次Dump出来的文件的VA:A64000=OFFSET:51600处

5.最后用ImportREConstructor修复

在RVA处填664000

点GetImport

剪掉几个无效的涵数。KO!!!!!

注:

因该壳采StolenCoder技术(即把原程序中的部分代码移到壳中执行了),目录这个程序还是不能运行

但对于分析已经足够了。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航