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

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

[复制链接]
玉面飞龙之王 发表于 2020-9-21 13:22:08 | 显示全部楼层
;可见,edi 被当作字符串表基址去处理的。也就是说,arg_8 是字符串表基址,而不是用于
;某个特定字符串的基址。
seg000:004D52A5 push eax
;eax 指向字符串GetTempPathA
seg000:004D52A6 push esi
;esi 为 kernel32.dll 的基址
seg000:004D52A7 call dword ptr [ebx+4]
;调用 GetProcAddress
seg000:004D52AA mov [ebx+8], eax
;[arg_0 + 8 ] = GetProcAddress(GetTempPathA)
;arg_0 + 8 的地方保存 GetTempPathA 的地址
seg000:004D52AD lea edx, [edi+1Ah]
seg000:004D52B0 push edx
seg000:004D52B1 push esi
seg000:004D52B2 call dword ptr [ebx+4]
seg000:004D52B5 mov [ebx+0Ch], eax
;arg_0 + 0ch 的地方保存 GetTempFileNameA 的地址
seg000:004D52B8 lea ecx, [edi+2Bh]
seg000:004D52BB push ecx
seg000:004D52BC push esi
seg000:004D52BD call dword ptr [ebx+4]
seg000:004D52C0 mov [ebx+10h], eax
;arg_0 + 10h 的地方保存 CreateFileA 的地址
seg000:004D52C3 lea eax, [edi+37h]
seg000:004D52C6 push eax
seg000:004D52C7 push esi
seg000:004D52C8 call dword ptr [ebx+4]
seg000:004D52CB mov [ebx+14h], eax
;arg_0 + 14h 的地方保存 ReadFile 的地址
seg000:004D52CE lea edx, [edi+40h]
seg000:004D52D1 push edx
seg000:004D52D2 push esi
seg000:004D52D3 call dword ptr [ebx+4]
seg000:004D52D6 mov [ebx+18h], eax
;arg_0 + 18h 的地方保存 WriteFile 的地址
seg000:004D52D9 lea ecx, [edi+4Ah]
seg000:004D52DC push ecx
seg000:004D52DD push esi
seg000:004D52DE call dword ptr [ebx+4]
seg000:004D52E1 mov [ebx+1Ch], eax
;arg_0 + 1ch 的地方保存 SetFilePointer 的地址
seg000:004D52E4 lea eax, [edi+59h]
seg000:004D52E7 push eax
seg000:004D52E8 push esi

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