zoukankan      html  css  js  c++  java
  • .NET破解之繁星代码生成器

    本教程只能用于学习研究,不可进行任何商业用途。如有使用,请购买正版,尊重他人劳动成果和知识产权!

    对象:繁星代码生成器0.96

    环境:Win7 x64

    工具:exeinfoPE(查壳)、de4dot V3.1(反混淆)、.NET Reflector 8.5(查看)、reflexil.1.8(修改)。

    目标:将180天未注册改版改为已注册版本

    01.搜索

    查壳、反混淆,使用.NET Reflector加载,F3搜索字符串"未注册":我们搜索到一个结果,在FrmMain主窗体的构造函数(.ctor)中。

    搜索是快速找到关键点比较重要的方法:快捷键是F3,很多软件中的搜索都是F3,这里的搜索功能有四个按键:Search Type(Ctrl+T)搜索类型、Search Member(Ctrl+M)搜索成员、Search String or Constant(Ctrl+S)搜索字符串或常量、exact match准确匹配。

    02.分析

    查看关键代码,这里只有一个搜索结果,所以,我们可以锁定它,如果有多个结果,则要根据实际情况进行分析:这里调用了注册类RegisterHelper中的GetRegisterState方法,这个方法将Out一个整型num,分析后可得到下表:

    分析代码应该算是经验起主要作用,其中的技巧和思维是需要长期练习而得。这里小结一个:一般的注册都有状态,注册成功了是什么值,没成功是什么值,缺少权限是什么值,过期是什么值,可能存储在枚举值中,如下图:

    03.深入

    当然,这里我们可以直接修改判断条件,可能会达到我们想要的结果,但为了保险,我们得深入进去。这里,我们深入GetRegisterState方法,将state返回大于0的数值,函数返回值任意。因为RegisterHelper在MultiStar.Common.dll里,所以,我们将它另存来进行测试。

    只有彻底修改注册函数,才能解决根本问题。这样,你也可以在写代码的时候不要写得很简单,别人一看就明白,至少写复杂一点,即使被破解,也要让别人看起来都头疼。

    04测试

    对结果进行各种测试,包括其中的功能,有必要,可以在.NET Reflector中分析关键函数使用的地方,如下图左。

    本教程只能用于学习研究,不可进行任何商业用途。如有使用,请购买正版,尊重他人劳动成果和知识产权!

  • 相关阅读:
    所有时间测试函数
    时间函数应用 time
    50个c/c++源代码网站
    ASN.1详解
    SNMP协议
    SNMP协议详解
    大数据需要建立规则和标准
    常用的三层架构设计
    构建大型网站架构十步骤
    iOS 应用程序内部国际化,不跟随系统语言
  • 原文地址:https://www.cnblogs.com/liweis/p/4529765.html
Copyright © 2011-2022 走看看