2月17日
关于控件破解的步骤
.net下的控件如果不用使用混淆工具混淆,就相当于把自己的源码白送给人家。今天刚破解了SlickUpload,一个大文件上传工具,记录一下一般的破解步骤:
1.先使用reflector反编译工具打开dll文件分析,此工具可以反编译成不同的语言,如c#和il,切换对比一下可以对比c#和il之间的差异,把鼠标移IL指令代码上,还会出现注释说明该IL代码的作用,真是太方便了,找到输出公司标记的部分BrandFilter.GetBrand(),此控件在httpModule处理中直接在response输出流中插入了一个div标签。因此只要将此字符串替换为空就可以了。令人疑惑的是该控件的注册类LicenseValidator并没有在其它部分调用,在reflector中分析代码的依赖关系也很方便,在左侧选中一个方法,点击右键选择analyze就可以分析该方法被哪些代码调用。
2.用ildasm打开dll,转储为文本文件。
3.打开文il文本,首先把校验去掉,否则会出现异常,在文件头部,
.publickey = (。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。 )
把这部分整个删掉。
4.查找GetBrand,会找到两处,第一处为声明,第二处才是要找的部分,修改为就可以了。
.method private hidebysig instance string GetBrand() cil managed
{
// Code Size: 6 byte(s)
.maxstack 1
L_0000: ldstr "<div></div>"
L_0005: ret
}
如果有注册机制的话,一般给他返回true就可以了。
public bool IsValid(KeyInfo keyInfo)
{
return true;
}
转换成IL后变成
.method public hidebysig instance bool IsValid([System.Security]System.Security.Cryptography.Xml.KeyInfo keyInfo) cil managed
{
// Code Size: 2 byte(s)
.maxstack 0
L_0000: ldc.i4.1
L_0001: ret
}
5.保存il文件后还要重新编译回去,在vs命令行输入
ilasm /dll /resource=slick.res slick.il
其中/dll是表明编译为dll,/resouce表明要包含的资源文件。
分享到:
相关推荐
在Android开发中,流程步骤控件是一种常用的UI组件,它能清晰地展示用户操作的步骤序列,特别是在涉及多步骤的提交或验证过程中。本篇文章将深入探讨如何在Android中实现这样的控件,以及其在实际应用中的设计和使用...
BMDTHREAD控件调用步骤。线程控件与线程组控件关联后,就可以根据线程组的启动、暂停、继续、关闭事件来操控所有组内线程。 PS:写外挂不错的——比如,加血与加蓝外挂,用2个线程实现,并放入线程组中执行,同步管理...
自定义步骤控件封装库
【QT自定义控件开发步骤】是关于使用Qt框架创建并使用个人化控件的教程。在Qt Designer中,虽然内置的控件能满足大部分需求,但有时需要特定功能的控件,例如文中提到的经纬度输入框。以下是开发自定义控件的详细...
在Android应用开发中,我们经常需要创建用于展示流程或步骤的控件,这在许多应用场景中都很常见,比如购物结算、注册引导等。标题“Android-基于Android的显示步骤的控件可定制”指的是一个专门为Android平台设计的...
Android 自定义控件步骤总结 Android 自定义控件步骤总结是 Android 开发中非常重要的一部分。系统提供给我们的控件不能满足我们的需求,所以我们往往会自定义一些控件。在自定义过程中遵循以下几个步骤: 一、...
在深入探讨如何在MFC(Microsoft Foundation Classes)中添加SQL数据库对应的控件的步骤之前,我们首先需要理解几个关键概念。MFC是微软提供的一套用于简化Windows编程的类库,它封装了大部分Windows API函数,使得...
VC ActiveX 控件的开发详细步骤说明 本文档详细说明了使用 VC 开发 ActiveX 插件的详细步骤,包括工程的建立、JS 界面的编写、ActiveX 插件中代码的编写、JS 界面和 ActiveX 控件之间的相互通信的方法及示例,还有...
先定义一个StepEntity类来存储步骤条节点的信息: public class StepEntity { public string Id { get; set; } public string StepName { get; set; } public int StepOrder { get; set; } public ...
MFC 自定义控件编写过程是指使用 Microsoft Foundation Classes (MFC) 库创建自定义控件的步骤。这些控件可以根据需要进行自定义,以满足特定的应用需求。下面将详细介绍 MFC 自定义控件编写过程的关键步骤。 1. ...
MSCOMM控件的使用步骤,非常好。请各位看一下怎么样。
创建自定义控件在LabVIEW中并不复杂,主要步骤包括: 1. **设计界面**:使用LabVIEW的前面板对象工具栏中的基本控件,如布尔按钮或复选框,进行初步设计。 2. **添加VI(虚拟仪器)**:为控件创建一个对应的VI,这...
首先,创建用户控件的步骤如下: 1. **创建新项目**:在Visual Studio中,选择“文件”>“新建”>“项目”,然后选择“Windows Forms应用程序”。 2. **添加用户控件**:在解决方案资源管理器中右键单击项目名,...
串口通信技术在VS2010中使用MSComm控件的实现步骤 串口通信是一种常用的数据交换方式,在各种设备和系统之间进行数据交换。使用MSComm控件可以简化串口通信的开发过程。本文将介绍如何在VS2010中使用MSComm控件实现...
创建用户控件的主要步骤包括: 1. 创建一个新的ASCX文件,这个文件将包含用户控件的定义。 2. 在ASCX文件中添加所需的服务器控件,以及任何必要的HTML标记和样式。 3. 编写与控件相关的C#或VB.NET代码,以实现特定...
(2)在页面中添加五个 Label控件、五个 Textbox 控件和一个 Button控件。 (3)在 Web 窗体上拖放一个 RequireFieldValidator 控件、一个 CompareValidator 控件、 一个 RangeValidator 控件、一个 ...
在C#中调用ActiveX控件涉及到一系列步骤和注意事项,因为ActiveX控件是基于COM(组件对象模型)技术的,而C#是.NET框架的一部分,两者之间需要进行桥接才能实现交互。以下是详细的过程和相关知识点: 1. **注册控件...
### Activex\web上用Activex控件开发步骤(MFC) #### 概述 在Web开发领域,ActiveX 控件曾是一种广泛使用的客户端技术,尤其是在Internet Explorer浏览器中。它允许开发者在用户计算机上安装并运行自定义编写的组件...
创建用户控件的过程涉及到以下步骤: 1. **创建新组件**: 在VB6.0环境中,选择"工程"菜单,然后点击"添加用户控件"。这将打开一个新的设计窗口,你可以在这个窗口中添加、排列和配置所需的控件。 2. **属性和方法*...
OCX 控件制作流程 OCX 控件是 ActiveX 控件的一种,广泛应用于 Windows 平台的软件开发中。其制作流程相对复杂,但通过以下步骤可以轻松掌握。 Step 1: 项目创建 在 VS2010 中创建一个新的 MFC 项目,选择 MFC ...