Reword the recent deobfuscation changes
In most cases the word was changed to 'obfuscation' as it was about
obfuscation, not deobfuscation. In some cases like 1995/leo since the
file was (in 1995/leo) about a secret switch it was changed to
'secret.md' (and 'secret.html') but there were others like that as well.
One entry had the words 'spoiling the size rule' but this had been
changed to 'deobfuscating the size rule' which was obviously wrong.
In the latter YYYY/README.md files the judges had written after some
entries (brief summaries) '...
...We'll stop spouting spoilers now. Have fun exploring all the
entries!
but that was changed to:
...We'll stop spouting deobfuscation information now. Have fun
exploring all the entries!
which wasn't really about deobfuscation but just a brief summary of what
the entries did.
And in the most problematic case (at least for me :-), 2018/ferguson) I
had put a joke in:
... but it's the only Easter egg I won't spoil
but it was changed to 'won't deobfuscate' which not only is not what it
is but it spoilt the joke.
In some cases the word was changed back to 'SPOILER' (or similar) but in
most cases not. I believe it should be better now. There are some
caveats, however, as below.
Although make find_missing_links is okay I do not remember if this will
catch links that refer to '%%REPO_URL%%' or other pandoc tokens. This
means I might have to go back to some earlier years to verify links are
okay. That should not take that much time I hope.
It might also be that some wording can still be improved some but it is
hoped this will be discovered when checking links and looking over the
manifest (which obviously changed).
This commit is contained in:
1 parent
a379c6296a
commit
1ac055fa85
193 files changed
+531
-524
No files matched your search
+1
-1
@@ -41,7 +41,7 @@ better debugger or trace could easily be added.
|
||||
|
||||
## Judges' remarks:
|
||||
|
||||
The author's comments contains detailed deobfuscation information. If you
|
||||
The author's comments is a detailed program explanation and spoiler. If you
|
||||
want a real challenge, don't read any further and try to understand the program
|
||||
via the source.
|
||||
|
||||
|
||||
@@ -420,7 +420,7 @@ better debugger or trace could easily be added.</p>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
<pre><code> ./paul.alt</code></pre>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>The author’s comments contains detailed deobfuscation information. If you
|
||||
<p>The author’s comments is a detailed program explanation and spoiler. If you
|
||||
want a real challenge, don’t read any further and try to understand the program
|
||||
via the source.</p>
|
||||
<h3 id="historical-note">Historical note:</h3>
|
||||
|
||||
+1
-1
@@ -43,7 +43,7 @@ which we have done for the wider audience.
|
||||
If my preprocessor could hack it, I could write this as one single line rather
|
||||
than 4, but when I do that I get a complaint "defines nested too deeply".
|
||||
|
||||
### Debfuscation:
|
||||
### Obfuscation spoiler:
|
||||
|
||||
This is another rot13 job (believe it or not) - the `#define`s are a
|
||||
novel way of adding tokens: `#define b12(x) 12 x` means that at
|
||||
|
||||
+1
-1
@@ -418,7 +418,7 @@ which we have done for the wider audience.</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<p>If my preprocessor could hack it, I could write this as one single line rather
|
||||
than 4, but when I do that I get a complaint “defines nested too deeply”.</p>
|
||||
<h3 id="debfuscation">Debfuscation:</h3>
|
||||
<h3 id="obfuscation-spoiler">Obfuscation spoiler:</h3>
|
||||
<p>This is another rot13 job (believe it or not) - the <code>#define</code>s are a
|
||||
novel way of adding tokens: <code>#define b12(x) 12 x</code> means that at
|
||||
some point in the source a <code>12</code> is followed by the compressed nested
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ By use of pointers to functions returning a struct of pointers
|
||||
to functions!
|
||||
|
||||
|
||||
### Deobfuscation:
|
||||
### Spoiler:
|
||||
|
||||
This program prints out the string:
|
||||
|
||||
|
||||
+1
-1
@@ -425,7 +425,7 @@ well.</p>
|
||||
it is done?</p>
|
||||
<p>By use of pointers to functions returning a struct of pointers
|
||||
to functions!</p>
|
||||
<h3 id="deobfuscation">Deobfuscation:</h3>
|
||||
<h3 id="spoiler">Spoiler:</h3>
|
||||
<p>This program prints out the string:</p>
|
||||
<blockquote>
|
||||
<p>the quick brown fox jumped over the lazy dog</p>
|
||||
|
||||
@@ -86,7 +86,7 @@ In other words, even if we took steps to present the algorithm clearly, (we
|
||||
haven't) the relation of the computation performed to the specification of what
|
||||
the program was supposed to do would still be hard to understand.
|
||||
|
||||
### Quasi-deobfuscation on internals:
|
||||
### Quasi-spoiler on internals:
|
||||
|
||||
The program plays [Conway's Game of
|
||||
Life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) in the root window's
|
||||
|
||||
@@ -458,7 +458,7 @@ In other words, even if we took steps to present the algorithm clearly, (we
|
||||
haven’t) the relation of the computation performed to the specification of what
|
||||
the program was supposed to do would still be hard to understand.</p></li>
|
||||
</ol>
|
||||
<h3 id="quasi-deobfuscation-on-internals">Quasi-deobfuscation on internals:</h3>
|
||||
<h3 id="quasi-spoiler-on-internals">Quasi-spoiler on internals:</h3>
|
||||
<p>The program plays <a href="https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life">Conway’s Game of
|
||||
Life</a> in the root window’s
|
||||
background pixmap. It starts by setting the background to random
|
||||
|
||||
+1
-1
@@ -142,7 +142,7 @@ eliminated. As AG also refrains from abusing the preprocessor, it
|
||||
doesn't really have much to offer in terms of "surface obfuscation".
|
||||
Instead, it tries to achieve both its speed and its obscurity through a
|
||||
careful choice of algorithms. Some of the finer points of those
|
||||
algorithms are outlined in the deobfuscation information below.
|
||||
algorithms are outlined in the spoiler below.
|
||||
|
||||
|
||||
### How it works:
|
||||
|
||||
@@ -487,7 +487,7 @@ eliminated. As AG also refrains from abusing the preprocessor, it
|
||||
doesn’t really have much to offer in terms of “surface obfuscation”.
|
||||
Instead, it tries to achieve both its speed and its obscurity through a
|
||||
careful choice of algorithms. Some of the finer points of those
|
||||
algorithms are outlined in the deobfuscation information below.</p>
|
||||
algorithms are outlined in the spoiler below.</p>
|
||||
<h3 id="how-it-works">How it works:</h3>
|
||||
<p>Here follows a description of some of the data structures and
|
||||
algorithms used by AG. It is by no means complete, but it may help
|
||||
|
||||
@@ -125,7 +125,7 @@ compilers) complain that there is no control path leading to a return from
|
||||
`main()`. At 125 characters, it still fits on a single line (for those of us
|
||||
who don't mind ruining our eyes with 132 column screens).
|
||||
|
||||
### Deobfuscation:
|
||||
### Obfuscation:
|
||||
|
||||
The first statement points the base of `l` (the argument vector) to
|
||||
be the first argument by incrementing it. It then assigns `O` to
|
||||
|
||||
@@ -481,7 +481,7 @@ return causes the line just written to be overwritten. <code>lint</code> (and mo
|
||||
compilers) complain that there is no control path leading to a return from
|
||||
<code>main()</code>. At 125 characters, it still fits on a single line (for those of us
|
||||
who don’t mind ruining our eyes with 132 column screens).</p>
|
||||
<h3 id="deobfuscation">Deobfuscation:</h3>
|
||||
<h3 id="obfuscation">Obfuscation:</h3>
|
||||
<p>The first statement points the base of <code>l</code> (the argument vector) to
|
||||
be the first argument by incrementing it. It then assigns <code>O</code> to
|
||||
point to the character before the first character of the second
|
||||
|
||||
@@ -68,7 +68,7 @@ numbers to get a pleasing result, or use it for your high school algebra
|
||||
class.
|
||||
|
||||
|
||||
### DEOBFUSCATION:
|
||||
### SPOILER:
|
||||
|
||||
As should be obvious from 20 feet away, the program is a cubic plotter.
|
||||
It plots against certain artists, splattering their cubes with graphs
|
||||
|
||||
@@ -429,7 +429,7 @@ newsletter and a PDF file of just the pages cited.</p>
|
||||
<p>Run it with any 4 numeric arguments, e.g. <code>./horton 3 2 1 0</code>. Play with the
|
||||
numbers to get a pleasing result, or use it for your high school algebra
|
||||
class.</p>
|
||||
<h3 id="deobfuscation">DEOBFUSCATION:</h3>
|
||||
<h3 id="spoiler">SPOILER:</h3>
|
||||
<p>As should be obvious from 20 feet away, the program is a cubic plotter.
|
||||
It plots against certain artists, splattering their cubes with graphs
|
||||
of their cubic equations. Those dastardly arguments are mere coefficients,
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ parameter or an invalid parameter is given, then 5 is assumed. The
|
||||
maximum parameter is determined only by the amount of CPU time, virtual
|
||||
memory and display (or file) space available.
|
||||
|
||||
### DEOBFUSCATION:
|
||||
### OBFUSCATION:
|
||||
|
||||
OK, so you have probably seen magic square printers before. But what
|
||||
about one that deals with even sizes as well as odd ones, or one that
|
||||
|
||||
+1
-1
@@ -424,7 +424,7 @@ other functions (apart from <code>main()</code>).</p>
|
||||
parameter or an invalid parameter is given, then 5 is assumed. The
|
||||
maximum parameter is determined only by the amount of CPU time, virtual
|
||||
memory and display (or file) space available.</p>
|
||||
<h3 id="deobfuscation">DEOBFUSCATION:</h3>
|
||||
<h3 id="obfuscation">OBFUSCATION:</h3>
|
||||
<p>OK, so you have probably seen magic square printers before. But what
|
||||
about one that deals with even sizes as well as odd ones, or one that
|
||||
prints out a different one each time (or attempts to, at any rate)?</p>
|
||||
|
||||
@@ -85,8 +85,6 @@ compile it and compare how it works to the original code.
|
||||
|
||||
## Author's remarks:
|
||||
|
||||
### DEOBFUSCATION:
|
||||
|
||||
This is a program which takes any text file as input and 'flips'
|
||||
the input file along a diagonal running from the top left corner
|
||||
down to the bottom right. In other words, the first row in the
|
||||
|
||||
@@ -439,7 +439,6 @@ find out why?</p>
|
||||
<p>You might also wish to redirect the output to another file,
|
||||
compile it and compare how it works to the original code.</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<h3 id="deobfuscation">DEOBFUSCATION:</h3>
|
||||
<p>This is a program which takes any text file as input and ‘flips’
|
||||
the input file along a diagonal running from the top left corner
|
||||
down to the bottom right. In other words, the first row in the
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
```
|
||||
|
||||
|
||||
The author provided a deobfuscated version as alternate code. See [Alternate
|
||||
The author provided a spoiler version as alternate code. See [Alternate
|
||||
code](#alternate-code) below.
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ Mode may be a value from 0 to 12.
|
||||
|
||||
## Alternate code:
|
||||
|
||||
The author provided us a deobfuscated version that might be of interest to some.
|
||||
The author provided us a spoiler version that might be of interest to some.
|
||||
|
||||
|
||||
### Alternate build:
|
||||
|
||||
+2
-2
@@ -403,7 +403,7 @@ Location: <a href="../../location.html#FI">FI</a> - <em>Republic of Finland </em
|
||||
<!-- BEFORE: 1st line of markdown file: 1994/tvr/README.md -->
|
||||
<h2 id="to-build">To build:</h2>
|
||||
<pre><code> make all</code></pre>
|
||||
<p>The author provided a deobfuscated version as alternate code. See <a href="#alternate-code">Alternate
|
||||
<p>The author provided a spoiler version as alternate code. See <a href="#alternate-code">Alternate
|
||||
code</a> below.</p>
|
||||
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
|
||||
<p>The current status of this entry is:</p>
|
||||
@@ -416,7 +416,7 @@ code</a> below.</p>
|
||||
<pre><code> ./try.color.sh # for colour displays
|
||||
./try.bw.sh # for Black & White displays</code></pre>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
<p>The author provided us a deobfuscated version that might be of interest to some.</p>
|
||||
<p>The author provided us a spoiler version that might be of interest to some.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<pre><code> make alt</code></pre>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
|
||||
@@ -111,13 +111,7 @@ To see the game from start to complete, try:
|
||||
|
||||
Not all compiler errors are bad.
|
||||
|
||||
For deobfuscation information see the end of the notes from the author below.
|
||||
|
||||
To use:
|
||||
|
||||
``` <!---sh-->
|
||||
./try.sh
|
||||
```
|
||||
For spoilers see the end of the notes from the author below.
|
||||
|
||||
|
||||
## Author's remarks:
|
||||
@@ -174,7 +168,7 @@ The goal of the game is to escape the dungeon.
|
||||
Here is a walk-through for the game, including a few dead-ends:
|
||||
|
||||
|
||||
### DEOBFUSCATION
|
||||
### SPOILER (HOW TO WIN):
|
||||
|
||||
``` <!---sh-->
|
||||
cc -Describe -Door westley.c
|
||||
|
||||
@@ -463,9 +463,7 @@ arguments:</p>
|
||||
<pre><code> ./try.sh</code></pre>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>Not all compiler errors are bad.</p>
|
||||
<p>For deobfuscation information see the end of the notes from the author below.</p>
|
||||
<p>To use:</p>
|
||||
<pre><code> ./try.sh</code></pre>
|
||||
<p>For spoilers see the end of the notes from the author below.</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<p>This program, in accordance with the rules, compiles into a legal
|
||||
C program without human intervention. However, it simply compiles
|
||||
@@ -501,7 +499,7 @@ the opening message each time, as if you are playing an adventure game
|
||||
with “verbose” turned on).</p>
|
||||
<p>The goal of the game is to escape the dungeon.</p>
|
||||
<p>Here is a walk-through for the game, including a few dead-ends:</p>
|
||||
<h3 id="deobfuscation">DEOBFUSCATION</h3>
|
||||
<h3 id="spoiler-how-to-win">SPOILER (HOW TO WIN):</h3>
|
||||
<pre><code> cc -Describe -Door westley.c
|
||||
cc -Describe -Drain westley.c
|
||||
cc -Describe -Dwarf westley.c
|
||||
|
||||
@@ -34,12 +34,12 @@
|
||||
"entry_text" : "original source code"
|
||||
},
|
||||
{
|
||||
"file_path" : "deobfuscation.html",
|
||||
"file_path" : "secret.html",
|
||||
"inventory_order" : 100,
|
||||
"OK_to_edit" : false,
|
||||
"display_as" : "html",
|
||||
"display_via_github" : false,
|
||||
"entry_text" : "deobfuscation information web page"
|
||||
"entry_text" : "web page with the secret switch"
|
||||
},
|
||||
{
|
||||
"file_path" : "try.sh",
|
||||
@@ -90,12 +90,12 @@
|
||||
"entry_text" : "markdown source for this web page"
|
||||
},
|
||||
{
|
||||
"file_path" : "deobfuscation.md",
|
||||
"file_path" : "secret.md",
|
||||
"inventory_order" : 4000000000,
|
||||
"OK_to_edit" : true,
|
||||
"display_as" : "markdown",
|
||||
"display_via_github" : true,
|
||||
"entry_text" : "markdown source for deobfuscation.html"
|
||||
"entry_text" : "markdown source for secret.html"
|
||||
},
|
||||
{
|
||||
"file_path" : "index.html",
|
||||
|
||||
@@ -214,10 +214,6 @@ enjoy randomly changing patterns (the delay is 3 seconds),
|
||||
but there is a secret switch to suppress looping: useful
|
||||
if you want to pipe the output to a printer.
|
||||
|
||||
Here is a but of deobfuscation:
|
||||
|
||||
> The colon **is** the secret switch - the space before it is not a mistake.
|
||||
|
||||
If `Variable` is used, the actual value of `cycle` doesn't matter,
|
||||
as far as it is > 1. To figure out what difference
|
||||
`cycle` makes when `Variable` is not used, try
|
||||
|
||||
+2
-6
@@ -524,10 +524,6 @@ the opening for step 1 is not a single line but a cross:</p>
|
||||
enjoy randomly changing patterns (the delay is 3 seconds),
|
||||
but there is a secret switch to suppress looping: useful
|
||||
if you want to pipe the output to a printer.</p>
|
||||
<p>Here is a but of deobfuscation:</p>
|
||||
<blockquote>
|
||||
<p>The colon <strong>is</strong> the secret switch - the space before it is not a mistake.</p>
|
||||
</blockquote>
|
||||
<p>If <code>Variable</code> is used, the actual value of <code>cycle</code> doesn’t matter,
|
||||
as far as it is > 1. To figure out what difference
|
||||
<code>cycle</code> makes when <code>Variable</code> is not used, try</p>
|
||||
@@ -582,17 +578,17 @@ even want to explain what it does. You’ve been warned!</p>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/leo/leo.c">leo.c</a> - entry source code</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/leo/Makefile">Makefile</a> - entry Makefile</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/leo/leo.orig.c">leo.orig.c</a> - original source code</li>
|
||||
<li><a href="deobfuscation.html">deobfuscation.html</a> - deobfuscation information web page</li>
|
||||
<li><a href="secret.html">secret.html</a> - web page with the secret switch</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/leo/try.sh">try.sh</a> - script to try entry</li>
|
||||
</ul>
|
||||
<h2 id="secondary-files">Secondary files</h2>
|
||||
<ul>
|
||||
<li><a href="1995_leo.tar.bz2">1995_leo.tar.bz2</a> - download entry tarball</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/leo/README.md">README.md</a> - markdown source for this web page</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/leo/deobfuscation.md">deobfuscation.md</a> - markdown source for deobfuscation.html</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/leo/.entry.json">.entry.json</a> - entry summary and manifest in JSON</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/leo/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/leo/.path">.path</a> - directory path from top level directory</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/leo/secret.md">secret.md</a> - markdown source for secret.html</li>
|
||||
<li><a href="index.html">index.html</a> - this web page</li>
|
||||
</ul>
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<title>The International Obfuscated C Code Contest</title>
|
||||
<link rel="icon" type="image/x-icon" href="../../favicon.ico">
|
||||
<meta name="description" content="deobfuscation.md for 1995/leo">
|
||||
<meta name="keywords" content="IOCCC, 1995/leo, deobfuscation.md">
|
||||
<meta name="description" content="secret.md for 1995/leo">
|
||||
<meta name="keywords" content="IOCCC, 1995/leo, secret.md">
|
||||
</head>
|
||||
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
@@ -26,13 +26,13 @@
|
||||
|
||||
<!-- -->
|
||||
<!-- This web page was formed via the tool: bin/gen-other-html.sh -->
|
||||
<!-- The content of main section of this web page came from: 1995/leo/deobfuscation.md -->
|
||||
<!-- The content of main section of this web page came from: 1995/leo/secret.md -->
|
||||
<!-- -->
|
||||
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 1995/leo/deobfuscation.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 1995/leo/deobfuscation.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 1995/leo/deobfuscation.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 1995/leo/secret.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 1995/leo/secret.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 1995/leo/secret.md !!! -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
|
||||
<!-- Markdown content was converted into HTML via the tool: bin/md2html.sh -->
|
||||
@@ -363,7 +363,7 @@
|
||||
height=110>
|
||||
</a>
|
||||
<h1>The International Obfuscated C Code Contest</h1>
|
||||
<h2>deobfuscation.html for 1995/leo</h2>
|
||||
<h2>secret.html for 1995/leo</h2>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/header.default.html -->
|
||||
@@ -371,7 +371,7 @@
|
||||
|
||||
<div class="navbar">
|
||||
<a class="Left" href="index.html">↑ jump to index.html ↑</a>
|
||||
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F1995%2Fleo%2Fdeobfuscation.html">✓</a>
|
||||
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F1995%2Fleo%2Fsecret.html">✓</a>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/navbar.up2index.html -->
|
||||
@@ -382,7 +382,7 @@
|
||||
<!-- END: this line ends content from: inc/before-content.default.html -->
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<!-- BEFORE: 1st line of markdown file: 1995/leo/deobfuscation.md -->
|
||||
<!-- BEFORE: 1st line of markdown file: 1995/leo/secret.md -->
|
||||
<p>(The colon <em>is</em> the secret switch - the space before it is not a mistake)</p>
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>Jump to: <a href="#">top</a></p>
|
||||
@@ -399,7 +399,7 @@
|
||||
https://creativecommons.org/licenses/by-sa/4.0/
|
||||
|
||||
-->
|
||||
<!-- AFTER: last line of markdown file: 1995/leo/deobfuscation.md -->
|
||||
<!-- AFTER: last line of markdown file: 1995/leo/secret.md -->
|
||||
|
||||
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
<!-- START: this line starts content from: inc/after-content.default.html -->
|
||||
@@ -459,7 +459,7 @@
|
||||
|
||||
<div id="coda"><h3>Coda</h3>
|
||||
<p>
|
||||
<a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F1995%2Fleo%2Fdeobfuscation.html" rel="nofollow">Nu HTML check this web page</a><br>
|
||||
<a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F1995%2Fleo%2Fsecret.html" rel="nofollow">Nu HTML check this web page</a><br>
|
||||
<a href="#top">Jump to top</a> <a href="#content">Jump to Content</a>
|
||||
</p>
|
||||
</div>
|
||||
File renamed without changes.
@@ -38,7 +38,8 @@ For more detailed information see [1995/vanschnitz in bugs.html](../../bugs.html
|
||||
The authors provided a deobfuscated version of the program. Originally uuencoded we
|
||||
have decoded it for the wider audience in [vanschnitz.alt.c](%%REPO_URL%%/1995/vanschnitz/vanschnitz.alt.c).
|
||||
|
||||
They encourage you to first try and figure out the program without reading the deobfuscated version,
|
||||
They encourage you to first try and figure out the program without reading the
|
||||
deobfuscated version.
|
||||
|
||||
|
||||
### Alternate build:
|
||||
@@ -120,7 +121,7 @@ solution wherein the disks end up on peg 2; for an even
|
||||
number of disks, they will end on peg 3. This should
|
||||
provide some hint as to what sort of algorithm is used.
|
||||
|
||||
We have included a [deobfuscated](%%REPO_URL%%/1995/vanschnitz/vanschnitz.alt.c) version of the program, with
|
||||
We have included a [deobfuscated version](%%REPO_URL%%/1995/vanschnitz/vanschnitz.alt.c) of the program, with
|
||||
meaningful symbol names and comments, but we encourage you
|
||||
to try to decipher the program without it...
|
||||
|
||||
|
||||
@@ -421,7 +421,8 @@ in 2023. See <a href="#alternate-code">Alternate code</a> below.</p>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
<p>The authors provided a deobfuscated version of the program. Originally uuencoded we
|
||||
have decoded it for the wider audience in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.alt.c">vanschnitz.alt.c</a>.</p>
|
||||
<p>They encourage you to first try and figure out the program without reading the deobfuscated version,</p>
|
||||
<p>They encourage you to first try and figure out the program without reading the
|
||||
deobfuscated version.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<pre><code> make alt</code></pre>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
@@ -475,7 +476,7 @@ the resulting program (on a Unix system) is to do the command</p>
|
||||
solution wherein the disks end up on peg 2; for an even
|
||||
number of disks, they will end on peg 3. This should
|
||||
provide some hint as to what sort of algorithm is used.</p>
|
||||
<p>We have included a <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.alt.c">deobfuscated</a> version of the program, with
|
||||
<p>We have included a <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1995/vanschnitz/vanschnitz.alt.c">deobfuscated version</a> of the program, with
|
||||
meaningful symbol names and comments, but we encourage you
|
||||
to try to decipher the program without it…</p>
|
||||
<!--
|
||||
|
||||
@@ -32,12 +32,12 @@ For more detailed information see [1996/huffman in bugs.html](../../bugs.html#19
|
||||
|
||||
## Judges' remarks:
|
||||
|
||||
If you are still confused and want to run the deobfuscation command, check out
|
||||
If you are still confused and want to read a spoiler, check out
|
||||
the source and it will be clear as mud!
|
||||
|
||||
And for a misleading hint, consider who won! :-)
|
||||
|
||||
And if you really can't see what is going on, try this deobfuscation command:
|
||||
And if you really can't see what is going on, here is an extra spoiler:
|
||||
|
||||
``` <!---sh-->
|
||||
./huffman < huffman.c 2>/dev/null
|
||||
|
||||
@@ -412,10 +412,10 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
||||
<h2 id="try">Try:</h2>
|
||||
<pre><code> ./try.sh</code></pre>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>If you are still confused and want to run the deobfuscation command, check out
|
||||
<p>If you are still confused and want to read a spoiler, check out
|
||||
the source and it will be clear as mud!</p>
|
||||
<p>And for a misleading hint, consider who won! :-)</p>
|
||||
<p>And if you really can’t see what is going on, try this deobfuscation command:</p>
|
||||
<p>And if you really can’t see what is going on, here is an extra spoiler:</p>
|
||||
<pre><code> ./huffman < huffman.c 2>/dev/null</code></pre>
|
||||
<p>This entry was very well received at the IOCCC BOF.</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
|
||||
+8
-6
@@ -111,20 +111,22 @@ I decided it would be better this way...
|
||||
These restrictions have been removed for your convenience.
|
||||
|
||||
The following lines describe how this program works; if you don't
|
||||
want to know it at this time, please skip them.
|
||||
want to know it at this time, please skip them. If this entry would
|
||||
by some mistake win the contest, please do not rot13 this - I hate
|
||||
rot13 spoilers since it is somewhat complicated on a Mac to
|
||||
reverse them. Anyone out there should have enough discipline and
|
||||
rot13 shouldn't be required, really. After all, we are not children
|
||||
anymore :-)
|
||||
|
||||
You should have enough discipline to make an effort to understand
|
||||
the code without reading the deobfuscation information below.
|
||||
After all, we are not children anymore :-)
|
||||
|
||||
## Deobfuscation information
|
||||
## Obfuscation information:
|
||||
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
This paragraph is not part of the author's remarks, but is a helpful
|
||||
gift from the judges; if you read too fast to stop yourself, this should
|
||||
give you enough time to stop, which you really need to do RIGHT NOW if
|
||||
you don't want to read the deobfuscation information: we mean it.
|
||||
you don't want to read the obfuscation information: we mean it.
|
||||
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
|
||||
+8
-6
@@ -481,16 +481,18 @@ My first private version would only run when compiled on a Friday.
|
||||
I decided it would be better this way…
|
||||
These restrictions have been removed for your convenience.</p>
|
||||
<p>The following lines describe how this program works; if you don’t
|
||||
want to know it at this time, please skip them.</p>
|
||||
<p>You should have enough discipline to make an effort to understand
|
||||
the code without reading the deobfuscation information below.
|
||||
After all, we are not children anymore :-)</p>
|
||||
<h2 id="deobfuscation-information">Deobfuscation information</h2>
|
||||
want to know it at this time, please skip them. If this entry would
|
||||
by some mistake win the contest, please do not rot13 this - I hate
|
||||
rot13 spoilers since it is somewhat complicated on a Mac to
|
||||
reverse them. Anyone out there should have enough discipline and
|
||||
rot13 shouldn’t be required, really. After all, we are not children
|
||||
anymore :-)</p>
|
||||
<h2 id="obfuscation-information">Obfuscation information:</h2>
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>This paragraph is not part of the author’s remarks, but is a helpful
|
||||
gift from the judges; if you read too fast to stop yourself, this should
|
||||
give you enough time to stop, which you really need to do RIGHT NOW if
|
||||
you don’t want to read the deobfuscation information: we mean it.</p>
|
||||
you don’t want to read the obfuscation information: we mean it.</p>
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
<p>The source file needs to be present because the words are read from
|
||||
it. The wordlist is encoded within the source using a 24 entry
|
||||
|
||||
@@ -112,7 +112,7 @@ is the same as
|
||||
```
|
||||
|
||||
- The file [dorssel.html](dorssel.html) contains all the information needed to
|
||||
understand this program. For deobfuscation information, try:
|
||||
understand this program. For spoiler information, try:
|
||||
|
||||
``` <!---sh-->
|
||||
./dorssel < dorssel.md
|
||||
|
||||
@@ -468,7 +468,7 @@ text that can be reversibly Morsified, i.e.</li>
|
||||
<pre><code> ./dorssel < dorssel.c | ./dorssel</code></pre>
|
||||
<ul>
|
||||
<li>The file <a href="dorssel.html">dorssel.html</a> contains all the information needed to
|
||||
understand this program. For deobfuscation information, try:</li>
|
||||
understand this program. For spoiler information, try:</li>
|
||||
</ul>
|
||||
<pre><code> ./dorssel < dorssel.md</code></pre>
|
||||
<!--
|
||||
|
||||
@@ -116,7 +116,7 @@ looping. To see the resulting program run, redirect the output from
|
||||
and then compile it.
|
||||
|
||||
|
||||
### Deobfuscation And Hints:
|
||||
### Obfuscation hints:
|
||||
|
||||
The big key to this program is figuring out what the names of the
|
||||
functions ought to be; a bit of research may allow you to guess at
|
||||
|
||||
@@ -470,7 +470,7 @@ looping. To see the resulting program run, redirect the output from
|
||||
<code>schnitzi</code> into another file, like this</p>
|
||||
<pre><code> ./schnitzi 4 > sort.c</code></pre>
|
||||
<p>and then compile it.</p>
|
||||
<h3 id="deobfuscation-and-hints">Deobfuscation And Hints:</h3>
|
||||
<h3 id="obfuscation-hints">Obfuscation hints:</h3>
|
||||
<p>The big key to this program is figuring out what the names of the
|
||||
functions ought to be; a bit of research may allow you to guess at
|
||||
a few crucial ones.</p>
|
||||
|
||||
@@ -99,7 +99,7 @@ Count the number of non-whitespace characters in the source
|
||||
file to find out what dark force drove me to write this ;-).
|
||||
|
||||
|
||||
### Deobfuscation
|
||||
### Obfuscation
|
||||
|
||||
First of all, if you run a C beautifier on the program (thereby of course losing
|
||||
the nice code shape I worked so hard on ;-) ) the code will become a bit more
|
||||
|
||||
@@ -445,7 +445,7 @@ valid exit value to indicate failure (replace them with <code>EOF</code> resp.
|
||||
<h3 id="special-notes">Special notes</h3>
|
||||
<p>Count the number of non-whitespace characters in the source
|
||||
file to find out what dark force drove me to write this ;-).</p>
|
||||
<h3 id="deobfuscation">Deobfuscation</h3>
|
||||
<h3 id="obfuscation">Obfuscation</h3>
|
||||
<p>First of all, if you run a C beautifier on the program (thereby of course losing
|
||||
the nice code shape I worked so hard on ;-) ) the code will become a bit more
|
||||
readable.</p>
|
||||
|
||||
@@ -34,7 +34,7 @@ NOTE: `n` is an integer.
|
||||
|
||||
## Judges' remarks:
|
||||
|
||||
Don't read the author remarks until you're ready for some obfuscation information.
|
||||
Don't read the author's remarks until you're ready for the spoiler.
|
||||
Just stop and read the program; it won't take long. Once you've figured
|
||||
out what it does, run it. It may surprise you.
|
||||
|
||||
@@ -69,7 +69,7 @@ running the program a second time. Try:
|
||||
diff textfile textfile2
|
||||
```
|
||||
|
||||
where n is the same number (modulo 64). So, the prime number generator
|
||||
where `n` is the same number (modulo 64). So, the prime number generator
|
||||
is actually a simple text encoder/decoder! Of course, don't forget that
|
||||
argument, otherwise the "bugs" in the program will cause it to crash!
|
||||
|
||||
|
||||
@@ -413,7 +413,7 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
|
||||
<h2 id="try">Try:</h2>
|
||||
<pre><code> ./try.sh</code></pre>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>Don’t read the author remarks until you’re ready for some obfuscation information.
|
||||
<p>Don’t read the author’s remarks until you’re ready for the spoiler.
|
||||
Just stop and read the program; it won’t take long. Once you’ve figured
|
||||
out what it does, run it. It may surprise you.</p>
|
||||
<p>This entry won, not because the obfuscation is impenetrable, but because
|
||||
@@ -437,7 +437,7 @@ Instead, the program reads input from <code>stdin</code> and returns garbled tex
|
||||
running the program a second time. Try:</p>
|
||||
<pre><code> ./primenum n < textfile | ./primenum n > textfile2
|
||||
diff textfile textfile2</code></pre>
|
||||
<p>where n is the same number (modulo 64). So, the prime number generator
|
||||
<p>where <code>n</code> is the same number (modulo 64). So, the prime number generator
|
||||
is actually a simple text encoder/decoder! Of course, don’t forget that
|
||||
argument, otherwise the “bugs” in the program will cause it to crash!</p>
|
||||
<h3 id="features">Features</h3>
|
||||
|
||||
@@ -117,7 +117,7 @@ the game entertaining, see if you can find
|
||||
in the source code.)
|
||||
|
||||
|
||||
### GAME STRATEGY DEOBFUSCATION
|
||||
### GAME STRATEGY SPOILER
|
||||
|
||||
The trick, of course, is to drop items in empty rooms to mark them. That way
|
||||
you usually know if you're in a room you've seen before. It greatly aids
|
||||
|
||||
@@ -481,7 +481,7 @@ the game entertaining, see if you can find</p>
|
||||
<pre><code> the fish scales Q)++j<
|
||||
the shooting star -~- ~ -~i +</code></pre>
|
||||
<p>in the source code.)</p>
|
||||
<h3 id="game-strategy-deobfuscation">GAME STRATEGY DEOBFUSCATION</h3>
|
||||
<h3 id="game-strategy-spoiler">GAME STRATEGY SPOILER</h3>
|
||||
<p>The trick, of course, is to drop items in empty rooms to mark them. That way
|
||||
you usually know if you’re in a room you’ve seen before. It greatly aids
|
||||
mapping.</p>
|
||||
|
||||
@@ -130,12 +130,12 @@
|
||||
"entry_text" : "hibachi-start.sh declarations"
|
||||
},
|
||||
{
|
||||
"file_path" : "src/localhost/CHANGES-DEOBFUSCATED.TXT",
|
||||
"file_path" : "src/localhost/CHANGES-SPOILER.TXT",
|
||||
"inventory_order" : 200,
|
||||
"OK_to_edit" : true,
|
||||
"display_as" : "text",
|
||||
"display_via_github" : false,
|
||||
"entry_text" : "Debofuscation change log"
|
||||
"entry_text" : "spoiler change log"
|
||||
},
|
||||
{
|
||||
"file_path" : "2004_hibachi.tar.bz2",
|
||||
|
||||
@@ -159,7 +159,7 @@ style](https://wiki.c2.com/?OneTrueBraceStyle).
|
||||
|
||||
* `Hibachi` can serve [www.ioccc.org](https://www.ioccc.org).
|
||||
|
||||
* Commented deobfuscation information available.
|
||||
* Commented spoiler information available.
|
||||
|
||||
### Known Issues
|
||||
|
||||
|
||||
@@ -486,7 +486,7 @@ style</a>.</p></li>
|
||||
<li><p><code>HTTP/1.0 200 OK</code> == <code>HTTP/1.1 200 OK CRLF Connection: close</code> ?</p></li>
|
||||
<li><p><code>getenv()</code> == <code>putenv()</code> ?</p></li>
|
||||
<li><p><code>Hibachi</code> can serve <a href="https://www.ioccc.org">www.ioccc.org</a>.</p></li>
|
||||
<li><p>Commented deobfuscation information available.</p></li>
|
||||
<li><p>Commented spoiler information available.</p></li>
|
||||
</ul>
|
||||
<h3 id="known-issues">Known Issues</h3>
|
||||
<ul>
|
||||
@@ -543,7 +543,7 @@ paragraph 3 sentence 2, and so fails to display responses from
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src/localhost/test/perl/yahoo-ticker.pl">src/localhost/test/perl/yahoo-ticker.pl</a> - stock price fetch example in Perl</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src/configure.in">src/configure.in</a> - GNU Autoconf script</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2004/hibachi/src/hibachi-start.sh.in">src/hibachi-start.sh.in</a> - hibachi-start.sh declarations</li>
|
||||
<li><a href="src/localhost/CHANGES-DEOBFUSCATED.TXT">src/localhost/CHANGES-DEOBFUSCATED.TXT</a> - Debofuscation change log</li>
|
||||
<li><a href="src/localhost/CHANGES-SPOILER.TXT">src/localhost/CHANGES-SPOILER.TXT</a> - spoiler change log</li>
|
||||
</ul>
|
||||
<h2 id="secondary-files">Secondary files</h2>
|
||||
<ul>
|
||||
|
||||
File renamed without changes.
+4
-3
@@ -12,7 +12,8 @@ version](#alternate-code) below. If your terminal has problems with the
|
||||
make anon-no_stty
|
||||
```
|
||||
|
||||
This will compile [anon.c](%%REPO_URL%%/2005/anon/anon.c) as `anon` to not use `stty(1)`.
|
||||
This will compile [anon.c](%%REPO_URL%%/2005/anon/anon.c) as `anon` to not use
|
||||
`stty(1)`, with the support of an `#ifdef..#endif` added by the author.
|
||||
|
||||
|
||||
### Bugs and (Mis)features:
|
||||
@@ -202,7 +203,7 @@ hit enter after every key), but it works.
|
||||
The game requires lots of space on the runtime stack space due to deep
|
||||
recursion, among other things. :-)
|
||||
|
||||
See the "**DEOBFUSCATION**" section below for more notes about portability.
|
||||
See the "**OBFUSCATION**" section below for more notes about portability.
|
||||
|
||||
|
||||
### ABOUT THE CODE
|
||||
@@ -280,7 +281,7 @@ It probably will also compile and work on many (all?) other \*nix platforms as
|
||||
well. How does it achieve this incredible feat?
|
||||
|
||||
|
||||
### DEOBFUSCATION
|
||||
### OBFUSCATION
|
||||
|
||||
Read the following only if you give up figuring it out :-)
|
||||
|
||||
|
||||
@@ -407,7 +407,8 @@ Location: <a href="../../location.html#ZZ">ZZ</a> - <em>Unknown location</em></l
|
||||
version</a> below. If your terminal has problems with the
|
||||
<code>stty(1)</code> commands try:</p>
|
||||
<pre><code> make anon-no_stty</code></pre>
|
||||
<p>This will compile <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/anon/anon.c">anon.c</a> as <code>anon</code> to not use <code>stty(1)</code>.</p>
|
||||
<p>This will compile <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/anon/anon.c">anon.c</a> as <code>anon</code> to not use
|
||||
<code>stty(1)</code>, with the support of an <code>#ifdef..#endif</code> added by the author.</p>
|
||||
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
|
||||
<p>The current status of this entry is:</p>
|
||||
<pre><code> STATUS: INABIAF - please DO NOT fix</code></pre>
|
||||
@@ -514,7 +515,7 @@ with <code>-DNO_STTY</code>. The game interface will be a bit annoying (you will
|
||||
hit enter after every key), but it works.</p>
|
||||
<p>The game requires lots of space on the runtime stack space due to deep
|
||||
recursion, among other things. :-)</p>
|
||||
<p>See the “<strong>DEOBFUSCATION</strong>” section below for more notes about portability.</p>
|
||||
<p>See the “<strong>OBFUSCATION</strong>” section below for more notes about portability.</p>
|
||||
<h3 id="about-the-code">ABOUT THE CODE</h3>
|
||||
<p>Clearly, the author is very, very confused. Although he has broken up the file
|
||||
into sections labelled with helpful headings, and although he has left ample
|
||||
@@ -577,7 +578,7 @@ on the following architectures:</p>
|
||||
</ul>
|
||||
<p>It probably will also compile and work on many (all?) other *nix platforms as
|
||||
well. How does it achieve this incredible feat?</p>
|
||||
<h3 id="deobfuscation">DEOBFUSCATION</h3>
|
||||
<h3 id="obfuscation">OBFUSCATION</h3>
|
||||
<p>Read the following only if you give up figuring it out :-)</p>
|
||||
<h4 id="the-evil-hack">The Evil Hack</h4>
|
||||
<p>The program (ab)uses an implicit assumption underlying practically all
|
||||
|
||||
@@ -248,7 +248,7 @@ changing the definitions of `W`, `H` and `I` at the beginning of the code.
|
||||
parameter.
|
||||
|
||||
|
||||
### Deobfuscation
|
||||
### Obfuscation
|
||||
|
||||
Sure, I don't want to deprive you of the pleasure of digging
|
||||
into the infernal mess created by my corrupted mind (writing
|
||||
@@ -262,9 +262,9 @@ of how all the program works to be worked out).
|
||||
|
||||
This program is a formula parser that outputs machine code that
|
||||
calculates the formula and check the given conditions. The
|
||||
machine code targets the x87 stack based
|
||||
machine code targets the `x87` stack based
|
||||
[FPU](https://en.wikipedia.org/wiki/Floating-point_unit), and it is almost
|
||||
identical for x86 and x86_64 (except for the comparison
|
||||
identical for `x86` and `x86_64` (except for the comparison
|
||||
instructions, that have to be generated differently). The
|
||||
program keeps track of the FPU stack (the FPU has a cyclic stack
|
||||
of 8 registers) and will automatically swap to and from the
|
||||
|
||||
@@ -553,7 +553,7 @@ numbers.</li>
|
||||
<li>There should be some way to switch from Mandelbrot to Julia with chosen
|
||||
parameter.</li>
|
||||
</ul>
|
||||
<h3 id="deobfuscation">Deobfuscation</h3>
|
||||
<h3 id="obfuscation">Obfuscation</h3>
|
||||
<p>Sure, I don’t want to deprive you of the pleasure of digging
|
||||
into the infernal mess created by my corrupted mind (writing
|
||||
this remark I noticed that I was ending sentences with ‘;’ instead
|
||||
@@ -564,9 +564,9 @@ are different from the tricks used in most common IOCCC program
|
||||
of how all the program works to be worked out).</p>
|
||||
<p>This program is a formula parser that outputs machine code that
|
||||
calculates the formula and check the given conditions. The
|
||||
machine code targets the x87 stack based
|
||||
machine code targets the <code>x87</code> stack based
|
||||
<a href="https://en.wikipedia.org/wiki/Floating-point_unit">FPU</a>, and it is almost
|
||||
identical for x86 and x86_64 (except for the comparison
|
||||
identical for <code>x86</code> and <code>x86_64</code> (except for the comparison
|
||||
instructions, that have to be generated differently). The
|
||||
program keeps track of the FPU stack (the FPU has a cyclic stack
|
||||
of 8 registers) and will automatically swap to and from the
|
||||
|
||||
@@ -222,7 +222,7 @@ In Unix the min 0 on `stty` is required but circa 2001
|
||||
it was not required.
|
||||
|
||||
|
||||
### How it works (deobfuscation)
|
||||
### How it works (obfuscation)
|
||||
|
||||
The `l` array contains the 64K memory; it is initialized with a boot image
|
||||
loaded from the `C` file. The [program
|
||||
|
||||
@@ -534,7 +534,7 @@ is not what is needed.</p>
|
||||
<p>On PC/DOS you need to add <code>ANSI.SYS</code> to <code>CONFIG.SYS</code>.</p>
|
||||
<p>In Unix the min 0 on <code>stty</code> is required but circa 2001
|
||||
it was not required.</p>
|
||||
<h3 id="how-it-works-deobfuscation">How it works (deobfuscation)</h3>
|
||||
<h3 id="how-it-works-obfuscation">How it works (obfuscation)</h3>
|
||||
<p>The <code>l</code> array contains the 64K memory; it is initialized with a boot image
|
||||
loaded from the <code>C</code> file. The <a href="https://en.wikipedia.org/wiki/Program_counter">program
|
||||
counter</a> is the <code>c</code> pointer and
|
||||
|
||||
@@ -199,7 +199,7 @@ Just say
|
||||
(Btw, tcc has its roots in IOCCC...)
|
||||
|
||||
|
||||
### Deobfuscation
|
||||
### Obfuscation
|
||||
|
||||
* The initialized char array includes the source code of the real program,
|
||||
as well as its name and commands to build and run it, all
|
||||
|
||||
@@ -536,7 +536,7 @@ C99, or long lines as an extension. This code has been tested on:</p></li>
|
||||
<li><p>AIX 5.3, IBM eServer p5-550, gcc 3.3.3 and AIX CC Version 6</p>
|
||||
<p>(Btw, tcc has its roots in IOCCC…)</p></li>
|
||||
</ul>
|
||||
<h3 id="deobfuscation">Deobfuscation</h3>
|
||||
<h3 id="obfuscation">Obfuscation</h3>
|
||||
<ul>
|
||||
<li>The initialized char array includes the source code of the real program,
|
||||
as well as its name and commands to build and run it, all
|
||||
|
||||
+1
-1
@@ -110,7 +110,7 @@ the actual `argv` strings to be writable, though.
|
||||
- Some seemingly redundant code works to eliminate warnings and evade a gcc bug.
|
||||
|
||||
|
||||
### Deobfuscation
|
||||
### Spoilers
|
||||
|
||||
The parser parses function names, subtraction, and division as single-letter
|
||||
unary operators. A bitmask encoded hash table is used to check no-ops/digits
|
||||
|
||||
+1
-1
@@ -462,7 +462,7 @@ the actual <code>argv</code> strings to be writable, though.</li>
|
||||
<li>This program doesn’t work with <code>%e</code> style numbers like <code>1e-4</code>.</li>
|
||||
<li>Some seemingly redundant code works to eliminate warnings and evade a gcc bug.</li>
|
||||
</ul>
|
||||
<h3 id="deobfuscation">Deobfuscation</h3>
|
||||
<h3 id="spoilers">Spoilers</h3>
|
||||
<p>The parser parses function names, subtraction, and division as single-letter
|
||||
unary operators. A bitmask encoded hash table is used to check no-ops/digits
|
||||
and another hash function maps the ASCII to a function ordinal, which is then
|
||||
|
||||
@@ -153,7 +153,7 @@ reflection ray at an object's surface, given the incoming
|
||||
direction and surface normal.
|
||||
|
||||
|
||||
#### Further deobfuscation:
|
||||
#### Further details:
|
||||
|
||||
The program is not quite a traditional [ray
|
||||
tracer](https://en.wikipedia.org/wiki/Ray_tracing_(graphics)), but a "[sphere
|
||||
|
||||
@@ -480,7 +480,7 @@ by the source code itself: the geometric construction of a
|
||||
reflection ray at an object’s surface, given the incoming
|
||||
direction and surface normal.</p></li>
|
||||
</ul>
|
||||
<h4 id="further-deobfuscation">Further deobfuscation:</h4>
|
||||
<h4 id="further-details">Further details:</h4>
|
||||
<p>The program is not quite a traditional <a href="https://en.wikipedia.org/wiki/Ray_tracing_(graphics)">ray
|
||||
tracer</a>, but a “<a href="sphere-tracing.pdf">sphere
|
||||
tracer</a>” which uses distance fields to encode proximity to
|
||||
|
||||
@@ -259,7 +259,7 @@ a usage of `I` (complex's imaginary unit), but I bet this is cygwin's issue;
|
||||
it is surely a C99 feature.
|
||||
|
||||
|
||||
### Deobfuscation
|
||||
### Obfuscation
|
||||
|
||||
First of all, the source code itself serves as an initial configuration.
|
||||
Preprocessing directives (such as `#include`)'s `#` serve as walls.
|
||||
|
||||
@@ -554,7 +554,7 @@ used to clear screen and move cursor to home.</p>
|
||||
and gcc-4.5.3 and clang-3.1 on Cygwin. On Cygwin, gcc and clang complain about
|
||||
a usage of <code>I</code> (complex’s imaginary unit), but I bet this is cygwin’s issue;
|
||||
it is surely a C99 feature.</p>
|
||||
<h3 id="deobfuscation">Deobfuscation</h3>
|
||||
<h3 id="obfuscation">Obfuscation</h3>
|
||||
<p>First of all, the source code itself serves as an initial configuration.
|
||||
Preprocessing directives (such as <code>#include</code>)’s <code>#</code> serve as walls.</p>
|
||||
<p>This program uses <code>double complex</code> to represent any 2D vector. But, note that
|
||||
|
||||
+2
-2
@@ -150,7 +150,7 @@ The design of the program explicitly allows for `EOF` even if it does not equal
|
||||
endian-independent.
|
||||
|
||||
|
||||
### Debfuscation
|
||||
### Obfuscation
|
||||
|
||||
Many obfuscations used are typical for standard IOCCC entries:
|
||||
|
||||
@@ -218,7 +218,7 @@ Having said this important trick, other details should be relatively easier to
|
||||
follow. The order of lookup table, for example, is very important,
|
||||
and the biggest constant 6177 is not arbitrarily chosen.
|
||||
|
||||
Even [more deobfuscation information](https://gist.github.com/lifthrasiir/3909337) is available.
|
||||
Even more obfuscation information is [available](https://gist.github.com/lifthrasiir/3909337).
|
||||
|
||||
|
||||
### Acknowledgement
|
||||
|
||||
@@ -493,7 +493,7 @@ character set and two’s complement representation.</li>
|
||||
<code>-1</code> (it has to be negative per the standard but not necessarily <code>-1</code>) and both
|
||||
<code>signed char</code> and <code>unsigned char</code>, for example. Furthermore it is
|
||||
endian-independent.</p>
|
||||
<h3 id="debfuscation">Debfuscation</h3>
|
||||
<h3 id="obfuscation">Obfuscation</h3>
|
||||
<p>Many obfuscations used are typical for standard IOCCC entries:</p>
|
||||
<ul>
|
||||
<li>Two arguments from <code>main()</code> function are reused as normal variables.</li>
|
||||
@@ -547,7 +547,7 @@ one character.</li>
|
||||
<p>Having said this important trick, other details should be relatively easier to
|
||||
follow. The order of lookup table, for example, is very important,
|
||||
and the biggest constant 6177 is not arbitrarily chosen.</p>
|
||||
<p>Even <a href="https://gist.github.com/lifthrasiir/3909337">more deobfuscation information</a> is available.</p>
|
||||
<p>Even more obfuscation information is <a href="https://gist.github.com/lifthrasiir/3909337">available</a>.</p>
|
||||
<h3 id="acknowledgement">Acknowledgement</h3>
|
||||
<p>The cleaner (size-optimized) version of this program was originally published
|
||||
in my website in July 2011. Sun Park and others have reviewed it and made me
|
||||
|
||||
@@ -66,12 +66,12 @@
|
||||
"entry_text" : "script to try entry"
|
||||
},
|
||||
{
|
||||
"file_path" : "deobfuscation.html",
|
||||
"file_path" : "obfuscation.html",
|
||||
"inventory_order" : 200,
|
||||
"OK_to_edit" : true,
|
||||
"display_as" : "html",
|
||||
"display_via_github" : false,
|
||||
"entry_text" : "Deobfuscation information web page"
|
||||
"entry_text" : "JavaScript page with full recording of development"
|
||||
},
|
||||
{
|
||||
"file_path" : "2012_omoikane.tar.bz2",
|
||||
|
||||
@@ -83,7 +83,7 @@ We have no way to test the second version, sorry (tm Canada :-) )!
|
||||
## Judges' remarks:
|
||||
|
||||
The judges have nothing to add that has not already been written about in the
|
||||
[deobfuscation.html](deobfuscation.html) (requires JavaScript) file! :-)
|
||||
[obfuscation.html](obfuscation.html) (requires JavaScript) file! :-)
|
||||
|
||||
|
||||
## Author's remarks:
|
||||
@@ -195,7 +195,7 @@ default, this means `Nyaruko` may not faithfully encode files on MingW.
|
||||
|
||||
### Extra files
|
||||
|
||||
[deobfuscation.html](deobfuscation.html) - Contains full recording of how the code went from
|
||||
[obfuscation.html](obfuscation.html) - Contains full recording of how the code went from
|
||||
blank state to an obfuscated program, gzipped to fit under 1MB. Requires
|
||||
JavaScript.
|
||||
|
||||
|
||||
@@ -443,7 +443,7 @@ binary mode on <code>stdin</code> and <code>stdout</code>.</p>
|
||||
<p>We have no way to test the second version, sorry (tm Canada :-) )!</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>The judges have nothing to add that has not already been written about in the
|
||||
<a href="deobfuscation.html">deobfuscation.html</a> (requires JavaScript) file! :-)</p>
|
||||
<a href="obfuscation.html">obfuscation.html</a> (requires JavaScript) file! :-)</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<h3 id="usage">Usage</h3>
|
||||
<p><code>Nyaruko</code> is a binary to text filter. Given some input on <code>stdin</code>,
|
||||
@@ -524,7 +524,7 @@ combinations:</p>
|
||||
<p>Note that on MingW, <code>stdin</code> and <code>stdout</code> are not opened in binary mode by
|
||||
default, this means <code>Nyaruko</code> may not faithfully encode files on MingW.</p>
|
||||
<h3 id="extra-files">Extra files</h3>
|
||||
<p><a href="deobfuscation.html">deobfuscation.html</a> - Contains full recording of how the code went from
|
||||
<p><a href="obfuscation.html">obfuscation.html</a> - Contains full recording of how the code went from
|
||||
blank state to an obfuscated program, gzipped to fit under 1MB. Requires
|
||||
JavaScript.</p>
|
||||
<!--
|
||||
@@ -559,7 +559,7 @@ JavaScript.</p>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/omoikane/omoikane.c">omoikane.c</a> - entry source code</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/omoikane/try.alt.sh">try.alt.sh</a> - script to try alternate code</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/omoikane/try.sh">try.sh</a> - script to try entry</li>
|
||||
<li><a href="deobfuscation.html">deobfuscation.html</a> - Deobfuscation information web page</li>
|
||||
<li><a href="obfuscation.html">obfuscation.html</a> - JavaScript page with full recording of development</li>
|
||||
</ul>
|
||||
<h2 id="secondary-files">Secondary files</h2>
|
||||
<ul>
|
||||
|
||||
File renamed without changes.
@@ -39,7 +39,7 @@
|
||||
"OK_to_edit" : false,
|
||||
"display_as" : "html",
|
||||
"display_via_github" : false,
|
||||
"entry_text" : "author supplied debofuscation information"
|
||||
"entry_text" : "author supplied obfuscation information"
|
||||
},
|
||||
{
|
||||
"file_path" : "primes.pl",
|
||||
|
||||
+1
-1
@@ -383,7 +383,7 @@
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<!-- BEFORE: 1st line of markdown file: 2012/tromp/how.md -->
|
||||
<h1 id="deobfuscation">Deobfuscation</h1>
|
||||
<h1 id="obfuscation">Obfuscation</h1>
|
||||
<p>The program implements a so called <a href="https://en.wikipedia.org/wiki/Krivine_machine">Krivine
|
||||
machine</a>, enhanced with a <a href="https://en.wikipedia.org/wiki/BIOS">basic
|
||||
input/output system</a> and a reference
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# Deobfuscation
|
||||
# Obfuscation
|
||||
|
||||
The program implements a so called [Krivine
|
||||
machine](https://en.wikipedia.org/wiki/Krivine_machine), enhanced with a [basic
|
||||
|
||||
@@ -787,7 +787,7 @@ Higher Order Symbol. Comput. 20, 3 (September 2007), 199-207.
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/tromp/tromp.c">tromp.c</a> - entry source code</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/tromp/Makefile">Makefile</a> - entry Makefile</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/tromp/tromp.orig.c">tromp.orig.c</a> - original source code</li>
|
||||
<li><a href="how.html">how.html</a> - author supplied debofuscation information</li>
|
||||
<li><a href="how.html">how.html</a> - author supplied obfuscation information</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/tromp/primes.pl">primes.pl</a> - post process entry output to print primes</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/tromp/try.sh">try.sh</a> - script to try entry</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2012/tromp/hw.bf">hw.bf</a> - hello world brainfuck source code</li>
|
||||
|
||||
@@ -106,7 +106,7 @@ and to satisfy IOCCC's size rule.
|
||||
|
||||
These led to the good obfuscation.
|
||||
|
||||
See the [deobfuscation section](#Deobfuscation) in detail, if you need.
|
||||
See the [obfuscation section](#obfuscation) in detail, if you need.
|
||||
|
||||
|
||||
### Limitation
|
||||
@@ -120,7 +120,7 @@ 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
|
||||
the [deobfuscation section](#Deobfuscation).
|
||||
the [obfuscation section](#obfuscation).
|
||||
|
||||
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.
|
||||
|
||||
|
||||
### Deobfuscation
|
||||
### Obfuscation
|
||||
|
||||
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,7 +450,7 @@ and to satisfy IOCCC’s size rule.</p>
|
||||
<li>Short coding.</li>
|
||||
</ul>
|
||||
<p>These led to the good obfuscation.</p>
|
||||
<p>See the <a href="#Deobfuscation">deobfuscation section</a> in detail, if you need.</p>
|
||||
<p>See the <a href="#obfuscation">obfuscation 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>
|
||||
@@ -458,7 +458,7 @@ and to satisfy IOCCC’s size rule.</p>
|
||||
<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
|
||||
the <a href="#Deobfuscation">deobfuscation section</a>.</p>
|
||||
the <a href="#obfuscation">obfuscation 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="deobfuscation">Deobfuscation</h3>
|
||||
<h3 id="obfuscation-1">Obfuscation</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>
|
||||
|
||||
@@ -62,7 +62,7 @@ I believe that the JPEG encoder is the world's smallest ever.
|
||||
Nevertheless, the program was too big to meet the IOCCC's size rule. So I
|
||||
created a smaller bootstrap program that generates the main program. `endoh2.c`
|
||||
contains fragments of the main program *as a comment* which `iocccsize -i` does
|
||||
*not* count. I gratefully thank the judges for deobfuscating the size rule this
|
||||
*not* count. I gratefully thank the judges for spoiling the size rule this
|
||||
year.
|
||||
|
||||
I think the program will work on any major platforms and compilers.
|
||||
|
||||
@@ -441,7 +441,7 @@ I believe that the JPEG encoder is the world’s smallest ever.</p>
|
||||
<p>Nevertheless, the program was too big to meet the IOCCC’s size rule. So I
|
||||
created a smaller bootstrap program that generates the main program. <code>endoh2.c</code>
|
||||
contains fragments of the main program <em>as a comment</em> which <code>iocccsize -i</code> does
|
||||
<em>not</em> count. I gratefully thank the judges for deobfuscating the size rule this
|
||||
<em>not</em> count. I gratefully thank the judges for spoiling the size rule this
|
||||
year.</p>
|
||||
<p>I think the program will work on any major platforms and compilers.</p>
|
||||
<h3 id="legal">Legal</h3>
|
||||
|
||||
@@ -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).
|
||||
|
||||
|
||||
### Deobfuscation
|
||||
### Spoiler
|
||||
|
||||
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="deobfuscation">Deobfuscation</h3>
|
||||
<h3 id="spoiler">Spoiler</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.
|
||||
|
||||
|
||||
### Deobfuscation
|
||||
### Spoiler
|
||||
|
||||
```
|
||||
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="deobfuscation">Deobfuscation</h3>
|
||||
<h3 id="spoiler">Spoiler</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
|
||||
|
||||
@@ -50,12 +50,12 @@
|
||||
"entry_text" : "script to try entry"
|
||||
},
|
||||
{
|
||||
"file_path" : "deobfuscation.html",
|
||||
"file_path" : "obfuscation.html",
|
||||
"inventory_order" : 200,
|
||||
"OK_to_edit" : true,
|
||||
"display_as" : "html",
|
||||
"display_via_github" : false,
|
||||
"entry_text" : "Deobfuscation information web page"
|
||||
"entry_text" : "JavaScript page with full recording of development"
|
||||
},
|
||||
{
|
||||
"file_path" : "2013_misaka.tar.bz2",
|
||||
|
||||
@@ -115,7 +115,7 @@ PROG= ${ENTRY}
|
||||
#
|
||||
OBJ= misaka.o misaka2.o misaka3.o misaka4.o misaka5.o \
|
||||
misaka6.o misaka7.o misaka8.o misaka9.o
|
||||
DATA= bf.pl deobfuscation.html
|
||||
DATA= bf.pl obfuscation.html
|
||||
TARGET= ${PROG} horizontal_cat vertical_cat long_cat loong_cat \
|
||||
loooong_cat loooooooong_cat long_fat_cat \
|
||||
long_faat_cat same_as_long_cat
|
||||
|
||||
@@ -263,7 +263,7 @@ needed for the program to work.
|
||||
|
||||
* [bf.pl](%%REPO_URL%%/2013/misaka/bf.pl) - a perl brainfuck interpreter, in case you don't have one
|
||||
handy.
|
||||
* [deobfuscation.html](deobfuscation.html) - making of this program.
|
||||
* [obfuscation.html](obfuscation.html) - making of this program.
|
||||
|
||||
|
||||
### About `Misaka`
|
||||
|
||||
@@ -562,7 +562,7 @@ needed for the program to work.</p>
|
||||
<ul>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/misaka/bf.pl">bf.pl</a> - a perl brainfuck interpreter, in case you don’t have one
|
||||
handy.</li>
|
||||
<li><a href="deobfuscation.html">deobfuscation.html</a> - making of this program.</li>
|
||||
<li><a href="obfuscation.html">obfuscation.html</a> - making of this program.</li>
|
||||
</ul>
|
||||
<h3 id="about-misaka">About <code>Misaka</code></h3>
|
||||
<p>The name, layout, and functionality of <code>Misaka</code> is inspired by a particular
|
||||
@@ -601,7 +601,7 @@ stackable figure:</p>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/misaka/misaka.orig.c">misaka.orig.c</a> - original source code</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/misaka/bf.pl">bf.pl</a> - brainfuck interpreter in perl</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2013/misaka/try.sh">try.sh</a> - script to try entry</li>
|
||||
<li><a href="deobfuscation.html">deobfuscation.html</a> - Deobfuscation information web page</li>
|
||||
<li><a href="obfuscation.html">obfuscation.html</a> - JavaScript page with full recording of development</li>
|
||||
</ul>
|
||||
<h2 id="secondary-files">Secondary files</h2>
|
||||
<ul>
|
||||
|
||||
File renamed without changes.
@@ -42,12 +42,12 @@
|
||||
"entry_text" : "Ruby Makefile"
|
||||
},
|
||||
{
|
||||
"file_path" : "deobfuscation.html",
|
||||
"file_path" : "quine-qr.html",
|
||||
"inventory_order" : 100,
|
||||
"OK_to_edit" : false,
|
||||
"display_as" : "html",
|
||||
"display_via_github" : false,
|
||||
"entry_text" : "Deobfuscation information about Q(uine)R code generator"
|
||||
"entry_text" : "information about Q(uine)R code generator"
|
||||
},
|
||||
{
|
||||
"file_path" : "rake.sh",
|
||||
@@ -218,7 +218,7 @@
|
||||
"entry_text" : "markdown source for this web page"
|
||||
},
|
||||
{
|
||||
"file_path" : "deobfuscation.md",
|
||||
"file_path" : "quine-qr.md",
|
||||
"inventory_order" : 4000000000,
|
||||
"OK_to_edit" : true,
|
||||
"display_as" : "markdown",
|
||||
|
||||
@@ -112,7 +112,7 @@ PROG= prog
|
||||
#
|
||||
OBJ= ${PROG}.o
|
||||
DATA= Rakefile alpha.rb assemble.rb ast-def.rb gen-prog.rb gen-table.rb link.rb \
|
||||
machine.rb main.c parse.rb prog-tmpl.c deobfuscation.md register.rb \
|
||||
machine.rb main.c parse.rb prog-tmpl.c quine-qr.md register.rb \
|
||||
serialize.rb src.rb tool.rb vm.c
|
||||
TARGET= ${PROG} main treacle
|
||||
#
|
||||
|
||||
@@ -62,9 +62,9 @@ more than 1000 words.
|
||||
You may want to use a large display with a very small terminal font.
|
||||
|
||||
|
||||
### Deobfuscation
|
||||
### Q(uine)R code generator
|
||||
|
||||
See [deobfuscation.html](deobfuscation.html).
|
||||
See [quine-qr.html](quine-qr.html).
|
||||
|
||||
|
||||
<!--
|
||||
|
||||
@@ -432,8 +432,8 @@ more than 1000 words.</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<h3 id="remarks">Remarks</h3>
|
||||
<p>You may want to use a large display with a very small terminal font.</p>
|
||||
<h3 id="deobfuscation">Deobfuscation</h3>
|
||||
<p>See <a href="deobfuscation.html">deobfuscation.html</a>.</p>
|
||||
<h3 id="quiner-code-generator">Q(uine)R code generator</h3>
|
||||
<p>See <a href="quine-qr.html">quine-qr.html</a>.</p>
|
||||
<!--
|
||||
|
||||
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
||||
@@ -463,7 +463,7 @@ more than 1000 words.</p>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/endoh1/Makefile">Makefile</a> - entry Makefile</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/endoh1/prog.orig.c">prog.orig.c</a> - original source code</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/endoh1/Rakefile">Rakefile</a> - Ruby Makefile</li>
|
||||
<li><a href="deobfuscation.html">deobfuscation.html</a> - Deobfuscation information about Q(uine)R code generator</li>
|
||||
<li><a href="quine-qr.html">quine-qr.html</a> - information about Q(uine)R code generator</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/endoh1/rake.sh">rake.sh</a> - make rake script</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/endoh1/try.sh">try.sh</a> - script to try entry</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/endoh1/alpha.rb">alpha.rb</a> - support program for Rakefile</li>
|
||||
@@ -485,10 +485,10 @@ more than 1000 words.</p>
|
||||
<ul>
|
||||
<li><a href="2014_endoh1.tar.bz2">2014_endoh1.tar.bz2</a> - download entry tarball</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/endoh1/README.md">README.md</a> - markdown source for this web page</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/endoh1/deobfuscation.md">deobfuscation.md</a> - markdown source for deobfuscation.html</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/endoh1/.entry.json">.entry.json</a> - entry summary and manifest in JSON</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/endoh1/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/endoh1/.path">.path</a> - directory path from top level directory</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/endoh1/quine-qr.md">quine-qr.md</a> - markdown source for deobfuscation.html</li>
|
||||
<li><a href="index.html">index.html</a> - this web page</li>
|
||||
</ul>
|
||||
<hr style="width:10%;text-align:left;margin-left:0">
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<title>The International Obfuscated C Code Contest</title>
|
||||
<link rel="icon" type="image/x-icon" href="../../favicon.ico">
|
||||
<meta name="description" content="deobfuscation.md for 2014/endoh1">
|
||||
<meta name="keywords" content="IOCCC, 2014/endoh1, deobfuscation.md">
|
||||
<meta name="description" content="quine-qr.md for 2014/endoh1">
|
||||
<meta name="keywords" content="IOCCC, 2014/endoh1, quine-qr.md">
|
||||
</head>
|
||||
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
@@ -26,13 +26,13 @@
|
||||
|
||||
<!-- -->
|
||||
<!-- This web page was formed via the tool: bin/gen-other-html.sh -->
|
||||
<!-- The content of main section of this web page came from: 2014/endoh1/deobfuscation.md -->
|
||||
<!-- The content of main section of this web page came from: 2014/endoh1/quine-qr.md -->
|
||||
<!-- -->
|
||||
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 2014/endoh1/deobfuscation.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 2014/endoh1/deobfuscation.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 2014/endoh1/deobfuscation.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 2014/endoh1/quine-qr.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 2014/endoh1/quine-qr.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 2014/endoh1/quine-qr.md !!! -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
|
||||
<!-- Markdown content was converted into HTML via the tool: bin/md2html.sh -->
|
||||
@@ -363,7 +363,7 @@
|
||||
height=110>
|
||||
</a>
|
||||
<h1>The International Obfuscated C Code Contest</h1>
|
||||
<h2>deobfuscation.html for 2014/endoh1</h2>
|
||||
<h2>quine-qr.html for 2014/endoh1</h2>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/header.default.html -->
|
||||
@@ -371,7 +371,7 @@
|
||||
|
||||
<div class="navbar">
|
||||
<a class="Left" href="index.html">↑ jump to index.html ↑</a>
|
||||
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2014%2Fendoh1%2Fdeobfuscation.html">✓</a>
|
||||
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2014%2Fendoh1%2Fquine-qr.html">✓</a>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/navbar.up2index.html -->
|
||||
@@ -382,7 +382,7 @@
|
||||
<!-- END: this line ends content from: inc/before-content.default.html -->
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<!-- BEFORE: 1st line of markdown file: 2014/endoh1/deobfuscation.md -->
|
||||
<!-- BEFORE: 1st line of markdown file: 2014/endoh1/quine-qr.md -->
|
||||
<h1 id="quiner-code-generator">Q(uine)R code generator</h1>
|
||||
<h2 id="what-is-difficult">What is difficult?</h2>
|
||||
<p>As you may know, QR code (specification: ISO/IEC 18004) is quite complex. It
|
||||
@@ -533,7 +533,7 @@ but it appears to no longer exist.</p>
|
||||
https://creativecommons.org/licenses/by-sa/4.0/
|
||||
|
||||
-->
|
||||
<!-- AFTER: last line of markdown file: 2014/endoh1/deobfuscation.md -->
|
||||
<!-- AFTER: last line of markdown file: 2014/endoh1/quine-qr.md -->
|
||||
|
||||
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
<!-- START: this line starts content from: inc/after-content.default.html -->
|
||||
@@ -593,7 +593,7 @@ but it appears to no longer exist.</p>
|
||||
|
||||
<div id="coda"><h3>Coda</h3>
|
||||
<p>
|
||||
<a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2014%2Fendoh1%2Fdeobfuscation.html" rel="nofollow">Nu HTML check this web page</a><br>
|
||||
<a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2014%2Fendoh1%2Fquine-qr.html" rel="nofollow">Nu HTML check this web page</a><br>
|
||||
<a href="#top">Jump to top</a> <a href="#content">Jump to Content</a>
|
||||
</p>
|
||||
</div>
|
||||
File renamed without changes.
@@ -58,12 +58,12 @@
|
||||
"entry_text" : "script to try entry"
|
||||
},
|
||||
{
|
||||
"file_path" : "deobfuscation.html",
|
||||
"file_path" : "obfuscation.html",
|
||||
"inventory_order" : 200,
|
||||
"OK_to_edit" : true,
|
||||
"display_as" : "html",
|
||||
"display_via_github" : false,
|
||||
"entry_text" : "Deobfuscation information web page"
|
||||
"entry_text" : "JavaScript page with full recording of development"
|
||||
},
|
||||
{
|
||||
"file_path" : "2014_sinon.tar.bz2",
|
||||
|
||||
@@ -112,7 +112,7 @@ that there are no files named "run" and "run.c" in current directory
|
||||
|
||||
File size and CRC32 of [prog.c](%%REPO_URL%%/2014/sinon/prog.c) are embedded in line 7.
|
||||
|
||||
Process for making `Sinon` is included in [deobfuscation.html](deobfuscation.html).
|
||||
Process for making `Sinon` is included in [obfuscation.html](obfuscation.html).
|
||||
|
||||
Layout of this code is based on Asada Shino, also known as "`Sinon`",
|
||||
from Sword Art Online.
|
||||
|
||||
@@ -474,7 +474,7 @@ that there are no files named “run” and “run.c” in current directory
|
||||
(they will be overwritten) and run:</p>
|
||||
<pre><code> perl prog.c | bash</code></pre>
|
||||
<p>File size and CRC32 of <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/sinon/prog.c">prog.c</a> are embedded in line 7.</p>
|
||||
<p>Process for making <code>Sinon</code> is included in <a href="deobfuscation.html">deobfuscation.html</a>.</p>
|
||||
<p>Process for making <code>Sinon</code> is included in <a href="obfuscation.html">obfuscation.html</a>.</p>
|
||||
<p>Layout of this code is based on Asada Shino, also known as “<code>Sinon</code>”,
|
||||
from Sword Art Online.</p>
|
||||
<!--
|
||||
@@ -508,7 +508,7 @@ from Sword Art Online.</p>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/sinon/glock.sh">glock.sh</a> - script to run entry</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/sinon/hecate.sh">hecate.sh</a> - script to run entry</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2014/sinon/try.sh">try.sh</a> - script to try entry</li>
|
||||
<li><a href="deobfuscation.html">deobfuscation.html</a> - Deobfuscation information web page</li>
|
||||
<li><a href="obfuscation.html">obfuscation.html</a> - JavaScript page with full recording of development</li>
|
||||
</ul>
|
||||
<h2 id="secondary-files">Secondary files</h2>
|
||||
<ul>
|
||||
|
||||
File renamed without changes.
+1
-1
@@ -46,7 +46,7 @@ one of the all time best IOCCC entries from 1984.
|
||||
We also suggest that you take a very good look at how the
|
||||
[muth](muth/index.html) code makes full use of the C Pre-Processor.
|
||||
|
||||
...We'll stop spouting deobfuscation information now. Have fun exploring all the entries!
|
||||
...We'll stop spouting spoilers now. Have fun exploring all the entries!
|
||||
|
||||
|
||||
## Remarks on some of submissions that did not win
|
||||
|
||||
@@ -106,12 +106,12 @@
|
||||
"entry_text" : "test suite comparison data for 32-bit systems"
|
||||
},
|
||||
{
|
||||
"file_path" : "deobfuscation.html",
|
||||
"file_path" : "obfuscation.html",
|
||||
"inventory_order" : 200,
|
||||
"OK_to_edit" : false,
|
||||
"display_as" : "html",
|
||||
"display_via_github" : false,
|
||||
"entry_text" : "Deobfuscation information web page"
|
||||
"entry_text" : "obfuscation information web page"
|
||||
},
|
||||
{
|
||||
"file_path" : "src.doc.txt",
|
||||
@@ -162,12 +162,12 @@
|
||||
"entry_text" : "markdown source for this web page"
|
||||
},
|
||||
{
|
||||
"file_path" : "deobfuscation.md",
|
||||
"file_path" : "obfuscation.md",
|
||||
"inventory_order" : 4000000000,
|
||||
"OK_to_edit" : true,
|
||||
"display_as" : "markdown",
|
||||
"display_via_github" : true,
|
||||
"entry_text" : "markdown source for deobfuscation.html"
|
||||
"entry_text" : "markdown source for obfuscation.html"
|
||||
},
|
||||
{
|
||||
"file_path" : "road.to.obscurity.md",
|
||||
|
||||
@@ -228,9 +228,9 @@ This allows for a convenient test suite:
|
||||
```
|
||||
|
||||
|
||||
### Deobfuscation:
|
||||
### Obfuscation:
|
||||
|
||||
If you do not want to puzzle out how it works, see [deobfuscation.html](deobfuscation.html).
|
||||
If you do not want to puzzle out how it works, see [obfuscation.html](obfuscation.html).
|
||||
|
||||
<!--
|
||||
|
||||
|
||||
@@ -528,8 +528,8 @@ To stifle these complaints:</p>
|
||||
This allows for a convenient test suite:</p>
|
||||
<pre><code> ln -sf prog eprog
|
||||
PATH=. eprog < test.in | diff - test.out</code></pre>
|
||||
<h3 id="deobfuscation">Deobfuscation:</h3>
|
||||
<p>If you do not want to puzzle out how it works, see <a href="deobfuscation.html">deobfuscation.html</a>.</p>
|
||||
<h3 id="obfuscation">Obfuscation:</h3>
|
||||
<p>If you do not want to puzzle out how it works, see <a href="obfuscation.html">obfuscation.html</a>.</p>
|
||||
<!--
|
||||
|
||||
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
|
||||
@@ -567,16 +567,16 @@ This allows for a convenient test suite:</p>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/burton/test32.out">test32.out</a> - test suite comparison data for 32-bit systems</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/burton/test.in">test.in</a> - test suite input data</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/burton/test.out">test.out</a> - test suite comparison data</li>
|
||||
<li><a href="deobfuscation.html">deobfuscation.html</a> - Deobfuscation information web page</li>
|
||||
<li><a href="obfuscation.html">obfuscation.html</a> - obfuscation information web page</li>
|
||||
<li><a href="src.doc.txt">src.doc.txt</a> - hints about the source code</li>
|
||||
</ul>
|
||||
<h2 id="secondary-files">Secondary files</h2>
|
||||
<ul>
|
||||
<li><a href="2015_burton.tar.bz2">2015_burton.tar.bz2</a> - download entry tarball</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/burton/README.md">README.md</a> - markdown source for this web page</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/burton/deobfuscation.md">deobfuscation.md</a> - markdown source for deobfuscation.html</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/burton/.entry.json">.entry.json</a> - entry summary and manifest in JSON</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/burton/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/burton/obfuscation.md">obfuscation.md</a> - markdown source for obfuscation.html</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/burton/.path">.path</a> - directory path from top level directory</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/burton/road.to.obscurity.md">road.to.obscurity.md</a> - markdown source for road.to.obscurity.html</li>
|
||||
<li><a href="index.html">index.html</a> - this web page</li>
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<title>The International Obfuscated C Code Contest</title>
|
||||
<link rel="icon" type="image/x-icon" href="../../favicon.ico">
|
||||
<meta name="description" content="deobfuscation.md for 2015/burton">
|
||||
<meta name="keywords" content="IOCCC, 2015/burton, deobfuscation.md">
|
||||
<meta name="description" content="obfuscation.md for 2015/burton">
|
||||
<meta name="keywords" content="IOCCC, 2015/burton, obfuscation.md">
|
||||
</head>
|
||||
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
@@ -26,13 +26,13 @@
|
||||
|
||||
<!-- -->
|
||||
<!-- This web page was formed via the tool: bin/gen-other-html.sh -->
|
||||
<!-- The content of main section of this web page came from: 2015/burton/deobfuscation.md -->
|
||||
<!-- The content of main section of this web page came from: 2015/burton/obfuscation.md -->
|
||||
<!-- -->
|
||||
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 2015/burton/deobfuscation.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 2015/burton/deobfuscation.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 2015/burton/deobfuscation.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 2015/burton/obfuscation.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 2015/burton/obfuscation.md !!! -->
|
||||
<!-- !!! Do not modify this web page, instead modify the file: 2015/burton/obfuscation.md !!! -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
|
||||
<!-- Markdown content was converted into HTML via the tool: bin/md2html.sh -->
|
||||
@@ -363,7 +363,7 @@
|
||||
height=110>
|
||||
</a>
|
||||
<h1>The International Obfuscated C Code Contest</h1>
|
||||
<h2>deobfuscation.html for 2015/burton</h2>
|
||||
<h2>obfuscation.html for 2015/burton</h2>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/header.default.html -->
|
||||
@@ -371,7 +371,7 @@
|
||||
|
||||
<div class="navbar">
|
||||
<a class="Left" href="index.html">↑ jump to index.html ↑</a>
|
||||
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2015%2Fburton%2Fdeobfuscation.html">✓</a>
|
||||
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2015%2Fburton%2Fobfuscation.html">✓</a>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/navbar.up2index.html -->
|
||||
@@ -382,7 +382,7 @@
|
||||
<!-- END: this line ends content from: inc/before-content.default.html -->
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<!-- BEFORE: 1st line of markdown file: 2015/burton/deobfuscation.md -->
|
||||
<!-- BEFORE: 1st line of markdown file: 2015/burton/obfuscation.md -->
|
||||
<h3 id="deobfuscation">Deobfuscation</h3>
|
||||
<p><code>calc</code> is a recursive-descent parser. It allocates from the stack deep enough
|
||||
that all expressions are exhausted before the recursion stack depth reaches the
|
||||
@@ -428,7 +428,7 @@ obfuscation, and remarkably effective.</p>
|
||||
https://creativecommons.org/licenses/by-sa/4.0/
|
||||
|
||||
-->
|
||||
<!-- AFTER: last line of markdown file: 2015/burton/deobfuscation.md -->
|
||||
<!-- AFTER: last line of markdown file: 2015/burton/obfuscation.md -->
|
||||
|
||||
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
<!-- START: this line starts content from: inc/after-content.default.html -->
|
||||
@@ -488,7 +488,7 @@ obfuscation, and remarkably effective.</p>
|
||||
|
||||
<div id="coda"><h3>Coda</h3>
|
||||
<p>
|
||||
<a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2015%2Fburton%2Fdeobfuscation.html" rel="nofollow">Nu HTML check this web page</a><br>
|
||||
<a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fioccc-src.github.io%2Ftemp-test-ioccc%2F2015%2Fburton%2Fobfuscation.html" rel="nofollow">Nu HTML check this web page</a><br>
|
||||
<a href="#top">Jump to top</a> <a href="#content">Jump to Content</a>
|
||||
</p>
|
||||
</div>
|
||||
File renamed without changes.
Loaded 100 of 193 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user