Liyang007 发表于 2023-9-28 11:41

Aspose.cells for net 23.9.0 使用过期License进行去除水印

本帖最后由 Liyang007 于 2023-9-28 15:50 编辑

首先说一下我破解的大概思路:
1、找一个过期的license
(这个我相信大家应该都可以找到),使用过期的license肯定会报个异常,类似这种
2、找到license抛异常的地方
直接把license抛异常的地方给它排除掉,这个时候代码就不会报错,但是会有生成水印
3、去除水印
有水印肯定就有地方把水印的字符串印上去,我们只需要找到这个水印字符串,然后把它去掉即可
话不多说,开干!

1、先写个demo


2、导入神器dnSpy


3、找到license这个方法,然后找到抛异常的地方


然后写IL语言强行修改抛异常的地方,我这里是把\u0002修改为0,它就走不到异常里面了,哈哈

4、有水印的效果展示


5、找水印的字符串并且去除


当然找到后,肯定不能在反射的方法里面修改,因为是框架的代码,不能乱改,只能去aspose层面的代码修改,我们就F10一直往下走,走到aspose层面的代码就可以进行修改了,这里我判断了一下,把它赋值为空字符串


6、无水印的效果展示
代码至此已经没有水印了(下图分别是doc,html、pdf、xlsx),但是生成xlsx文件时,会出现一个空的sheet,肯定是哪没清除干净

7、处理xlsx会多生成一个空sheet
现在就要找这个xlsx为啥会生成一个空的sheet表,这个时候只能打断点耐心找添加sheet的方法,终于被我找到:



我们虽然把水印赋值为空字符后,但是这还是添加了一个空的表格,所以我们需要在这判断一下,让它不添加


8、处理空指针异常
但是运行时抛异常了,未将对象引用到实例,肯定是这个地方代码做了判断的,我又去找这个异常,就是这个地方抛的异常:


我直接给它修改为返回了


9、再次处理空指针异常
然后又运行又抛错了,未将对象引用到实例,又是哪没判断嘛,我又找这个异常


然后修改为continue,哈哈


10、最终效果
然后生成xlsx文件,哈哈,没报错,没有水印了,然后我全部文件格式都试了一遍,没发现还有什么暗桩,到时候发现了再改。






Liyang007 发表于 2023-9-28 11:49

本帖最后由 Liyang007 于 2023-10-7 08:42 编辑

dll放在网盘里面,需要学习交流的可以下载看一下
链接:https://pan.baidu.com/s/1qVw_C8bLLqTcNruKvKnD1A
提取码:hs54

Liyang007 发表于 2023-10-1 09:34

zpy2 发表于 2023-9-30 08:11
写IL语言强行修改抛异常

这个IL语言修改,具体有教程吗?不是


没有教程,在vs里面写一个类似的方法,然后根据它的IL编码,在aspose代码里面改写IL就可以了,你可以先学习一下IL语言的语法

艾莉希雅 发表于 2023-9-30 15:42

看起来有点意思,感觉是不是把时间搞了就能用了
有没有样本啊,根据板块头部这条,丢样本不违规哦
2: 发布脱文、破解、算法分析文章时,请把试炼程序一并上传,便于会员们学习。

zpy2 发表于 2023-9-30 08:11

写IL语言强行修改抛异常

这个IL语言修改,具体有教程吗?不是
直接修改图https://attach.52pojie.cn/forum/202309/28/154300vdqq6qqsmdivs77w.jpg这里?

dplxin 发表于 2023-9-30 09:14

他有很多暗装的, 这样搞不完全, 还不如想办法在判断过期的地方处理了 , 这样就不用考虑后面的暗装了

qqycra 发表于 2023-9-30 18:03

修改返回值大法

宁采成 发表于 2023-9-30 20:15

感谢分享

Liyang007 发表于 2023-10-1 09:45

dplxin 发表于 2023-9-30 09:14
他有很多暗装的, 这样搞不完全, 还不如想办法在判断过期的地方处理了 , 这样就不用考虑后面的暗装了

低版本的修改日期才有用,我试过改时间,结果它把时间放在字节数组里面,每次调用的时候用反射来取,并且要经过异或运算,我搞不懂

Liyang007 发表于 2023-10-1 09:47

艾莉希雅 发表于 2023-9-30 15:42
看起来有点意思,感觉是不是把时间搞了就能用了
有没有样本啊,根据板块头部这条,丢样本不违规哦
2: 发 ...

我以为不能发破解的文件呢,国庆节后,我上传一下
页: [1] 2 3 4
查看完整版本: Aspose.cells for net 23.9.0 使用过期License进行去除水印