jxbrowser 6.18 以及 6.16 破解 整合

破解方法来源:NoteShare jxbrowser 6.x 破解Java

感谢网友破解6.18方法

破解原理:

( f ^ siga % d ) * ( siga ^ sigb % d ) % d  =  e ^ sha % d  = 26462259068637991152391547961988549573195908021293613120352742382097401086123127593625299662130257259332932885822823122387677


e=33851717214292305582010417393402727812830176472733550790920844148355988054130010499992971193003524512509240474673101724848384
d=34051811835788252902797885733156696286414897221750775263783399829125079614056933876807669964513495918712211128108375406963673
f=25667112684517379948185296389386925307782598673250742557116530456931377273936147127185145251019629808481495879454212767959902
sha=805299536940350876288446176005730731798065487012179085006223925532583426956047503414412559272717070810491462643837331823

求 siga , sigb 的值
如果让 e = 1 f = 1 siga = 1 的话 式子永远成立 所以就达到了破解的目的

声明:我只是做整合,仅供学术参考,请勿商业用途

我来教大家怎么破解 6.18版本和6.16版本。 6.x 版本

官网:JXBrowser

第一步
添加teamde.licenses
方法一
官网下载解压之后。
jxbrowser-6.18-cross-desktop-win_mac_linux\lib中jxbrowser-6.18-cross-desktop-win_mac_linux\demo\jxbrowserdemo.jar 解压 找到 META-INF\teamdev.licenses 文件 复制到自己的项目中 META-INF\teamdev.licenses
方法二
自己的项目中创建META-INF\teamdev.licenses

修改内容为
teamdev.licenses

Product: JxBrowser
Version: 6.x
Licensed to:
License type: Enterprise
License info: JxBrowser License
Expiration date: 01-01-9999
Support expiration date: NO SUPPORT
Generation date: 01-01-1970
Platforms: win32/x86;win32/x64;mac/x86;mac/x64;linux/x86;linux/x64
Company name: TeamDev Ltd.
SigB: 1
SigA: 1

然后跳过了授权文件正确性的验证
code

6.18版本:

    static {
        try {
            Field e = az.class.getDeclaredField("e");
            e.setAccessible(true);
            Field f = az.class.getDeclaredField("f");
            f.setAccessible(true);
            Field modifersField = Field.class.getDeclaredField("modifiers");
            modifersField.setAccessible(true);
            modifersField.setInt(e, e.getModifiers() & ~Modifier.FINAL);
            modifersField.setInt(f, f.getModifiers() & ~Modifier.FINAL);
            e.set(null, new BigInteger("1"));
            f.set(null, new BigInteger("1"));
            modifersField.setAccessible(false);
        } catch (Exception e1) {
            e1.printStackTrace();
        }
    }

6.16版本:

    static {
        try {
            Field e = ay.class.getDeclaredField("e");
            e.setAccessible(true);
            Field f = ay.class.getDeclaredField("f");
            f.setAccessible(true);
            Field modifersField = Field.class.getDeclaredField("modifiers");
            modifersField.setAccessible(true);
            modifersField.setInt(e, e.getModifiers() & ~Modifier.FINAL);
            modifersField.setInt(f, f.getModifiers() & ~Modifier.FINAL);
            e.set(null, new BigInteger("1"));
            f.set(null, new BigInteger("1"));
            modifersField.setAccessible(false);
        } catch (Exception e1) {
            e1.printStackTrace();
        }
    }

就可以成功破解

使用教程:
JxBrowser Swing开发者快速入门指南
JxBrowser JavaFX开发者快速入门指南

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页