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";
            }
        }
    
    }
    
  • 相关阅读:
    python: 第三方时间库 arrow
    PyQt5程序打包的2种方式
    python:多任务(线程、进程、协程)
    python:网络编程(udp 和 tcp)
    python:使用matplotlib画图时,中文乱码的问题
    python:浅拷贝和深拷贝
    使用scrapy编写爬虫:爬取豆瓣Top250读书的评论
    爬虫小案例:多协程工作
    selenium:指挥浏览器工作
    爬虫小案例:联想词汇搜索
  • 原文地址:https://www.cnblogs.com/AlexanderZhao/p/12878844.html
Copyright © 2011-2022 走看看