好友
阅读权限10
听众
最后登录1970-1-1
|
记录一款软件授权信息逆向的过程,这个软件是先在网上找的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替换试一下,启动成功了,可以正常进入软件了
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|