[病毒分析]熊猫烧香(上)初始分析(二)

简介: [病毒分析]熊猫烧香(上)初始分析

(4)打开IDA进入sub_403C98函数

1.png

整个sub_403C98函数由两个函数组成,刚才我们所进入的是第一个call sub_403D08的位置,并且分析了其功能是分配一定大小的空间。接着我们尝试分析下一个函数sub_402650。

image.png

接着记住这个地址“403CB3”,我们回到OD进行动态调试分析其功能。

  • 转到->表达式->输入403CB3

显示结果如下图所示,然后我们按下F2增加断点,再按F9执行程序至此处,继续按下F7单步进入该函数。

image.png

按下F8单步步过执行至0x0040267D位置。

  • 0x0040267D rep movs dword ptr es:[edi],dword ptr ds:[esi]

注意,该REP是将ESI指向地址的值以4字节方式拷贝到EDI指向的地址中。下图展示了ESI和EDI,重执行ECX次,每次执行后ESI+4、EDI+4、ECX-1,OD中在这段代码中下断后按F7单步步入就可以观察到这3个寄存器的变化。

  • ecx=00000008 (十进制 8.)
  • ds:[esi]=[0040CC5C]=2A2A2ADF
  • es:[edi]=[021C0028]=00000000

image.png

我们先看看它复制的内容是什么,选择ESI右键“数据窗口钟跟随地址”。

1.png

按下F8运行后发现该空间被赋值“武汉男生”。写到这里,基本确定了sub_402650函数功能就是字符串的复制。

image.png


总结,Sub_403C98主要包括两个函数,其对应功能如下:

  • sub_403D08:分配内存空间
  • sub_402650:字符串拷贝功能


同时,我们可以在IDA中对sub_403C98进行重命名操作,命名为“AllocStackAndCopyString”。重命名能将整个程序中该函数进行修改,便于我们理解及分析整个病毒。


sub_403C98函数有两个参数,由于采用的是Delphi编译器,因此在反汇编中,第一个参数保存在eax中,第二个参数保存在edx中。这个函数首先完成堆空间的申请,然后将edx中保存的字符串复制到新申请的空间中。这个函数在最初赋值的时候,eax的值均为0,而在执行后,eax中保存的就是新申请的堆空间中,所复制的字符串的首地址。为了易于观察,我把IDA Pro中的sub_403C98重命名为AllocStackAndCopyString。


image.png

(5)sub_405360函数分析

继续从0x0040CB92位置往下分析,将该地址复制到OD中动态调试。

image.png

操作如下:

  • 转到->表达式->输入“40CB92”
  • 按下F2增加断点
  • 按下F9执行,将代码调试到该位置

image.png

然后按F8单步执行,可以看到0x0040CB9A存储的值,某些情况还需要去数据窗口跟随。

数据窗口右键->转到->表达式->输入40CCA4

image.png

可以发现在“40CCA4”位置保存了一段字符串,它可能是一段乱码,目前无法分析它的含义。

image.png

继续按下F8执行到0x0040CB9F,按下F7进入函数。

  • 0x0040CB9F call 00405360

image.png

进入后先简单浏览下这个函数,发现后续有一个粗线循环,我们在0x004053CC下个断点跳转到这个循环处,并进入循环。

  • F2按下在0x004053CC处增加断点
  • F9执行到循环处
  • F8进入循环

image.png

按下F8单步执行代码,此时发现字符串“xboy”,我们暂时不知道它是做什么的。

image.png

相关文章
|
安全 编译器 API
[病毒分析]熊猫烧香(上)初始分析(一)
[病毒分析]熊猫烧香(上)初始分析
611 0
[病毒分析]熊猫烧香(上)初始分析(一)
|
安全
[病毒分析]熊猫烧香(上)初始分析(三)
[病毒分析]熊猫烧香(上)初始分析
190 0
 [病毒分析]熊猫烧香(上)初始分析(三)
|
安全 Windows
[病毒分析]熊猫烧香(下)核心函数部分分析(二)
[病毒分析]熊猫烧香(下)核心函数部分分析
174 0
[病毒分析]熊猫烧香(下)核心函数部分分析(二)
|
安全
[病毒分析]熊猫烧香(下)核心函数部分分析(四)
[病毒分析]熊猫烧香(下)核心函数部分分析
152 0
 [病毒分析]熊猫烧香(下)核心函数部分分析(四)
|
安全 API
[病毒分析]熊猫烧香(下)核心函数部分分析(一)
[病毒分析]熊猫烧香(下)核心函数部分分析
181 0
[病毒分析]熊猫烧香(下)核心函数部分分析(一)
|
安全 API Windows
[病毒分析]熊猫烧香(下)核心函数部分分析(三)
[病毒分析]熊猫烧香(下)核心函数部分分析
325 0
[病毒分析]熊猫烧香(下)核心函数部分分析(三)
|
安全
[病毒分析]熊猫烧香(中)病毒释放机理(三)
[病毒分析]熊猫烧香(中)病毒释放机理
174 0
 [病毒分析]熊猫烧香(中)病毒释放机理(三)
|
安全
[病毒分析]熊猫烧香(中)病毒释放机理(二)
[病毒分析]熊猫烧香(中)病毒释放机理
152 0
[病毒分析]熊猫烧香(中)病毒释放机理(二)
|
安全
[病毒分析]熊猫烧香(中)病毒释放机理(一)
[病毒分析]熊猫烧香(中)病毒释放机理
180 0
[病毒分析]熊猫烧香(中)病毒释放机理(一)
|
安全
[病毒分析]熊猫烧香(中)病毒释放机理(四)
[病毒分析]熊猫烧香(中)病毒释放机理
154 0
[病毒分析]熊猫烧香(中)病毒释放机理(四)