• C# 反编译破解软件方法


    我们有时在使用一些小工具软件时,会提示购买License(注册码之类的东东)后才能正常使用。在这里我们来尝试直接绕过License验证直接使用软件,实现简单的软件破解。

    主要实现方式:

    1. 通过反编译工具,反编译出软件源码。
    2. 分析源码,找到License验证位置。
    3. 修改反编译代码。
    4. 重现编译生成修改后软件源码。

    编写License验证demo代码:

    Demo程序主要逻辑:登陆界面(Lgoin.cs)验证License信息。如果验证成功显示主窗体(MainWIndow.cs)功能界面,正常使用其软件功能。

    破解Demo程序

    根据demo程序逻辑分析,只需把License验证代码删除或修改即可。

    方法1:IL DASM

    具体使用方法参考之前编写博客《C# IL DASM 使用》
    缺点:
    通过ildasm.exe反编译出的代码为IL 中间语言,想读懂和修改需对IL 中间语言有一定基础。

    方法2:Reflector

    .NET Reflector 工具本身不带修改 dll 和 exe 功能,需下载插件:Reflexil (Reflexil.Reflector.AIO.dll)。

    Reflexil 插件安装方法:
    Tools-->Add-Ins…--> +
    点击“+”,选择下载好的Reflexil 插件路径。点击“Close”关闭窗体。

    使用.NET Reflector 工具打开需反编译代码,分析需要修改代码位置。

    只需删除“ if (!this.License(kay, text))” 判断代码。

    开启 Reflexil 插件:tools -->“Reflexil **”

    Reflexil  插件会将你选择的方法(Mothed) 生成IL 中间语言。对分析需要删除的代码找到对应IL 中间语言所在位置,进行删除。

     

    最后保存修改后的EXE进行重新运行。 ^-^ … 简单的破解工作已完成…^-^

    从 Reflexil 插件菜单上可以看出,他还有很多功能,比如:注入类,注入接口,注入枚举..等。还是很强大的一款插件。

    缺点:
    Reflector 工具需收费。

    方法3:ILSpy

    ILSyp 工具只用四个字形容:简单,粗暴。比较实用。
    直接使用ILSyp 工具打开需反编译exe或dll,然后“Save Code“保存为VS能直接打开的项目。
    修改代码后重新编译生成exe或dll 进行运行。

    通过Save Code 保存的项目,使用VS可直接编译修改代码。

    缺点:
    如果源代码加壳混淆后Save Code 保存的项目VS不能正常编码通过。

    **************转摘:https://www.cnblogs.com/caokai520/p/7708795.html

  • 相关阅读:
    牛客挑战赛48C铬合金之声【Prufer序列】
    Java 基础 反射
    MDX Query mdx的基本语法和概念
    Maven 深入理解maven构建生命周期和各种plugin插件
    Java基础 String,StringBuilder,StringBuffer三者的区别
    Java基础 Java 抽象类 抽象方法
    Java 基础 final vs static
    JMX JMX(Java Management Extensions)定义
    Java 多线程 生产者消费者问题
    Java 基础 如何重写equals()
  • 原文地址:https://www.cnblogs.com/linybo/p/13358799.html
Copyright © 2020-2023  润新知