用VC6编写注册表管理程序

VC6编写注册表管理程序(-)

顾剑辉(Solarsoft)

摘要 本文给出了一个较完整的注册表管理程序,对类似注册表管理程序的开发作了详细的介绍

关键字 REGEDIT,注册表管理

在市面上,有很多注册表管理方面的程序,如:魔法兔子,IE保护器等。但它们对注册表都进行固定的操作,对与windows的高级管理员来说是远远不够的,还经常用到Regedit,那它是如何设计的呢?经过分析它的主要分成以下几块①、注册表数据的显示与操作;②、注册表数据的导入与导出;③注册表数据的查找与替换。以下介绍在VC6中对注册表数据的显示与操作的实现。对于后二点今后将进行阐述。

程序运行界面如下:

VC6中创建一单文档工程,可命名为RegExplorer,前5步可以按默认方式进行,在AppWizard对话框的Step6中,选取视图类的基类为ClistView。

为支持树与列表的表现形式,必须还要手工加入CregLeftView类,基类为CtreeView。并对各类对象的通信与显示进行必要的设置。

CregExplorerApp类的InitInstance()进行一些修改

pDocTemplate = new CSingleDocTemplate(

        IDR_MAINFRAME,

        RUNTIME_CLASS(CRegExplorerDoc),

        RUNTIME_CLASS(CMainFrame),      

        RUNTIME_CLASS(CRegLeftView));//本为CRegExplorerView

    在CmainFrame类中加入protected型的成员变量CSplitterWnd m_wndSplitter用于实现窗口的分割,在MainFrm.cpp中加入#include "RegLeftView.h"

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)

{

    if (!m_wndSplitter.CreateStatic(this, 1, 2))

        return FALSE;

    if (!m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CRegLeftView), CSize(100, 100), pContext) ||

        !m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CRegExplorerView), CSize(100, 100), pContext))

    {

        m_wndSplitter.DestroyWindow();

        return FALSE;

    }

    m_wndSplitter.SetColumnInfo(0, 200, 100);

    return TRUE;

}

对文档类CregExplorerDoc的类定义前可加入class CRegExplorerView;并加入public型的CregExplorerView指针* m_RegExplorerView;用文档类进行对象之间的通信。

左边树型CregLeftView类的设计:

1.  和文档类进行通信的代码:

在类定义前加入class CRegExplorerDoc;并在类中实现public型的成员函数

CRegExplorerDoc* CRegLeftView::GetDocument()

{

       ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CRegExplorerDoc)));

       return (CRegExplorerDoc*)m_pDocument;

}

 

 

这个是一个只读的注册表浏览器, 可以快速完成GUID键名的查找, 用于理解Windows注册表内部结构、手工排查木马、病毒的一款快捷工具. [具体使用方法] 1. 打开“注册表”选项卡, 选项卡分为两个区域, 左边是主浏览区, 右边是辅助浏览区. 两个区域从上到下依次是注册表键浏览区、键值浏览区、值详情区; 2. 点击树中的键, 键值浏览区会看到值的列表, 点击值, 值详情区可以看到值的完整内容; 3. 在键名、值名、值内容中如果出现疑似GUID的内容, 点击右键, 会出现 Find Guid XXXX... 菜单, 点击这个菜单, 将会在右边的辅助浏览区列出在整个注册表中以该Guid为键名的所有键. 从而可以查找隐藏得较深的木马. [注意] 1. 建议用管理员身份运行这个程序; 2. 若没有用管理员身份运行这个程序(即使使用管理员身份也会有不能访问的键), 部分的键会被拒绝访问, 这些键会在选项卡“日志”中列出, 以供查询. 所有没有访问到的键中内含的所有GUID名称的子键也不会列出, 排查木马时应当注意这个情况, 避免漏查; 3. 程序启动时会扫描整个注册表建立GUID的映射, 会需要一点时间, 启动后下方显示 Ready 了才可继续操作; 4. 这个工具本人仅仅拿来自己用, 如果觉得需要增加编辑功能、调整功能, 我只提供源码, 想怎么改自己动手去弄好了, 可以通过邮箱 erlersax@163.com 联系到我; 5. 程序用 .NET 4.0 开发的, 如果运行不了, 请自行安装运行库.(这句是废话, 你能看到这个自然是能运行, 不能运行也自然看不到这个) [特别注意] 注册表是Window操作系统的根本之地, 如果你不熟悉注册表操作, 不了解你操作的风险, 建议你慎重行. 本软注册表信息只读不写, 不对使用本软的人任何操作注册表产生的损失承担任何风险.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值