.net 破解的几个常用工具
-
在.net 破解中我们经常会提到 Reflector\SimpleAssemblyExplorer和CFF Explore这几个工具. 我们以一个简单的确Windows Form程序为例来说说他们怎么使用,代码如下:
123456789101112131415161718192021222324252627public
partial
class
Conversion : Form
{
public
Conversion()
{
InitializeComponent();
}
bool isTrialExpired =
true
;
private
void
button1_Click(object sender, EventArgs e)
{
double
c = Convert.ToDouble(textBox1.Text);
double
f = (c *
9
/
5
) +
32
;
label3.Text = f.ToString();
}
private
void
TrialExpiredCheck()
{
if
(isTrialExpired)
{
MessageBox.Show(@
"Trial Duration has expired! Installed Freh copy"
,
"!!!!Alert Message!!!!"
);
Application.Exit();
}
}
private
void
Conversion_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 ...
随机推荐
- 修改placeholder颜色
#contact_info为textarea的ID #contact_info::-webkit-input-placeholder{ color:#999;}#contact_info:-moz-p ...
- How to: Declare encoding UTF-8 in python
References: http://stackoverflow.com/questions/12238307/declaring-encoding-in-python http://stackove ...
- Linux初始root密码设置
刚安装好的Linux系统是没有设置root用户密码的,下边介绍如何设置root用户的密码 第一步:sudo passwd 第二步:输入密码 第三步:确认密码 这样三个步骤过后root用户的密码就设置好 ...
- JavaScript 作用域和作用域链
作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理.今天这篇文章对JavaScript作用域和作用域链作简单的介绍,希望 ...
- xml simpleXML_load_file(), simpleXML_load_string()
xml.xml文件 <?xml version='1.0'?><man> <att> <name>lin3615</name& ...
- vs快捷键及常用设置(vs2012版)
vs快捷键: 1.ctrl+f F是Find的简写,意为查找.在vs工具中按此快捷键,可以查看相关的关键词.比如查找哪些页面引用了某个类等.再配合查找范围(整个解决方案.当前项目.当前文档等),可以快 ...
- php 中文字符串首字母的获取函数
这篇文章介绍了php 中文字符串首字母的获取函数,有需要的朋友可以参考一下 function chineseFirst($str) { $str= iconv("UTF-8",&q ...
- [CSS]white-space 属性详解
实例 规定段落中的文本不进行换行: p { white-space: nowrap } 可能的值 值 描述 normal 默认.空白会被浏览器忽略. pre 空白会被浏览器保留.其行为方式类似 HTM ...
- 拓展:switch实现
拓展:switch实现 参考中谷教育 python视频:switch switch语句用于编写多分支结构的程序,类似于if ... elif ...else语句.switch语句表达的分支结构比if ...
- easy-ui datagrid
Easy-ui引用 <link href="css/EasyUI/themes/icon.css" rel="stylesheet" type=&q ...