CFR and Procyon displayed Cyrillic#1023
CFR and Procyon displayed Cyrillic#1023b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0 wants to merge 4 commits into
Conversation
|
This was definitely missing |
|
I'd have to dig through my samples folder but I'd like to make sure there aren't any negative effects with certain naming schemes (like whitespace-only bs, right-to-left spam, etc) - Any idea if these changes would affect those? IIRC it was stuff like that which led me to make the defaults |
- Decode display-safe \\uXXXX only; keep obfuscation escapes - Respect CFR hideutf and Procyon unicode settings - Revert decompiler default changes
- Use getServiceConfig() instead of ReflectUtil - Stronger asserts for ZWSP, bidi, and readable Cyrillic - CFR/Procyon integration via DecompilerManager
Yes, you're right to be concerned. I tested exactly those cases (whitespace-only names, ZWSP, RTL/bidi overrides, exotic whitespace etc.). With the selective filter:
I also made sure the filter is completely skipped when No negative effects on obfuscation samples. |
|
That really was a problem; it's not convenient to use the search function with such an output, without the Cyrillic characters being displayed naturally |
Problem: In Recaf 4, CFR and Procyon displayed Cyrillic in decompiled output as
\u0414..., while the class file and search still showed the correct text.Solution: Post-process decompiler output via
UnicodeUnescapeOutputTextFilterin theDecompilerManagerpipeline; defaulthideutf=false(CFR) andisUnicodeOutputEnabled=true(Procyon).Tests:
EscapeUtilTest.unescapeCyrillicUnicodeEscapes, updatedFoldingDeobfuscationTest.