• 大小: 266KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: C/C++
  • 标签: detours  

资源简介

C++监控注册表源代码 包含,detours.lib(1.5版) 以及C#调用Dll的试验代码。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace testDll
{
    public partial class FrmMessage : Form
    {
        const int HKEY_CURRENT_USER = 80000001;
        const int HKEY_LOCAL_MACHINE = 80000002;

        const int WM_COPYDATA = 0x004A;
        const int WM_CANCELJOURNAL = 0x004B;
        public struct PARAMS
        {
            [MarshalAs(UnmanagedType.U4)]
            public uint PID;
            public IntPtr hKey;        //?指针
            public IntPtr buffer1;
            //public string  buffer1; //指针
            public IntPtr cbBuffer1;
            //[MarshalAs(UnmanagedType.ByValArray SizeConst = 1024)]
            public IntPtr buffer2;

            //public IntPtr buffer2; //指针
            public IntPtr cbBuffer2;
            public IntPtr type;
            public long result;
        };
        public struct COPYDATASTRUCT
        {
            public IntPtr dwData;
            public int cbData;
            public PARAMS lpData;
        }



        [DllImport(“hook.dll“ EntryPoint = “InstallHook“)]
        public static extern bool InstallHook(IntPtr hWnd);


        public FrmMessage()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender EventArgs e)
        {

        }
        protected override void DefWndProc(ref Message m)
        {

            switch (m.Msg)
            {
                case WM_COPYDATA:
                    try
                    {
                        COPYDATASTRUCT s = new COPYDATASTRUCT();
                        Type t = s.GetType();

                        s = (COPYDATASTRUCT)m.GetLParam(t);
                        
                        Console.WriteLine(“s.cbData:“ + s.cbData);
                        Console.WriteLine(“s.dwData:“ + s.dwData);

                        Console.WriteLine(“hKey:“ + Marshal.ReadInt32(s.lpData.hKey));
                        Console.WriteLine(“PID:“ + s.lpData.PID);
                        Console.WriteLine(“type:“ + s.lpData.type);
                        Console.WriteLine(“cbBuffer1:“ + s.lpData.cbBuffer1);
                        Console.WriteLine(“cbBuffer2:“ + s.lpData.cbBuffer2);

                        PARAMS p = s.lpData;
                    }
                    catch (Exception ex) { }
                    break;
                default:
                    base.DefWndProc(ref m);
                    break;
            }
        }
        private void button1_Click(object sender EventArgs e)
        {
            IntPtr trayHwnd = this.Handle;
            InstallHook(trayHwnd);
        }
    }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      48373  2010-02-19 15:09  HookRegister\1.PNG

     文件      33280  2009-06-14 18:49  HookRegister\bin\Hook.dll

     文件      21897  2010-03-04 22:08  HookRegister\bin\RegisterMon.exe

     文件        651  2010-02-27 10:27  HookRegister\clean.bat

     文件      21251  2001-08-28 09:41  HookRegister\Hook\detours.h

     文件      17449  2009-06-14 18:49  HookRegister\Hook\Hook.cpp

     文件       4280  2009-06-14 15:06  HookRegister\Hook\Hook.dsp

     文件        531  2009-06-06 17:19  HookRegister\Hook\Hook.dsw

     文件        291  2009-06-06 17:19  HookRegister\Hook\StdAfx.cpp

     文件        858  2009-06-07 20:16  HookRegister\Hook\StdAfx.h

     文件      33280  2009-06-14 18:49  HookRegister\Hook.原版本.dll

     文件        400  2010-02-19 15:16  HookRegister\Readme.txt

     文件     159825  2010-03-04 22:08  HookRegister\RegisterMon\Debug\RegisterMon.exe

     文件       1390  2010-02-19 12:49  HookRegister\RegisterMon\InfoDlg.cpp

     文件       1294  2010-02-19 12:49  HookRegister\RegisterMon\InfoDlg.h

     文件       3040  2010-02-19 13:39  HookRegister\RegisterMon\MainFrm.cpp

     文件       1652  2010-02-19 13:31  HookRegister\RegisterMon\MainFrm.h

     文件       3074  2010-02-27 10:25  HookRegister\RegisterMon\ProcessListDlg.cpp

     文件       1434  2009-06-14 17:33  HookRegister\RegisterMon\ProcessListDlg.h

     文件       3191  2010-03-04 22:08  HookRegister\RegisterMon\RegisterMon.clw

     文件       4469  2009-06-14 16:16  HookRegister\RegisterMon\RegisterMon.cpp

     文件       4993  2010-03-04 22:03  HookRegister\RegisterMon\RegisterMon.dsp

     文件        545  2009-06-12 19:09  HookRegister\RegisterMon\RegisterMon.dsw

     文件       1411  2009-06-12 19:09  HookRegister\RegisterMon\RegisterMon.h

     文件      10559  2010-03-04 22:08  HookRegister\RegisterMon\RegisterMon.rc

     文件       1842  2009-06-12 19:09  HookRegister\RegisterMon\RegisterMonDoc.cpp

     文件       1530  2009-06-12 19:09  HookRegister\RegisterMon\RegisterMonDoc.h

     文件      34919  2010-03-04 22:06  HookRegister\RegisterMon\RegisterMonView.cpp

     文件       4767  2010-02-19 14:35  HookRegister\RegisterMon\RegisterMonView.h

     文件       4286  2010-02-19 15:00  HookRegister\RegisterMon\res\RegisterMon.ico

............此处省略48个文件信息

评论

共有 条评论