望穿秋水
管理&技术&业务 项目管理方面:加强通过工具辅助管理,构建Web项目管理系统来协助项目管理。技术开发方面:加强系统分析能力、架构设计能力,时刻把握新技术动态。业务方面:加强需求分析能力,使最终需求来源于客户又高于客户。
随笔 - 394,  文章 - 14,  评论 - 368,  阅读 - 225万

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

我们有时在使用一些小工具软件时,会提示购买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不能正常编码通过。

posted on   望穿秋水  阅读(6221)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2018-11-06 Windows Server 2016离线安装.NET Framework 3.5
2012-11-06 量价分析之毕生经验之谈

点击右上角即可分享
微信分享提示