恶意代码分析实战 — Lab 19-02

Idapro载入程序,首先call sub_4010B0提权操作

之后程序调用sub_401000

这个函数主要是打开注册表位置HKEY_CLASSES_ROOT\http\shell\open\command,获取系统默认浏览器路径

回到main函数,程序调用sub_401180

此函数创建浏览器进程,并且wShowWindow设置为0表示隐藏窗口显示

调用sub_401230,将unk_407030处的shellcode注入浏览器进程

此处的内容为data

按c将其解析为code代码

此处代码将地址0x00407048入栈,初始化edi = 0x407048,设置循环次数ecx=0x18F,并将edi指向的地址与al = 0xE7 异或进行解码

编写解码程序

#include <idc.idc>
static main()
{
    auto ea = ScreenEA(),al=0xE7,edi,i;
    for(i=0x0;i<0x18F;i++)
    {
        edi = Byte(ea+i);       
        edi = edi^al;          
        PatchByte(ea+i, edi); 
    }
}

在地址0x407048处开始解码

Scdbg查看导入函数,connect连接了192.168.200.2:13330

您可能还喜欢...