JarEncryp 2暗号化ツール
3949 ワード
JarEncrypt2はJarパッケージ暗号化ツールであり、jvmtiに基づいてクラス加載器が実現し、Javaコードが逆コンパイルされることを防止し、CentOS、UbuntuなどLinux環境、およびMacOSX環境をサポートします。
JarEncryt 2ダウンロード 環境変数を検出する 暗号化範囲を変更する パスワードを変更する コンパイル 暗号化 復号 ダウンロード
JarEncryp 2.zip
環境変数を検出
印刷環境変数
//Library/Java/Java Virtual Machines/jdk 1.8.0_231.jdk/Contents/Home
Linux:
/usr/local/jdk
Java環境を設定する際にこの変数が定義されていない場合、出力は空です。
暗号化範囲を変更
編集
編集
パスワードを変更
編集
編集
コンパイル java.library.path src 暗号化が必要な dst 暗号化された
復号
現在の環境に Linux OSX
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/Makefile
とencrypt/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
libencrypt.so
またはlibencrypt.dylib
の経路を指定します。jar
ファイルのパス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
java -agentlib:linux -jar demo_encrypt.jar
java -agentlib:darwin -jar demo_encrypt.jar