专业丰富的破解论坛技术交流,提供软件安全,病毒分析,脱壳破解,安卓破解,加密解密等,由无数热衷于软件爱好者共同维护
 
发新帖
查看: 538|回复: 0

[技术文章] 十二节 逆向病毒分析(实战)

[复制链接]
玉面飞龙之王 发表于 2020-9-21 13:35:43 | 显示全部楼层
本帖最后由 玉面飞龙之王 于 2020-9-21 13:37 编辑

[edi+24h]:指向字符串GetTempPathW
[edi+28h]:指向字符串GetLastError
ecx:缓冲区基址(指向 v_38),具体被用作函数地址表基址(每个元素大小为双字)
1.png
分析函数 sub_004D51AA
seg000:004D51E0 test al, al
seg000:004D51E2 jz short loc_4D5242
;如果 sub_4D524A 的返回值为 0(失败),则退出病毒体,控制传递给 OEP
分析函数 sub_004D5356(调用部分)
seg000:004D51E4 push esi
;esi 为字符串表指针
;参数 2 压栈
seg000:004D51E5 lea eax, [ebp+var_38]
seg000:004D51E8 push eax
;eax 为函数地址表指针
;参数 1 压栈
seg000:004D51E9 lea edx, [ebp+var_140]
seg000:004D51EF push edx
;edx 指向 v_140,由于 v_140 还未被初始化,猜测 v_140 应该是一个接收数据的变量或者
;或者缓冲区,这要等到 sub_4D5356 的函数体分析完成后才能确定
;参数 0 压栈
seg000:004D51F0 call sub_4D5356
分析函数 sub_004D5356(实现部分)
seg000:004D5356 var_8      = dword ptr-8
seg000:004D5356 var_4      = dword ptr-4
seg000:004D5356 arg_0      = dword ptr 8


快速回复 返回顶部 返回列表