[病毒分析]熊猫烧香(下)核心函数部分分析(一)

简介: [病毒分析]熊猫烧香(下)核心函数部分分析

熊猫烧香(下)病毒释放过程

1、loc_408171

2、sub_403F8C子函数

3、sub_4060D4子函数

4、CopyFile和WinExe子函数


1、loc_408171

第一步 打开IDA Pro和OD载入病毒样本

image.png

打开OD转到00408171 按下F2增加断点,运行到这个地方

1.png

思考:OD重新打开断点为什么还保留着?

在OllyDbg中,它会把所有与程序后模块相关的信息保存在单独的文件中,以便在模块重新加载时继续使用。这些信息包括标签、注释、断点、监视、分析数据、条件等。

image.png

第二步,在OD中分析0x00408171位置。

首先是一个CMP比较操作(Compare),接着查看EBP-0x8的内容。

  • 0x00408171 cmp dword ptr ss:[ebp-0x8], 0x0

image.png

我们可以看到它内容是0,它的比较对象也是0


第三步,分析JNZ跳转指令。


接着按下F8,可以看到比较后,ZF变成了1。由于二者都为0,所以在比较过后ZF=1,那么接下来的跳转并不执行,继续执行下面的内容。

JNZ 0x004082F0
JNZ(jump if not zero)结果不为零则转移,即z=1时跳转,但是z=1时,zf=0。故JNZ跳转的条件也是零标志位zf=0,由于指令执行的结果为0,此时的ZF值为1,故不执行跳转
CF(进位标志)=1:算术操作最高位产生了进位或借位,=0 最高位无进位或借位 ;
PF(奇偶标志)=1:数据最低8位中1的个数为偶数, =0 数据最低8位中1的个数为奇数;
AF(辅助进位标志)=1:D3→D4位产生了进位或借位, =0 D3→D4位无进位或借位;
ZF(零标志)=1:操作结果为0, =0 结果不为0;
SF(符号标志)=1:结果最高位为1,=0 结果最高位为0;
OF(溢出标志)=1:此次运算发生了溢出, =0 无溢出。

在这里插入图片描述

第四步,分析函数sub_40532C。

在IDA中继续查看代码内容。

image.png

C:\Users\14551\Desktop\setup.exe

image.png

接下来将EDP-0x3D4赋值给EDX,F8执行并在数据窗口中跟随,发现它此时还是空值。

image.png

进入函数

image.png

发现该函数的主要功能是API函数CharUpperBuffA。

  • CharUpperBuffA函数作用:把缓冲区中指定数目的字符转换成大写字母

总结,重命名及对应功能如下:

  • sub_40532C -> CharToUpper
  • 功能:缓冲区中指定数目的字符转换成大写字母

image.png

相关文章
|
9月前
|
安全 网络安全
揭秘黑盒渗透:无所遁形的扫描器之力!
揭秘黑盒渗透:无所遁形的扫描器之力!
陈伟视频-过程与函数(11-15)
陈伟视频-过程与函数(11-15)
|
机器学习/深度学习 Web App开发 人工智能
在模型中植入不可检测后门,「外包」AI更易中招
在模型中植入不可检测后门,「外包」AI更易中招
117 0
|
安全
程序人生 - 盘古疫情病毒九张图讲解
程序人生 - 盘古疫情病毒九张图讲解
77 0
程序人生 - 盘古疫情病毒九张图讲解
|
安全
[病毒分析]熊猫烧香(下)核心函数部分分析(四)
[病毒分析]熊猫烧香(下)核心函数部分分析
122 0
 [病毒分析]熊猫烧香(下)核心函数部分分析(四)
|
安全 API Windows
[病毒分析]熊猫烧香(下)核心函数部分分析(三)
[病毒分析]熊猫烧香(下)核心函数部分分析
277 0
[病毒分析]熊猫烧香(下)核心函数部分分析(三)
|
安全 Windows
[病毒分析]熊猫烧香(下)核心函数部分分析(二)
[病毒分析]熊猫烧香(下)核心函数部分分析
147 0
[病毒分析]熊猫烧香(下)核心函数部分分析(二)
|
安全
[病毒分析]熊猫烧香(上)初始分析(三)
[病毒分析]熊猫烧香(上)初始分析
154 0
 [病毒分析]熊猫烧香(上)初始分析(三)
|
存储 安全 编译器
[病毒分析]熊猫烧香(上)初始分析(二)
[病毒分析]熊猫烧香(上)初始分析
204 0
[病毒分析]熊猫烧香(上)初始分析(二)
|
安全 编译器 API
[病毒分析]熊猫烧香(上)初始分析(一)
[病毒分析]熊猫烧香(上)初始分析
528 0
[病毒分析]熊猫烧香(上)初始分析(一)