我从逆向工程和 Radare 开始,我面临以下问题,在 IDA Free 上,我看到以下代码:
mov ecx, 11h
lea edi, [esp+1208h+StartupInfo]
rep stosd
lea eax, [esp+1208h+ProcessInformation]
lea ecx, [esp+1208h+StartupInfo]
push eax ; lpProcessInformation
push ecx ; lpStartupInfo
push 0 ; lpCurrentDirectory
push 0 ; lpEnvironment
push 8000000h ; dwCreationFlags
push 1 ; bInheritHandles
push 0 ; lpThreadAttributes
lea edx, [esp+1224h+CommandLine]
push 0 ; lpProcessAttributes
push edx ; lpCommandLine
push 0 ; lpApplicationName
mov [esp+1230h+StartupInfo.cb], 44h ; 'D'
call ebx ; CreateProcessA
jmp loc_100010E9
但是,当我使用 Radare 时,我看不到使用 ebx 调用的函数的推送参数(在 IDA 上我可以看到它是 CreateProcessA,但在 Radare 上它没有显示):
│ ╎╎│││││ 0x10001179 b911000000 mov ecx, 0x11 ; 17
│ ╎╎│││││ 0x1000117e 8d7c2434 lea edi, [var_44h]
│ ╎╎│││││ 0x10001182 f3ab rep stosd dword es:[edi], eax
│ ╎╎│││││ 0x10001184 8d442424 lea eax, [var_54h]
│ ╎╎│││││ 0x10001188 8d4c2434 lea ecx, [var_44h]
│ ╎╎│││││ 0x1000118c 50 push eax
│ ╎╎│││││ 0x1000118d 51 push ecx
│ ╎╎│││││ 0x1000118e 6a00 push 0
│ ╎╎│││││ 0x10001190 6a00 push 0
│ ╎╎│││││ 0x10001192 6800000008 push 0x8000000
│ ╎╎│││││ 0x10001197 6a01 push 1 ; 1
│ ╎╎│││││ 0x10001199 6a00 push 0
│ ╎╎│││││ 0x1000119b 8d9424290200. lea edx, [arg_195h]
│ ╎╎│││││ 0x100011a2 6a00 push 0
│ ╎╎│││││ 0x100011a4 52 push edx
│ ╎╎│││││ 0x100011a5 6a00 push 0
│ ╎╎│││││ 0x100011a7 c744245c4400. mov dword [var_44h], 0x44 ; eflags
│ ╎╎│││││ ; [0x44:4]=-1
│ ╎╎│││││ 0x100011af ffd3 call ebx
│ └───────< 0x100011b1 e933ffffff jmp 0x100010e9
我试过谷歌搜索,但没有找到任何解决方案。我是否缺少一些会显示参数和函数名称的配置或 Radare 实践?
编辑:如果有人想重新创建它,我正在尝试从实用恶意软件分析书中分析 Lab7-03.dll,可以在 github 中找到哪些实验室:
https://github.com/mikesiko/PracticalMalwareAnalysis-Labs
提前致谢!=)