Aspose.imaging-18.3-jdk16的License算法分析
0x00 Aspose.imaging介绍Aspose.Imaging for Java 是一个易于使用、高性能且文档齐全的图像库。 它提供了最灵活的一组例程来在 Java 应用程序中创建、操作和保存图像。 Aspose.Imaging for Java 支持基于光栅的图形成像的最大文件格式,并提供广泛的压缩算法以及众多图像处理操作。
Aspose.Imaging for Java 提供了广泛的传统图像处理操作,例如将图像从一种格式转换为另一种格式、绘制原生对象以及 GraphicsPaths 和几何变换,例如缩放、旋转和翻转。 Aspose.Imaging for Java 提供的一项要求很高的功能是操作多个图像帧或读取和写入支持多个图像帧的文件格式。
选择这个版本的原因是官网的文档示例代码是18.3版本,本分析的过程纯粹是研究学习的,需要商业版的请绕行。
0x01 算法分析
这个算法相对简单,只对两个类进行修改,就不附图了
1)进入com.aspose.imaging.License类,找到isLicensed这个方法关键字,将它的返回变为true即可。
2)进入com.aspose.imaging.internal.hn.p类,找到被混淆方法b,将返回体设置为1即可
这样,直接返回验证成功,完成激活
0x02 修改方法(注意过程中需要javassist-3.29.2-GA.jar的支持,这是关键点,具体原理大家可百度一下。)
注意事项
更改后jar包的META-INF文件夹需要清空校验证书,否则无法加载
感谢:Valen大神提供的分析思路和替换代码
页:
[1]