convert spoiler language and towards deobfuscation language
This commit is contained in:
1 parent
50a2a6293c
commit
4d6009b58f
98 files changed
+195
-358
No files matched your search
@@ -106,7 +106,7 @@ and to satisfy IOCCC's size rule.
|
||||
|
||||
These led to the good obfuscation.
|
||||
|
||||
See [Spoiler section](#spoiler) in detail, if you need.
|
||||
See the [deobfuscation section](#Deobfuscation) in detail, if you need.
|
||||
|
||||
|
||||
### Limitation
|
||||
@@ -119,8 +119,8 @@ Also, it requires a space between identifiers. In short, use `(S K)` instead of
|
||||
|
||||
Huge memory may be required to compile the program (about 300 MB on my machine).
|
||||
|
||||
In addition, there are some limitations (and workarounds) mentioned in [Spoiler
|
||||
section](#spoiler).
|
||||
In addition, there are some limitations (and workarounds) mentioned in
|
||||
the [deobfuscation section](#Deobfuscation).
|
||||
|
||||
But I think it would only matter when you run the attached programs.
|
||||
|
||||
@@ -156,7 +156,7 @@ run it as a standalone program, at least. In fact, tcc does not support the
|
||||
macro, but does work.
|
||||
|
||||
|
||||
### Spoiler
|
||||
### Deobfuscation
|
||||
|
||||
The whole program is interpreted by macro expansion.
|
||||
For example, `S (K I)` is translated to a normal C code, `(s)((k)(i))`, or
|
||||
|
||||
@@ -450,15 +450,15 @@ and to satisfy IOCCC’s size rule.</p>
|
||||
<li>Short coding.</li>
|
||||
</ul>
|
||||
<p>These led to the good obfuscation.</p>
|
||||
<p>See <a href="#spoiler">Spoiler section</a> in detail, if you need.</p>
|
||||
<p>See the <a href="#Deobfuscation">deobfuscation section</a> in detail, if you need.</p>
|
||||
<h3 id="limitation">Limitation</h3>
|
||||
<p>This program supports only “Combinator-calculus style notation” of Lazy K.
|
||||
“Unlambda style” and “Iota and Jot” style are not supported.</p>
|
||||
<p>Also, it requires a space between identifiers. In short, use <code>(S K)</code> instead of
|
||||
<code>(SK)</code>, “`sk”, <code>**i*i*i*ii*i*i*ii</code>, or <code>11111100011100</code>.</p>
|
||||
<p>Huge memory may be required to compile the program (about 300 MB on my machine).</p>
|
||||
<p>In addition, there are some limitations (and workarounds) mentioned in <a href="#spoiler">Spoiler
|
||||
section</a>.</p>
|
||||
<p>In addition, there are some limitations (and workarounds) mentioned in
|
||||
the <a href="#Deobfuscation">deobfuscation section</a>.</p>
|
||||
<p>But I think it would only matter when you run the attached programs.</p>
|
||||
<h3 id="portability">Portability</h3>
|
||||
<p>I confirmed that the program successfully worked with the following compilers:</p>
|
||||
@@ -486,7 +486,7 @@ It is a gcc extension, and also supported by clang. If your compiler does not
|
||||
support it, you cannot use the program as a library. But you can compile and
|
||||
run it as a standalone program, at least. In fact, tcc does not support the
|
||||
macro, but does work.</p>
|
||||
<h3 id="spoiler">Spoiler</h3>
|
||||
<h3 id="deobfuscation">Deobfuscation</h3>
|
||||
<p>The whole program is interpreted by macro expansion.
|
||||
For example, <code>S (K I)</code> is translated to a normal C code, <code>(s)((k)(i))</code>, or
|
||||
simply <code>s(k(i))</code>.</p>
|
||||
|
||||
@@ -181,7 +181,7 @@ For the same reason, do not post a score that contains only `z1092`.
|
||||
You know, it is ["the famous song"](http://en.wikipedia.org/wiki/4%E2%80%B233%E2%80%B3).
|
||||
|
||||
|
||||
### Spoiler
|
||||
### Deobfuscation
|
||||
|
||||
Here is a magical expression which I found by brute-force:
|
||||
|
||||
|
||||
@@ -516,7 +516,7 @@ such as <code>C2E2</code>.</p>
|
||||
But I do not attach it to protect you from W****r.</p>
|
||||
<p>For the same reason, do not post a score that contains only <code>z1092</code>.
|
||||
You know, it is <a href="http://en.wikipedia.org/wiki/4%E2%80%B233%E2%80%B3">“the famous song”</a>.</p>
|
||||
<h3 id="spoiler">Spoiler</h3>
|
||||
<h3 id="deobfuscation">Deobfuscation</h3>
|
||||
<p>Here is a magical expression which I found by brute-force:</p>
|
||||
<pre><code> (c % 32 + 5) * 9 / 5 % 13 + n / 32 * 12 - 22</code></pre>
|
||||
<p>Interestingly, it converts an ASCII number of ABC notes
|
||||
|
||||
+1
-1
@@ -192,7 +192,7 @@ quite memory consuming, requires IEEE754-compliant `double`, and assumes `int` t
|
||||
doesn't copy saved sessions across different endianness.
|
||||
|
||||
|
||||
### Spoiler
|
||||
### Deobfuscation
|
||||
|
||||
```
|
||||
3225 3225 3225 9 9 3225 3225
|
||||
|
||||
+1
-1
@@ -538,7 +538,7 @@ quite memory consuming, requires IEEE754-compliant <code>double</code>, and assu
|
||||
<li>Though technically endian-dependent, <code>a.c</code> remains portable providing that one
|
||||
doesn’t copy saved sessions across different endianness.</li>
|
||||
</ul>
|
||||
<h3 id="spoiler">Spoiler</h3>
|
||||
<h3 id="deobfuscation">Deobfuscation</h3>
|
||||
<pre><code> 3225 3225 3225 9 9 3225 3225
|
||||
1 1 1 1 1 1 1 1 1 1
|
||||
4225 1226 1 1 1 1 1222 1226
|
||||
|
||||
Reference in new issue
Block a user