我CoCreateInstance()在 IDA 反汇编中找到了一个(之后CoInitializeEx())。以下是大会:
loc_18000499D: ; pUnkOuter
xor edx, edx
mov [rsp+68h+ppv], rbx ; ppv
lea r9, riid ; riid
lea rcx, rclsid ; rclsid
lea r8d, [rdx+4] ; dwClsContext
call cs:CoCreateInstance
mov ebx, eax
mov eax, 8007019Eh
cmp ebx, 80040154h
cmovz ebx, eax
test ebx, ebx
jns short loc_1800049D7
伪代码是:
CoCreateInstance(&rclsid, 0i64, 4u, &riid, v4 + 1);
当我单击rclsid它时,它被重定向到只读数据段。这是 .rdata 部分:
.rdata:0000000180007930 ; IID rclsid
.rdata:0000000180007930 rclsid dd 4F476546h ; Data1
.rdata:0000000180007930 ; DATA XREF: f_CoInitialize+A7↑o
.rdata:0000000180007930 dw 0B412h ; Data2
.rdata:0000000180007930 dw 4579h ; Data3
.rdata:0000000180007930 db 0B6h, 4Ch, 12h, 3Dh, 0F3h, 31h, 0E3h, 0D6h; Data4
.rdata:0000000180007940 ; IID riid
.rdata:0000000180007940 riid dd 536A6BCFh ; Data1
.rdata:0000000180007940 ; DATA XREF: f_CoInitialize+A0↑o
.rdata:0000000180007940 dw 0FE04h ; Data2
.rdata:0000000180007940 dw 41D9h ; Data3
.rdata:0000000180007940 db 0B9h, 78h, 0DCh, 0ACh, 2 dup(0A9h), 0B5h, 0B9h; Data4
那么,我如何才能找到 CLSID?我试图用Dkey更改数据类型,但无法理解。

