首页
社区
课程
招聘
[求助]一个flexlm的Java程序问题
发表于: 2024-10-19 09:30 4347

[求助]一个flexlm的Java程序问题

2024-10-19 09:30
4347

一个flexlm的Java加密程序,自己弄不出来,但是发布的破解弄了很多地方,谁能给看看为啥?
链接: https://pan.baidu.com/s/1sZXTX93wntDBVQW_Rprbmg?pwd=1234 提取码: 1234 复制这段内容后打开百度网盘手机App,操作更方便哦

里面有两个文件,一个是原文件,一个谁破解后的文件


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (103)
雪    币: 307
活跃值: (400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
期待有大虾给看看,在这个问题上停留了太久了。
2024-10-19 10:06
0
雪    币: 15
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我觉得修改后编译成jar里的class就挺难的。
2024-10-20 21:30
0
雪    币: 5642
活跃值: (410)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
YiW
4
哪几个class改了?你直接说啊
2024-10-21 09:57
0
雪    币: 5642
活跃值: (410)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
YiW
5

试试

上传的附件:
2024-10-21 09:59
0
雪    币: 307
活跃值: (400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
非常感谢,我已经有了这个文件的破解版本,我是试图理解这个破解的理由,您给的这个是什么?
2024-10-21 10:26
0
雪    币: 307
活跃值: (400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我看到您改了Checkout的输出为true,还有别的地方吗?
2024-10-21 10:30
0
雪    币: 5642
活跃值: (410)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
YiW
8
你自己在另一个贴里也是试图把checkout 改成return true。我就随手改了一下,只改了这一个地方。很多情况下,这样改就足够了。
2024-10-21 10:33
0
雪    币: 5642
活跃值: (410)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
YiW
9
我不知道你给的那个破解里改了什么,没有一个个文件去对比。你告诉我哪个class改了,我可以看看
2024-10-21 10:34
0
雪    币: 307
活跃值: (400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
改了无穷多地方,反而这个没有改,这个改了以后,程序还是报错。
2024-10-21 10:57
0
雪    币: 307
活跃值: (400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
要不我把软件整个发给您,你看看怎么破解?
2024-10-21 10:59
0
雪    币: 270
活跃值: (2644)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
软件发出来看下
2024-10-22 00:19
0
雪    币: 5642
活跃值: (410)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
YiW
13
ggbaby 要不我把软件整个发给您,你看看怎么破解?
私信吧
2024-10-22 10:06
0
雪    币: 307
活跃值: (400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
https://pdn.sharezilla.ir/d/software/ESTECO.modeFRONTIER.2020.R3.x64_p30download.com.rar
已经有破解,但是我就是没有看懂他的破解过程。看看大侠们能不能有什么看法指导一下。
2024-10-22 11:45
0
雪    币: 5642
活跃值: (410)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
YiW
15
ggbaby https://pdn.sharezilla.ir/d/software/ESTECO.modeFRONTIER.2020.R3.x64_p30download.com.rar 已经有破解,但是我就 ...
压缩包还有密码?
2024-10-22 16:30
0
雪    币: 1646
活跃值: (7354)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
破解方法本质还是补丁ECC,可执行文件依靠netapi32.dll搞定;jar文件直接补丁pubkeyVerify函数,有两处:com.macrovision.flexlm.lictext.PriKey和com.macrovision.flexlm.lictext.PriKeyURL。然后就是老方法,提供形式合法的lic授权文件,就可以启动授权服务。
2024-10-22 16:39
1
雪    币: 307
活跃值: (400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
这两个地方并不能解决问题,您破解试试。反正我试了不行。
2024-10-23 10:59
0
雪    币: 307
活跃值: (400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
另外,通过netapi32.dll搞定是怎么个原理,我都是直接改代码。
2024-10-23 11:00
0
雪    币: 320
活跃值: (583)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
ggbaby 这两个地方并不能解决问题,您破解试试。反正我试了不行。
自己找到修改的文件对比下不就知道了
2024-10-24 08:21
0
雪    币: 307
活跃值: (400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
YiW 压缩包还有密码?
密码是:www.p30download.com
2024-10-24 09:09
0
雪    币: 307
活跃值: (400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
UnicornMaker 自己找到修改的文件对比下不就知道了
对比了,就是没有看懂他的逻辑才问的。
2024-10-24 09:10
0
雪    币: 320
活跃值: (583)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22


这不复杂吧?ReCaf编辑下字节码的事情。

2024-10-24 23:41
0
雪    币: 320
活跃值: (583)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
ggbaby 另外,通过netapi32.dll搞定是怎么个原理,我都是直接改代码。
Hook环境变量,然后栈回溯找对应的模块修改
2024-10-24 23:42
0
雪    币: 307
活跃值: (400)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
UnicornMaker 这不复杂吧?ReCaf编辑下字节码的事情。
大侠讲讲您破解的在什么地方,跟软件自带的是一样吗?谢谢了。。。
2024-10-25 09:10
0
雪    币: 320
活跃值: (583)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
ggbaby 大侠讲讲您破解的在什么地方,跟软件自带的是一样吗?谢谢了。。。

在doAuth函数调用了pubkey的验证。License中使用的是SIGN所以下面代码中的b变量就是false的,如果没有验证就会调用

PriKey.pubkeyVerify、PriKeyURL.pubkeyVerify

进行验证,定义变量authentic就是验证过直接bypass。

void doAuthenticate() throws FlexlmException {
        final byte[] buildCryptBuffer = this.buildCryptBuffer();
        final boolean b = this.signature2 != null;
        final boolean b2 = this.signature1 != null; 
        if (!b2 && !b) {
            throw new FlexlmLicenseElementException(-516, 4035, this.filename, this.lineNumber, this.lineText, this.name);
        }
        boolean authentic = true;
        try {
            if (LicenseElement.urlList == null && LicenseElement.loadfromURL) {
                final Properties properties = new Properties();
                final InputStream systemResourceAsStream = ClassLoader.getSystemResourceAsStream("FlexnetPublisher.properties");
                if (systemResourceAsStream != null) {
                    properties.load(systemResourceAsStream);
                    final String property = properties.getProperty("CerticomJarPath");
                    if (property != null) {
                        LicenseElement.urlList = new URL[] { new File(property + "/" + "EccpressoAll.jar").toURL() };
                    }
                }
            }
        }
        catch (final NullPointerException ex) {}
        catch (final MalformedURLException ex2) {}
        catch (final IOException ex3) {}
        if (LicenseElement.urlList != null) {
            LicenseElement.loadfromURL = true;
            if (b) {
                authentic = PriKeyURL.pubkeyVerify(buildCryptBuffer, hexToBinBytes(this.signature2), this.vInfo, this.strength, LicenseElement.urlList);
            }
            if (!authentic && b2) {
                authentic = PriKeyURL.pubkeyVerify(buildCryptBuffer, hexToBinBytes(this.signature1), this.vInfo, this.strength, LicenseElement.urlList);
            }
        }
        else {
            LicenseElement.loadfromURL = false;
            if (b) {
                authentic = PriKey.pubkeyVerify(buildCryptBuffer, hexToBinBytes(this.signature2), this.vInfo, this.strength);
            }
            if (!authentic && b2) {
                authentic = PriKey.pubkeyVerify(buildCryptBuffer, hexToBinBytes(this.signature1), this.vInfo, this.strength);
            }
        }
        this.authentic = authentic;
        this.authenticationAttempted = true;
        if (!authentic) {
            throw new FlexlmLicenseElementException(-8, 4048, this.filename, this.lineNumber, this.lineText, this.name);
        }
    }

字节码修改位置,将如下位置的变量修改就可以了

F:
ICONST_1
ISTORE 6
EX_START_3:
GETSTATIC com/macrovision/flexlm/lictext/LicenseElement.urlList [Ljava/net/URL;
IFNONNULL EX_END_3

因为变量赋值在这个位置

ALOAD this
ILOAD 6
PUTFIELD com/macrovision/flexlm/lictext/LicenseElement.authentic Z



最后于 2024-10-25 15:34 被UnicornMaker编辑 ,原因:
2024-10-25 12:52
1
游客
登录 | 注册 方可回帖
返回
//