GetSystemStore

来源:互联网 发布:四川大学校内网络电视 编辑:程序博客网 时间:2024/05/20 05:53

GetSystemStore

int GetSystemStore(IUnknown **vfptr){#if _DEBUG    cout << endl;    cout << "调用 GetSystemStore" << endl;#endif // _DEBUG    int pfb = 0x100AD7A0;    int pfn = (int)phWCP - 0x10000000 + pfb;    typedef INT(__stdcall * fnGetSystemStore)(int a1, _GUID *a2, IUnknown **vfptr);    fnGetSystemStore g_fnGetSystemStore;    g_fnGetSystemStore = (fnGetSystemStore)pfn;    int a1 = 0;    _GUID a2 = { 478862213u, 38958u, 18425u,{ 153u, 159u, 176u, 195u, 191u, 157u, 4u, 73u } };    IUnknown *a3;    int result;    result = g_fnGetSystemStore(a1, &a2, vfptr);    //*vfptr = a3;#if _DEBUG    cout << "函数地址: " << hex << g_fnGetSystemStore << endl;    cout << "GetSystemStore error: " << GetLastError() << endl;    cout << "调用 GetSystemStore 结束" << endl;;    cout << endl;#endif // _DEBUG    return result;}调用:IUnknown *vfptr;GetSystemStore(&vfptr);printf("%p\n", vfptr);结果:__vfptr0x53073d7c {wcp.dll!const Windows::COM::CComObject<class Windows::WCP::COM::CCSIExternalTransformerExecutor>::`vftable'{for `ICSIExternalTransformerExecutor'}} {...}   void * *[0x00000000]    0x5313b520 {wcp.dll!Windows::COM::CComObject<class Windows::WCP::COM::CCSIExternalTransformerExecutor>::QueryInterface(struct _GUID const &,void * *)}  void *[0x00000001]    0x53125f10 {wcp.dll!Windows::COM::CComObject<class Windows::ServicingAPI::CCDFEnumeratorHelper<struct IEnumCDF_APPID_TABLE_ITEM,class Windows::Cdf::Rtl::IRtlCdfAppIdTableEnumerator,class Windows::Cdf::Rtl::IRtlCdfAppIdTable,struct _CDF_APPID_TABLE_ITEM,8> >::AddRef(void)}    void *[0x00000002]    0x531086e0 {wcp.dll!Windows::COM::CComObject<class Windows::ServicingAPI::CCDFEnumeratorHelper<struct IEnumCDF_APPID_TABLE_ITEM,class Windows::Cdf::Rtl::IRtlCdfAppIdTableEnumerator,class Windows::Cdf::Rtl::IRtlCdfAppIdTable,struct _CDF_APPID_TABLE_ITEM,8> >::Release(void)}   void *
0 0
原创粉丝点击