破解资源 
首页 > 破解资源 > 浏览文章

通过反射注入去除Spire.Office的PDF水印

(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )

上一篇帖子通过dnSpy逆向爆破了Spire.Xls的水印
然后有大佬@cdj68765 提供了更加简单粗暴的思路和方法,就是通过反射直接赋值激活信息。
我根据大佬提供的代码片段和思路写了一个简单的拓展类,每次New Workbook或者New Document的时候直接调用即可注入激活信息。
使用最新的Nuget包:Spire.Office 7.9.0
目前已知的激活信息有2个分别是:
[C#] 纯文本查看 复制代码
Spire.SpreadsheetSpire.DocViewer.Wpf 

如果有大佬能提供更多的激活字符串通过反射注入去除Spire.Office的PDF水印
下面是调用和拓展方法
Excel
[C#] 纯文本查看 复制代码
Workbook wb = new Workbook();wb.Crack();//或者Workbook wb = InjectLicense(new Workbook());

Word
[C#] 纯文本查看 复制代码
 Document dc = new Document();dc.Crack();//或者Document dc = InjectLicense(new Document());

[C#] 纯文本查看 复制代码
    public static class SpireOfficeHelpers    {        /// <summary>        /// 注入激活信息        /// </summary>        /// <param name="workbook"></param>        public static void Crack(this Workbook workbook)        {            InjectLicense(workbook);        }        /// <summary>        /// 注入激活信息        /// </summary>        /// <param name="document"></param>        public static void Crack(this Document document)        {            InjectLicense(document);        }        /// <summary>        /// 注入激活信息,并返回该类型        /// </summary>        /// <typeparam name="T"></typeparam>        /// <param name="t"></param>        /// <returns></returns>        public static T InjectLicense<T>(T t) where T : class        {            var InternalLicense = t.GetType().GetProperty("InternalLicense", BindingFlags.NonPublic | BindingFlags.Instance);            var TypeLic = InternalLicense.PropertyType.Assembly.CreateInstance(InternalLicense.PropertyType.GetTypeInfo().FullName);            foreach (var item in TypeLic.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance))            {                if (item.FieldType.IsArray)                {                    item.SetValue(TypeLic, new string[] { "Spire.Spreadsheet", "Spire.DocViewer.Wpf" });                }                else if (item.FieldType.IsEnum)                {                    item.SetValue(TypeLic, 3);                }            }            InternalLicense.SetValue(t, TypeLic);            return t;        }    }
上一篇:易语言语法的25个练习题
下一篇:Delphi 11.2 绿化程序强日记:
一句话新闻
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。