堆结构
堆与栈的区别:
- 栈空间是在程序设计时已经规定好怎么使用,使用多少内存空间的。
- 堆是一种在程序运行时动态分配的内存。
- 堆是需要程序员自己通过malloc、new等函数自己申请的,根据程序的运行环境和申请的大小也有可能申请失败。
- 一般我们通过一个堆指针来使用所申请到的堆内存,进行读、写、释放等操作。
- 使用完成后需要把堆指针传给释放函数(free、delete)来回收这片内存,否则会造成内存泄漏。
文件名称:mm.exe
MD5:37eec1a29d316ed1e5e766b599dc32a1
SHA-1:75f098d6b3f217aba4c068b12896c332216fc6b3
Authentihash:1b17d4d13c65fed36321aec54f2dc9b214308bbc82821659f83e445b93d1962e
Imphash:9e932de2e1e9ccfc4eacc3a16a8c9ab4
文件类型:Win32 EXE
文件大小:63.08 KB
哈勃扫描结果:https://habo.qq.com/file/showdetail?pk=ADIGYV1qB2IIOls1
劫持系统进程msiexec.exe创建远程线程(将url读入缓冲区修复为一个可以使用的PE文件)
修复改文件夹属性
将自身复制到系统目录下,自删除
设置注册表启动项
2012-0158是一个经典的栈溢出漏洞,成因在于office在解析activeX控件时调用系统的MSCOMCTL.OCX库中存在栈溢出漏洞,导致可被用于执行任意代码。
操作系统:XP SP3 ~ WIN7
office版本:2003 ~ 2010