Replies: 6 comments 23 replies
-
Yes it does especially if it's something that looks like something else. That's just one example. Also it makes the program more compact even if it's not more obscure. That has some nice benefits too. Plus the size increase is not at this point final as they have said. Besides, even if it doesn't help obscure the code it doesn't mean it's bad to have it. I think it does, though, because it's a lot harder to keep track of single letter identifiers than names. Also, as they say, they like well rounded obfuscation. If it was just single letter identifiers that would not win anyway. |
Beta Was this translation helpful? Give feedback.
-
Another example would be an entry where the identifiers are UTF-8 multibyte characters, consider how obfuscated an entry would look written in mix of Japanese, German, and Sanskrit. It certainly would be obfuscated to most readers. |
Beta Was this translation helpful? Give feedback.
-
Compact code is not necessarily interesting any more, consider the Rule 2b changes to move away from "blob" code. |
Beta Was this translation helpful? Give feedback.
-
I'm not saying to disallow single letters, just allow moving away from it. Note:
I said |
Beta Was this translation helpful? Give feedback.
-
@lcn2 Any thoughts on #903 (reply in thread) ? |
Beta Was this translation helpful? Give feedback.
-
That would be an interesting discussion to hear. Though I see no conflict or issue between the size changes and UTF8 support. One concerns size, the other embraces multibyte characters like the C standard. The more I think about the idea to move from octets to characters, the more I believe its time to make an effort to move from 1980's thinking in terms of ASCII only. UTF8 multibyte support has been around a long time now. But that is just me. |
Beta Was this translation helpful? Give feedback.
-
I've been thinking about this the past couple of years and how the judges feel about the following question:
Does compacting a program to use single letters for identifiers really help with obfuscation any more or is it a tired "trope"?
Back in the day compacting functions and variables to single letters helped get the program within the size limits of Rule 2. There was a time too that this would aid in obfuscation (I remember one winner using combinations of
o
for all the identifiers). But has its time as an obfuscation technique become tired?Do the judges still find this interesting or are they now more interested in interesting concepts, data structures, and techniques and less so in the visual appearance (excluding the best layout winners). Would the use of proper meaningful (for some definition thereof) identifiers be just as good?
Imagine for example someone using all the words from "Jabberwocky" as identifiers in some order. You'd blow Rule 2 limit easy, but it should prove different. Is it worth considering for some future contest (not necessarily the next, maybe the next next one?) adding a new clause to Rule 2b such that:
All identifiers count at most two (2) octets towards Rule 2b.?
Not sure if C library et al. should be count as-is or subject to the rule, just the developer's identifiers?
This would mean programs would start to appear more de-obfuscated for reading, while still bound in size. With a refocus on teaching and learning is this something to consider? (Maybe a new side contest? The IDCCC = Intl. Deobfuscated C Code Contest 😁).
Beta Was this translation helpful? Give feedback.
All reactions