news 2026/7/14 13:23:57

手动修改spire.pdf

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手动修改spire.pdf

温馨提示:经过测试spire.pdf8-9版本都可以按照这个步骤进行,测试12版本已经不行了这个步骤不行了

首先自己需要一个破解的spire,但是找了半天根本找不到,要么是没用的网站,要么是要付费,研究半天发现spire的破解其实非常容易,我都怀疑官方是不是没有做混淆,现在我演示一遍过程

首先关于工具,我们需要dnspy,rider(不是必须的)

rider需要授权,但是如果你注册个新账号就可以试用30天,已经足够了,rider的调试非常厉害,可以调试到dll库里面,所以没有rider的可以根据我最终的结论直接用dnspy修改ilcode

这篇文章首先破解spirepdf,因为spire doc的破解完全是另一种方法,所以可能会开另一篇文章讲spire doc的破解

首先先去spire官方下载spire.pdf,得到一个nuget包,我们可以解压它,得到dll

这里我们先破解net6的,因为net4的破解没差别,只是名字变了

接着在rider里引用dll,创建一个20页的pdf,因为官方的限制是水印加10页转换限制

这段代码就是spire官方提供的spirepdf创建pdf教程,链接在下面 spirepdf创建pdf 接着运行代码,创建pdf和其他类型文件 查看三个文件,发现都有水印,并且其他文件最多9页

接着开始破解,首先在创建pdf文件对象创建处打上断点

接着开始debug,逐过程直接跳过pdf对象的创建,查看pdf对象的数据

定位到pdfnewdocument对象

发现里面有个licenseprotector对象,看这个名字其实就能猜出大概了,这个类其实就是我们需要重点关注的对象,类型是spr加上一个类似徽章的符号

其实你会发现上面还有个internal license字段,但是对他的修改很困难,因为它对应的是个枚举,在spire.pdf命名空间下,且这四个枚举名字都一样,我根本不知道怎么通过修改ilcode来绕过,后来我换了个方法,在后期检查license时,直接修改switch的值,因为switch的是枚举的int值,但是似乎四个switch路径进入的方法都是一样的,怎么改都没差别,所以这个方法直接放弃

知道了这个对象在哪之后,我们就需要追踪它的创建过程,拿到类名

重新debug,进入pdfdocument的构造函数,逐过程几步后就会发现这行代码

我们点进pdfnewdocument类,直接搜索

发现this.licenseprotector对象,此时我们点进对象

看起来是new了一个对象,然后解析了internal license,我们点进这类,也就是spr\u2720

打开ilviewer,查看类

其实这就是我们刚刚那个类,命名空间在spire.pdf里面

我们还会会发现有一个bool返回值的方法,判断了四个enum,然后返回,这四个其实就是license,然后return了一个bool,那么很简单,我们直接在这里截胡,让他永远返回true

复制类名,打开dnspy

打开spire pdf这个dll,然后打开spire.pdf名称空间,或者直接搜索

记住修改搜索范围为所选文件,然后搜索那个类名

似乎搜索不到,因为dnspy有些字符可以显示,有些不行,不行的会变成unicode的形式,所以这个字符也许可以显示,我们可以自己转换,我直接贴在这

spr✠

这样能搜索到了,dnspy这方面真奇怪

因为方法很少,所以我们可以直接找到那个方法

有趣的是,这个类最后有一堆byte,其实就是警告信息,长度应该是138

回到正题,在bool方法的返回语句上右键,编辑il语句,记住一定要在return行上,不要放在上一行或者下一行,不然你不知道会跳到哪去

此时会跳到il编辑界面,当初你右键的位置会高亮显示

这两行就是返回语句,我们把倒数第二行,也就是0090,修改为idc.i4.1,具体怎么改呢,你直接用鼠标点击ldloc.0,然后选择我说的那个指令就行了

修改完之后保存,如果你没看见保存按钮,那是因为你屏幕缩放太大了,点击最上面窗口栏,双击最大化就行

保存就是直接确定

我们可以看见代码已经变了,直接返回true 接着左上角,保存模块

直接确定,默认会保存到原文件,其中不应该出现任何警告提示报错,应该直接完成,如果出现了,你也许得重新来了

保存完毕之后,我们再测试一下我们的代码

pdf文件没有水印了,其他文件格式也没有10页限制了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 13:22:52

AiZynthFinder未来展望:AI在合成化学中的发展趋势

AiZynthFinder未来展望:AI在合成化学中的发展趋势 【免费下载链接】aizynthfinder A tool for retrosynthetic planning 项目地址: https://gitcode.com/gh_mirrors/ai/aizynthfinder 在当今化学研究领域,人工智能正以前所未有的速度改变着合成化…

作者头像 李华
网站建设 2026/7/14 13:22:50

Gramine社区贡献指南:如何参与开源库操作系统项目开发

Gramine社区贡献指南:如何参与开源库操作系统项目开发 【免费下载链接】gramine A library OS for Linux multi-process applications, with Intel SGX support 项目地址: https://gitcode.com/gh_mirrors/gr/gramine Gramine是一个面向Linux多进程应用的库操…

作者头像 李华
网站建设 2026/7/14 13:22:07

终极窗口尺寸控制工具:WindowResizer让你完全掌控任意应用程序窗口

终极窗口尺寸控制工具:WindowResizer让你完全掌控任意应用程序窗口 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 你是否曾为那些固执的应用程序窗口感到困扰&#xf…

作者头像 李华
网站建设 2026/7/14 13:22:02

微信聊天记录永久保存与分析完整指南:让珍贵对话永不丢失

微信聊天记录永久保存与分析完整指南:让珍贵对话永不丢失 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/We…

作者头像 李华
网站建设 2026/7/14 13:21:55

从原理到应用:一文读懂汽车电机的分类与选型

1. 汽车电机的工作原理:从电磁感应到动力输出每次踩下电动车油门时,你有没有好奇过那股瞬间爆发的动力从何而来?这要从1821年法拉第发现的电磁感应现象说起。简单来说,电机就像个"电磁陀螺"——当导线在磁场中通电时&am…

作者头像 李华
网站建设 2026/7/14 13:18:32

艾尔登法环存档编辑器:从游戏挫折到自由掌控的智能解决方案

艾尔登法环存档编辑器:从游戏挫折到自由掌控的智能解决方案 【免费下载链接】ER-Save-Editor Elden Ring Save Editor. Compatible with PC and Playstation saves. 项目地址: https://gitcode.com/GitHub_Trending/er/ER-Save-Editor 你是否曾在《艾尔登法环…

作者头像 李华