core-lib / xjar

Spring Boot JAR 安全加密运行工具,支持的原生JAR。
Apache License 2.0
1.66k stars 477 forks source link

> > 修改XLauncher(最直接、最笨的办法) #27

Open core-lib opened 5 years ago

core-lib commented 5 years ago

修改XLauncher(最直接、最笨的办法)

public class XLauncher implements XConstants {
    public final String[] args;
    public final XDecryptor xDecryptor;
    public final XEncryptor xEncryptor;
    public final XKey xKey;

    public XLauncher(String... args) throws Exception {
        this.args = args;
        String algorithm = DEFAULT_ALGORITHM;
        int keysize = DEFAULT_KEYSIZE;
        int ivsize = DEFAULT_IVSIZE;
        **String password = "xxxxxxxxxxxxxxxx";**
        String keypath = null;
 ... ...

使用命令运行jar的时候,不报错,但不会加载jar包,直接结束了。 `D:\workspace>java -agentlib:xjar -jar xxx-encrypted.jar (命令行下无任何信息) D:\workspace>

OK. C++ 解密部分代码 //解密 mbedtls_aes_crypt_ecb( &aes_ctx, MBEDTLS_AES_DECRYPT, input, outout ); if (b == 381) { // 分块后剩余字节数 memcpy(&dest[6096], outout, **9**); } else { memcpy(&dest[b * 16], outout, 16); } b++; 分块数目和输出字节需要根据生成的数据大小重新计算。本人获取得大小为6672 .b=417 if (b == 417) { // 分块后剩余字节数 memcpy(&dest[6672], outout, 0); } 成功运行

Originally posted by @Ftrybe in https://github.com/core-lib/xjar/issues/1#issuecomment-515316314

core-lib commented 5 years ago

能否让c++ 编译出一个跨平台通用的库

Ftrybe commented 5 years ago

抱歉,我对C++并不了解。

Ftrybe commented 5 years ago

请问你是否在liunx下成功的编译出一个可运行的动态链接库。

core-lib commented 5 years ago

g++ 可以

core-lib commented 5 years ago

和windows差不多 调用命令行来编译