破解Net Core下 Spire.Pdf,Spire.Doc等一系列组件

 

 

 

一丶前言

  最近在重构公司的硬件服务后端代码,准备用net core来开发,后来发现打印组件基本都是.net framework版本的,支持net core的一个都没有啊。。。找了半天找到一个跨平台库Spire.pdf,但是他是收费的,而且价格挺高的。

https://www.e-iceblue.com/   这是他们的官网

还是美刀价格太高了买不起,要是几百块我就买了。。。

如果没有付费获取许可证的话,它会在你打印或者转换pdf,word里页眉上加水印。这不能用在生产环境,会被喷死的。

于是我只能破解了。

二丶开始破解

准备工具:

    1.de4dot:这是个脱壳,反混淆工具

    2.dnspy:可以反编译net平台所有的程序,C#,vb.net,F#。

准备环境:

    vs2019,ASP.Net Core,Net Core 2.2 SDK

    Nuget包下载最新版本的Spire.Doc,包里包含了Spire.Pdf

开始分析代码:

    1.建个控制台项目,编译为x86 方便附加进程跟踪调试

2.启动控制台项目,然后Dnspy附加控制台进程。

根据功能代码找到这个命名空间下的方法,单步调试跟踪。

跟到这里发现一个byte[]把他的代码copy出来跑一边看看结果

有很多这种坑,长得都一样,函数名字都是空的,返回值也是byte[]。

继续跟下去,看看他是哪里填充的。

这里是他的填充水印的代码。 直接把array = this. () 给nop掉,下面就是空的了,改下我们看看效果。 

 

这里我们不能使用编辑方法,编辑方法要重新编译,编译需要环境,显然这里不行,所以我们只能编辑IL指令集,直接修改文件,就跟用IDA pro汇编改c++的exe差不多。

改完之后试试效果。

水印没了,完美。

 

三丶结语

 Spire.PDF  跟这个类似,也是作者把水印的字符串放到一个byte[]里,在print的某个地方偷偷加进去的。想找到在哪里只能耐心调试了。。实际调试的时候 坑比较多。

Spire 系列的组件我放群共享里了,需要的同学,直接加群去群里下载就行了。

四丶Github Demo,演示地址

Demo 源码地址,顺便给个Star谢谢了。 

演示地址:http://gaobili.cn:8600/swagger/index.html

 加群一起学习共同进步。群号:963718093

.Net Core 开源学习交流

猜你喜欢

转载自www.cnblogs.com/HanJunJun-blog/p/10849502.html
今日推荐