cq5868177 发表于 2022-11-17 16:21

license文件JAVA逆向记录

记录一款软件授权信息逆向的过程,这个软件是先在网上找的PJ包,但是PJ包与我的软件版本不一致所以用不了。
然后我就尝试根据现有PJ包的明文授权文件自己逆向。


把授权文件放到对应的目录打开软件,提示授权文件解析错误。EXE拖入IDA先看看,发现有JAVA相关的字符串




用IDA导入JNI.h,大体看了下流程,应该就是创建JVM虚拟机载入classloader然后加载所需class启动JAVA程序。




OD调试起来,在sub_CA3CA0看到了ZIP相关的CLASS,以及DefineClass函数






OD中看下这个DefineClass加载的是bootloader,这个loader 解密加载了其他JAR




把JAR DUMP 出来 可以看到里面有个Activator类。Activator类里面就是解析授权文件的。




可以看到构造函数里面有X509Certificate 验证,而我下载的PJ包授权文件是明文的
所以这里我们把X509Certificate相关的直接删除掉,然后读取授权文件方式直接换成properties,这样就可以直接解析成功了


改完后发现还是报错,花了些时间调试了下,发现plugin目录中的launcherJAR包加载Activator签名不通过导致的,需要把这里的getSigners以及这个包中JAdapter类findHook()中的getSigners去掉就OK了




最后修改CLASS替换试一下,启动成功了,可以正常进入软件了

cq5868177 发表于 2022-11-18 08:50

7025 发表于 2022-11-17 21:55
这个还需要根据license信息导入数据库,光启动也没法用,这个是老版本了 基本上用的少了

license 版本间是通用的,里面只是配置品牌信息

ZXH888 发表于 2024-2-18 13:52

楼主新年好呀,小弟假期中无趣按照您的帖子想练练手,按照您的指引我获取到了BootLoader.class. 但是您所说的dump JAR是如何操作的呢?还望大佬指点一下{:1_893:}

guyuelintian 发表于 2022-11-17 16:42

学习了{:1_926:}这纯纯的是干货

niceboge 发表于 2022-11-17 16:58

真是太牛啦,好好学习一下,感谢分享。

yangand 发表于 2022-11-17 17:08

DUMP JAR包的过程能不能详细点

我为52pojie狂 发表于 2022-11-17 17:09

收藏了,准备依葫芦画瓢操作一番。

bestwars 发表于 2022-11-17 17:26

这纯纯的是干货{:1_893:}感谢分享

LHL511022 发表于 2022-11-17 17:34

教程很好,学到了有用的知识。本人小白一个,继续努力!

kevinchenyuan 发表于 2022-11-17 17:56

好好学习一下,感谢分享

dongcd 发表于 2022-11-17 18:03

{:1_921:}可以的,感谢分享

lzy1983 发表于 2022-11-17 18:22

楼主厉害了。向你学习
页: [1] 2 3 4 5
查看完整版本: license文件JAVA逆向记录