.net 破解的几个常用工具
-
在.net 破解中我们经常会提到 Reflector\SimpleAssemblyExplorer和CFF Explore这几个工具. 我们以一个简单的确Windows Form程序为例来说说他们怎么使用,代码如下:
123456789101112131415161718192021222324252627publicpartialclassConversion : Form{publicConversion(){InitializeComponent();}bool isTrialExpired =true;privatevoidbutton1_Click(object sender, EventArgs e){doublec = Convert.ToDouble(textBox1.Text);doublef = (c *9/5) +32;label3.Text = f.ToString();}privatevoidTrialExpiredCheck(){if(isTrialExpired){MessageBox.Show(@"Trial Duration has expired! Installed Freh copy","!!!!Alert Message!!!!");Application.Exit();}}privatevoidConversion_Load(object sender, EventArgs e){TrialExpiredCheck();}}正常运行弹出消息框然后程序退出.

要破解此程序有几个方法:1.让isTrialExpired为false;2.清空Conversion_Load方法 3.清空TrialExpiredCheck方法. 我们现在以上面3个工具依此来实现一下:
Reflector:
Reflector必须有Reflexil插件.用Reflector打开程序找到Conversion_Load方法,选择tool中的Reflexil:


现在我们需要在Conversion_Load方法中添加一句 isTrialExpired = false;的代码, 操作如下:


修改Conversion_Load如下:

点"OK"按钮,再Save As:


运行结果:


SimpleAssemblyExplorer:
打开程序选择class Editor:


bool isTrialExpired = true;这句代码其实是两句 bool isTrialExpired = false; isTrialExpired = true;第二句在构造方法执行,也对应这里标出的前3个命令,我们只需删除这3个指令就可以了.



运行结果:


CFF Explore:
用ILDASM打开程序

找到TrialExpiredCheck方法,这里我们做2个破解,1删除 Application.Exit();2.删除方法中的所有内容:


用CFF Explore打开程序


在RAV处输入20cc:

注意
IL_0018: /* 28 " (0A)00001A */ call void [System.Windows.Forms]System.Windows.Forms.Application::Exit()这句的地址是 28 1A 00 00 0A

把28 1A 00 00 0A全部改为00, 然后点修改按钮

Save As:

运行结果:



如果要删除TrialExpiredCheck方法的全部内容,既删除如下指令:


需要把标记的部分全部改为00:

保存后运行结果:
下载 有不妥的地方欢迎大家拍砖!
.net 破解的几个常用工具的更多相关文章
- Android开发常用工具汇总
Android开发常用工具汇总,本文章不断更新完善 一.数据库小工具Sqlite Developer SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的, ...
- Java后端开发常用工具
Java后端开发常用工具推荐: 俗话说,工欲善其事,必先利其器.不过初学时候不大建议过度依赖IDE等过多工具,这会让自己的编程基础功变得很差,比如各种语法的不熟悉,各种关键字比如synchronize ...
- Windows 常用工具 & 开发工具 & Chrome插件 & Firefox 插件 & 办公软件
常用工具 1.FastStone 8.0 2.印象笔记 3.Chrome 4.Beyond Compare 5.Everything 6.有道词典 7.文本编辑软件 EditPlus UltraEdi ...
- js常用工具类.
一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...
- Linux 常用工具小结:(5) lftp工具使用
Linux 常用工具小结:(1) lftp工具使用. 这里会按照一些比较常用的功能列出,并举一个具体的例子逐一解释功能. 通常使用ftp过程是登陆ftp,浏览ftp内容,下载ftp文件,或者上传ftp ...
- spring中常用工具类介绍
http://www.cnblogs.com/langtianya/p/3875103.html 文件资源操作 Spring 定义了一个 org.springframework.core.io ...
- IOS开发--常用工具类收集整理(Objective-C)(持续更新)
前言:整理和收集了IOS项目开发常用的工具类,最后也给出了源码下载链接. 这些可复用的工具,一定会给你实际项目开发工作锦上添花,会给你带来大大的工作效率. 重复造轮子的事情,除却自我多练习编码之外,就 ...
- Apache Commons 常用工具类整理
其实一直都在使用常用工具类,只是从没去整理过,今天空了把一些常用的整理一下吧 怎么使用的一看就明白,另外还有注释,最后的使用pom引入的jar包 public class ApacheCommonsT ...
- Android 常用工具类之SPUtil,可以修改默认sp文件的路径
参考: 1. 利用Java反射机制改变SharedPreferences存储路径 Singleton1900 2. Android快速开发系列 10个常用工具类 Hongyang import ...
随机推荐
- 水题~~~~HDU 4788
Description Yesterday your dear cousin Coach Pang gave you a new 100MB hard disk drive (HDD) as a gi ...
- Android Studio API 文档_下载与使用
如何下载API 说明: 时间: 2016/7/9 根据百度经验步骤改编(百度经验), 但是比它更好, 亲测可用 1.1 下载API文档: 1.1.1 SDK Manager 1.1.2 1.1.3 ( ...
- php 魔术方法__get()和__set()理解
__get()方法,官方手册上是这样解释的 : ' 当调用(自己加的:或设置|赋值)当前环境下未定义或不可见的类属性或方法时,重载方法会被调用.本节后面将使用"不可访问属性(inaccess ...
- JavaScript中的运算符种类及其规则介绍
JavaScript中的运算符有很多,主要分为算术运算符,等同全同运算符,比较运算符,字符串运算符,逻辑运算符,赋值运算符等.这些运算符都有一些属于自己的运算规则,下面就为大家介绍一下JavaScri ...
- php生成随机产生六位数密码的代码
php生成随机产生六位数密码的代码,供大家学习参考.本文转自:http://www.jbxue.com/article/6199.html php生成随机产生六位数密码的代码,供大家学习参考. 复制代 ...
- Python调试工具-Spyder
OS:Windows 7 关键字:Python IDE, Spyder 1.安装工具pip:https://pip.pypa.io/en/latest/installing.html 下载 get-p ...
- 2016032101 - eclipse3.7+jdk1.6+maven3.0.5
公司使用jdk1.6做开发环境,那么使用的eclipse需要下载3.7版本,因为eclipse4以上必须使用jdk1.7及其以上版本. 1.资源下载 jdk1.6需要去oracle官网去下载,可能需要 ...
- 【gitlab】版本管理工具
- I2C总线模拟(郭天祥视屏)
电路图 思路 1.向EEPROM中通过I2C总线写入一个字节 2.通过I2C总线读出写入的字节 3.如果写入和读出成功点亮发光二极管 程序 #include <REGX51.H> #def ...
- Memcached(五)Memcached的并发实例
package com.sinosuperman.memcached; import java.io.IOException; import java.net.InetSocketAddress; i ...