zoukankan      html  css  js  c++  java
  • C# Hook 学习使用强大的工具DetnetDetour,处理强签名问题,实现不修改代码破解软件

    以前学过Hook不过没有实战,忘得一干二净。今天需要使用一款软件,有反调试,有请签名,但是没有加壳,所以反编译调试很快破解。由于有强签名,所以需要找去除强签名工具,不想以后还这样,所以希望从不修改代码的角度破解试试:找到了一款强大的Hook工具库:

    https://github.com/bigbaldy1128/DotNetDetour

    几行代码实现了不修改代码完美破解软件,下面贴上官网给的例子,以后复习用:

    using DotNetDetour;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace ConsoleApp1
    {
        //我们自行实现一个类来修改Run方法的行为,此类用IMethodHook接口修饰
        public class MyClass : IMethodHook
        {
            //我们实现一个新Run方法,并标记为HookMethod,覆盖SolidClass中的Run方法
            [HookMethod("ConsoleApp1.SolidClass")]
            public string Run(string msg)
            {
                return "Hook " + Run_Original(msg);
            }
    
            //实现一个占位方法,此方法代表被Hook覆盖的原始方法
            [OriginalMethod]
            public string Run_Original(string msg)
            {
                return null; //这里写什么无所谓,能编译过即可
            }
        }
    }
    
    namespace ConsoleApp1
    {
        class Program
        {
            static void Main(string[] args)
            {
                MethodHook.Install();
                var msg = new SolidClass().Run("Hello World!");
                Console.WriteLine(msg);
                Console.Read();
            }
        }
    
        public class SolidClass
        {
            public string Run(string msg)
            {
                return "modified msg";
            }
        }
    
    }
    
  • 相关阅读:
    EF Code First列名 'Discriminator' 无效的问题
    并行编程
    通过http上下文判断是否是Ajax请求
    桌面或文件夹里单击鼠标右键新建菜单下不显示文本文档的处理方法
    Frameset框架集的应用
    定时帧(基于定时器的动画 11.1)
    自定义缓冲函数(缓冲 10.2)
    动画速度(缓冲 10.1)
    手动动画(9.2 图层时间)
    CAMediaTiming`协议(9.1 图层时间)
  • 原文地址:https://www.cnblogs.com/AlexanderZhao/p/12878844.html
Copyright © 2011-2022 走看看