skylot / jadx

Dex to Java decompiler
Apache License 2.0
40.98k stars 4.81k forks source link

Font Overlapping on Obfuscated Java Code (long strings) #654

Open enovella opened 5 years ago

enovella commented 5 years ago

Error

jadx-gui

JEB3 output

jeb3-jadx-issue

Sample

sample.apk.zip

enovella commented 5 years ago

JEB adds the following to avoid font overlapping: [...] public final class bf { public static String a = "e6a291c4b3f780d56c4d5e6f708192a3b4c5d6e7fb3d5e680f791a2c43b5d6e087f192a4c9180c4d5a2b3f7e619084c5d2a3b7f6e9485e7f6d0c1a3b21c0d6f7e58492b3a1c0d6f7e58492b3a9485e7f6d0c1a3b2b2f6d085e7a3c1943a7e580d6 [...] ed3021120374655647b8a99a8bfceddecf74deed47309aa903fc5665cfb812218b8b9aa9b8cfdeedfc0312213047566574"; static { } }

jpstotz commented 5 years ago

I don't have problems displaying this line in class com.vasco.digipass.sdk.obfuscated.aj using the latest Jadx version and the following Java versions on Windows: OpenJDK 11.0.3, OpenJDK 12.0.1, Oracle Java 1.8.0_191. I assume the problem is the line length - the hex string is more than 40k characters long.

enovella commented 5 years ago

fyi -- my box is Linux Ubuntu 18.04.2

jpstotz commented 5 years ago

@enovella just tried it on Ubuntu 18.04.2 using java from the package openjdk-11-jre (11.0.2) and latest jadx unstable build. Everything was displayed without problems.

enovella commented 5 years ago

Can you check the class xxxxxx.obfuscated.bp? bi? bj? It doesnt work for me. However, some are displayed okay.