需要帮助混淆Java SWT应用程序

时间:2017-10-11 14:59:37

标签: java swt proguard obfuscation

我正在尝试使用ProGuard混淆我的Java SWT程序。 它工作正常,当使用jd-gui反编译时,代码似乎全部到位(Obfuscated)。

但是,当我尝试启动该程序时,它会崩溃。 控制台输出:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006324b7c0, pid=6944, tid=0x00000000000009e4
#
# JRE version: Java(TM) SE Runtime Environment (8.0_144-b01) (build 1.8.0_144-b01)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.144-b01 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# V  [jvm.dll+0x15b7c0]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# Z:\Wouter\Code66\hs_err_pid6944.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
#

hs_err.log文件:https://pastebin.com/gHm5rFgP

我的ProGuard配置:

-injars 'Z:\Wouter\Code66\Program 64bit.jar'
-outjars 'Z:\Wouter\Code66\Program 64bit obfuscated2.jar'

-libraryjars 'C:\Program Files\Java\jre1.8.0_144\lib\rt.jar'
-libraryjars 'Z:\Wouter\Code66\SWT libraries'
-libraryjars 'Z:\Wouter\Code66\javax stuff'

-dontshrink
-dontoptimize

-dontwarn org.**
-dontnote org.**

#-dontobfuscate

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose

-keep class !my.package.**
-keep public class my.package.Main
-keep public class my.package.Main { 
      public static void main(java.lang.String[]); 
}

如果我不使用--dontobfuscate

对代码进行模糊处理,程序就可以正常工作

我该怎么做才能解决这个问题?

0 个答案:

没有答案