From f6b935781bcb43faea7aa894ce3a55873769efb3 Mon Sep 17 00:00:00 2001 From: whycxzp <perryhsu@163.com> Date: 星期三, 22 十二月 2021 15:20:47 +0800 Subject: [PATCH] 1.内置密码解码,多重密码混淆 2.外部运行虚假密码(未生效密码混淆) --- beale-core/src/main/java/com/whyc/JarDecryptor.java | 40 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 40 insertions(+), 0 deletions(-) diff --git a/beale-core/src/main/java/com/whyc/JarDecryptor.java b/beale-core/src/main/java/com/whyc/JarDecryptor.java index 10d7276..caee272 100644 --- a/beale-core/src/main/java/com/whyc/JarDecryptor.java +++ b/beale-core/src/main/java/com/whyc/JarDecryptor.java @@ -21,6 +21,9 @@ //鍔犲瘑鍚庢枃浠跺瓨鏀句綅缃� private static final String ENCRYPT_PATH = "META-INF/" + Const.FILE_NAME + "/"; + //鍔犲瘑鍚庢枃浠跺瓨鏀句綅缃� + private static final String DESCRIPTION_PATH = "META-INF/"; + /** * 鍗曚緥 * @@ -106,6 +109,28 @@ } /** + * 鍦╦ar鏂囦欢鎴栫洰褰曚腑璇诲彇瀵嗙爜瀛楄妭 + * + * @param workDir jar鏂囦欢鎴栫洰褰� + * @param name 鏂囦欢鍚� + * @return 鏂囦欢瀛楄妭鏁扮粍 + */ + public static byte[] readEncryptedFile2(File workDir, String name) { + byte[] bytes = null; + String fileName = DESCRIPTION_PATH + name; + //jar鏂囦欢 + if (workDir.isFile()) { + bytes = JarUtils.getFileFromJar(workDir, fileName); + } else {//war瑙e帇鐨勭洰褰� + File file = new File(workDir, fileName); + if (file.exists()) { + bytes = IoUtils.readFileToByte(file); + } + } + return bytes; + } + + /** * 璇诲彇闅愯棌鍦╦ar鐨勫瘑鐮� * * @param workDir jar璺緞 @@ -121,6 +146,21 @@ } /** + * 璇诲彇闅愯棌鍦╦ar鐨勫瘑鐮� + * + * @param workDir jar璺緞 + * @return 瀵嗙爜char + */ + public static char[] readPassFromJar2(File workDir) { + byte[] passbyte = readEncryptedFile2(workDir, Const.FILE_NAME2); + if (passbyte != null) { + char[] pass = StrUtils.toChars(passbyte); + return EncryptUtils.md5(pass); + } + return null; + } + + /** * 瑙e瘑閰嶇疆鏂囦欢锛宻pring璇诲彇鏂囦欢鏃惰皟鐢� * * @param path 閰嶇疆鏂囦欢璺緞 -- Gitblit v1.9.1