Post 297748 by hellpie@weeaboo.space
(DIR) More posts by hellpie@weeaboo.space
(DIR) Post #297532 by marmite@gaybaby.club
2018-09-30T11:47:38.394085Z
0 likes, 0 repeats
Discussing with my friend about using non-printable characters in code and he searches this. Thanks Googleimage.png
(DIR) Post #297556 by hellpie@weeaboo.space
2018-09-30T11:52:07.892336Z
1 likes, 0 repeats
@marmite there is a Java obfuscator that uses only Unicode zero width characters to obfuscate the code, every function becomes a 64 characters long zero width name, which can contain non printable characters because in bytecode Java doesn't care, the JVM doesn't care and Dalvik doesn't care either. It had other stuff like same-name methods and constants but that was more classic in obfuscation. I will never forget reverse engineering that.
(DIR) Post #297561 by marmite@gaybaby.club
2018-09-30T11:53:19.083678Z
0 likes, 0 repeats
@hellpie surely that's really easy to just swap them out with alphabetical characters and then it's not even that different to normal obfuscated variable names
(DIR) Post #297590 by marmite@gaybaby.club
2018-09-30T11:56:46.544510Z
0 likes, 0 repeats
@hellpie but yeah we were talking about making code appear to function one way with the non-printable characters changing text direction but then actually doing something else when compiled/interpreted
(DIR) Post #297665 by hellpie@weeaboo.space
2018-09-30T12:03:54.238594Z
1 likes, 0 repeats
@marmite I've also seen something like that. I have seen, once, a class that showcased some dark magic with unicode characters. It was basically a page of random characters in some places, it looked kinda like an 80x80 failed attempt at ascii art, the only meaningful thing was a "Hello, World" string, over two lines. It was totally unreadable. Compiling it worked just fine and what it did was basically kinda like a forced embedding of license/credits in a library, changing the string broke it, replacing characters broke it, deobfuscating it was impossible with over 20 tools we tried, the bytecode was perfectly fine, just a StringBuilder for Java string concatenation and an invisible method name that is valid in bytecode byt shouldn't be in code itself. The file was indeed a class because it started with package declaration, class and after that all was garbled.
(DIR) Post #297701 by marmite@gaybaby.club
2018-09-30T12:06:37.548391Z
0 likes, 0 repeats
@hellpie well we were wondering if it was possible to make it look like normal code, most likely in a language like lisp
(DIR) Post #297748 by hellpie@weeaboo.space
2018-09-30T12:09:34.908143Z
1 likes, 0 repeats
@marmite it probably is, I think it will still look a bit weird, there will be some issue with it but it probably is, that code was not meant for production or distribution, it was a showcase and nothing more so I believe if someone were to take the code and work on it the chance of it looking normal wouldn't be too high, but I don't remember where that code came from, I just know it was Java, idk about Lisp or other languages, never seen stuff like that before and also never reverse engineered other languages before.
(DIR) Post #298056 by dogjaw@freezepeach.xyz
2018-09-30T12:10:17+00:00
1 likes, 0 repeats
@marmite @hellpie During the USSR days there were cryllic programming languages. Don't know much about them though