JarEncryp 2暗号化ツール

3949 ワード

JarEncrypt2はJarパッケージ暗号化ツールであり、jvmtiに基づいてクラス加載器が実現し、Javaコードが逆コンパイルされることを防止し、CentOS、UbuntuなどLinux環境、およびMacOSX環境をサポートします。
JarEncryt 2
  • ダウンロード
  • 環境変数を検出する
  • 暗号化範囲を変更する
  • パスワードを変更する
  • コンパイル
  • 暗号化
  • 復号
  • ダウンロード
    JarEncryp 2.zip
    環境変数を検出
    印刷環境変数JAVA_HOME
    echo ${JAVA_HOME}
    
    OSX:
    //Library/Java/Java Virtual Machines/jdk 1.8.0_231.jdk/Contents/Home
    Linux:
    /usr/local/jdk
    Java環境を設定する際にこの変数が定義されていない場合、出力は空です。decrypt/Makefileencrypt/Makefileを編集し、$(shell echo ${JAVA_HOME})を置換するか、またはゼロ時変数を定義する必要があります。
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home
    
    変数値はJavaインストール経路に基づいて変更されます。
    暗号化範囲を変更
    編集Encrypt.java
    vim Encrypt.java
    
    80行コード:
    if (name.endsWith(".class") && name.startsWith("com/***/foo/abr")) {
    
    代替com/***/foo/abrは、暗号化が必要なパケット名である。
    編集decrypt/decrypt.cpp
    vim decrypt/decrypt.cpp
    
    26行コード:
    if (name && strncmp(name, "com/***/foo/adr", 12) == 0)
    
    代替com/***/foo/abrは、暗号化が必要なパケット名である。
    パスワードを変更
    編集decrypt/decrypt.cpp
    vim decrypt/decrypt.cpp
    
    30行コード:
    my_data[i] = class_data[i] ^ 0x01e02c562;
    
    代替0x01e02c562
    編集encrypt/encrypt.cpp
    vim encrypt/encrypt.cpp
    
    16行コード:
    dst[i] = dst[i] ^ 0x01e02c562;
    
    0x01e02c562を置換すると、2つの数値が一致する必要があります。
    コンパイル
    javac Encrypt.java
    
    cd encrypt && make && cd -
    
    cd decrypt && make && cd -
    
    暗号化
    java -Djava.library.path=./encrypt/ Encrypt -src demo.jar -dst demo_encrypt.jar
    
  • java.library.path
  • libencrypt.soまたはlibencrypt.dylibの経路を指定します。
  • src
  • 暗号化が必要なjarファイルのパス
  • dst
  • 暗号化されたjarファイルパスを指定し、デフォルトでは_encrypt.jarで元jarファイルパスに保存します。
    復号
    現在の環境にLD_LIBRARY_PATH変数があるかどうかを検出します。
    echo ${LD_LIBRARY_PATH}
    
    追加JarEncrypt2/decrypt
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/data/JarEncrypt2/decrypt
    
    または置換
    export LD_LIBRARY_PATH=/data/JarEncrypt2/decrypt
    
  • Linux
  • java -agentlib:linux -jar demo_encrypt.jar
    
  • OSX
  • java -agentlib:darwin -jar demo_encrypt.jar