wangyangyangcumt
wangyangyangcumt
采纳率100%
2017-02-05 07:08 阅读 1.8k

c++ dll注册 细节问题

2

怀疑一个dll被恶意加了时间锁
现象:2017年2月1日之后程序出现异常

经过分析是一个dll(类似ocx功能),无论是注册Regsvr32 还是通过TSTCON32.EXE进行加载改dll,一个程序关键注册表被修改,这个注册表和该dll没有任何关系

dll的部分源码:
STDAPI DllRegisterServer(void)
{
// registers object, typelib and all interfaces in typelib
return _Module.RegisterServer(TRUE);
}
BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
_Module.Init(ObjectMap, hInstance, &LIBID_UICHANNELLib);
DisableThreadLibraryCalls(hInstance);
}
else if (dwReason == DLL_PROCESS_DETACH)
_Module.Term();
return TRUE; // ok
}
搜索整个dll的源码也没有修改注册表相关操作,也没有对时间2017-2-1的判断。

大神给点思路。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    oyljerry oyljerry 2017-02-05 07:11

    先用reg monitor查看具体是谁修改了注册表。
    还可以看看dll工程中的rgs文件,他也会修改注册表

    点赞 评论 复制链接分享
  • wangyangyangcumt wangyangyangcumt 2017-02-05 07:25

    13226,15:13:10,regsvr32.exe/2608,ZwSetValueKey,SUCCESS,HKEY_LOCAL_MACHINE\SOFTWARE\XFS\SERVICE_PROVIDERS\ZKRPTR300KS80T,ValueName:Vendor_name Data:"Foxcon",

    就是这被修改为错误的内容Foxcon。

    .Rgs文件的的全部内容:
    HKCR
    {
    UIChannel.UIChannelCtl.1 = s 'UIChannelCtl Class'
    {
    CLSID = s '{0A33DE45-E949-4440-A686-5FC5C59633D2}'
    }
    UIChannel.UIChannelCtl = s 'UIChannelCtl Class'
    {
    CLSID = s '{0A33DE45-E949-4440-A686-5FC5C59633D2}'
    CurVer = s 'UIChannel.UIChannelCtl.1'
    }
    NoRemove CLSID
    {
    ForceRemove {0A33DE45-E949-4440-A686-5FC5C59633D2} = s 'UIChannelCtl Class'
    {
    ProgID = s 'UIChannel.UIChannelCtl.1'
    VersionIndependentProgID = s 'UIChannel.UIChannelCtl'
    ForceRemove 'Programmable'
    InprocServer32 = s '%MODULE%'
    {
    val ThreadingModel = s 'Apartment'
    }
    ForceRemove 'Control'
    ForceRemove 'Insertable'
    ForceRemove 'ToolboxBitmap32' = s '%MODULE%, 101'
    'MiscStatus' = s '0'
    {
    '1' = s '132497'
    }
    'TypeLib' = s '{66E293FE-B6F6-4B42-B765-F9C041793E91}'
    'Version' = s '1.0'
    }
    }
    }

    点赞 评论 复制链接分享
  • wangyangyangcumt wangyangyangcumt 2017-02-07 07:06

    最终确认是这个dll 调用了其他dll,注册的时候其他dll执行时间锁。
    还是要认真呀

    点赞 评论 复制链接分享

相关推荐