目录
样本概括
样本是一个shellcode,分为代码和数据两部分
代码部分:负责解密数据部分,并跳转到数据部分偏移8处开始执行。
数据部分:第密一个4字节是首次异或加的key;第二个4字节是实际数据部分长度(已异或加密);剩余部分是按每4字节异或加密的实际数据部分(实际是一个dll文件)
代码如下:
sub_430070( )函数解密完数据部分后,发现是一个pe文件(实际是一个dll),存在内存中的pe文件(虽然在内存中,但是暂没有被pe加载器加载,不能称为镜像);
sub_430070( )函数使用jmp edx指令跳转到这个内存中pe文件的起始位置开始执行,也就是从0x004300A4处执行。
两个疑问
1、存在内存中的pe文件,没有被加载,怎么可以从文件的第一个字节处运行,即使被加载也应该从入口点处运行?
2、shellcode被