diff --git a/2012/2012.tar.bz2 b/2012/2012.tar.bz2
index 6f1f64674..864c47f39 100644
Binary files a/2012/2012.tar.bz2 and b/2012/2012.tar.bz2 differ
diff --git a/2012/omoikane/2012_omoikane.tar.bz2 b/2012/omoikane/2012_omoikane.tar.bz2
index a57ba90e5..215aa7d45 100644
Binary files a/2012/omoikane/2012_omoikane.tar.bz2 and b/2012/omoikane/2012_omoikane.tar.bz2 differ
diff --git a/2012/omoikane/index.html b/2012/omoikane/index.html
index 2c10c4260..a4bf99c3c 100644
--- a/2012/omoikane/index.html
+++ b/2012/omoikane/index.html
@@ -447,9 +447,7 @@ Location: US - United States of America
There is an alternate version that will read from the compiled file itself, in
-case you don’t have a To build:
make/dev/urandom file. There is also a version that should
-theoretically work with Windows which distinguishes binary and text. See
-alternate code below./dev/urandom file.
./nyaruko [seed.txt] < original.bin > output.c
bash output.c > key.c
@@ -470,20 +468,14 @@ perl parts of the script.
The alternate version will, if no file is specified, read in the compiled binary
itself rather than trying to open /dev/urandom, which is the default for the
original entry. This is useful if your system does not have a /dev/urandom
-file and you do not want to specify an extra file. The second alternate version
-is like the first except it also should theoretically work with Windows, setting
-binary mode on stdin and stdout.
+file and you do not want to specify an extra file.
Alternate build:
-For the first version:
make alt
-For the second version:
- make alt2
Alternate use:
-Use nyaruko.alt or nyaruko.alt2 as you would nyaruko above.
+Use nyaruko.alt as you would nyaruko above.
Alternate try:
For the first alternate version:
./try.alt.sh
-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
obfuscation.html (requires JavaScript) file! :-)
@@ -565,7 +557,13 @@ combinations:
tcc 0.9.25 on JSLinux
Note that on MingW, stdin and stdout are not opened in binary mode by
-default, this means Nyaruko may not faithfully encode files on MingW.
+default, this means Nyaruko may not faithfully reproduce files on MingW.
+As a workaround, a binmode_main.h is included, so it’s possible to produce
+an encoder that’s binary-clean like this:
+ x86_64-w64-mingw32-gcc -include binmode_main.h nyaruko.c -o nyaruko.exe
+The C code produced by the encoder will need to be compiled with the same
+-include binmode_main.h hack if you want its output to faithfully reproduce
+the original binary input.
NOTICE to those who wish for a greater challenge:
If you want a greater challenge, don’t read any further:
just try to understand the program via the source.
@@ -600,12 +598,12 @@ JavaScript.
Primary files
- Makefile - entry Makefile
-- omoikane.alt2.c - second alternate source code
- omoikane.alt.c - alternate source code
- omoikane.orig.c - original source code
- omoikane.c - entry source code
- try.alt.sh - script to try alternate code
- try.sh - script to try entry
+- binmode_main.h - Preprocessor hack to set binary mode
- obfuscation.html - JavaScript page with full recording of development
Secondary files
diff --git a/sitemap.xml b/sitemap.xml
index 3d946c94f..d52b94c17 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1086,7 +1086,7 @@
https://www.ioccc.org/1989/1989.tar.bz2
- 2025-04-16T20:59:19+00:00
+ 2025-05-13T23:35:04+00:00
https://www.ioccc.org/1989/fubar/1989_fubar.tar.bz2
@@ -1330,7 +1330,7 @@
https://www.ioccc.org/1989/tromp/1989_tromp.tar.bz2
- 2025-04-16T20:59:19+00:00
+ 2025-05-13T23:34:37+00:00
https://www.ioccc.org/1989/tromp/index.html
@@ -5770,11 +5770,11 @@
https://www.ioccc.org/2004/arachnid/arachnid.alt.c
- 2025-01-10T06:06:38+00:00
+ 2025-05-15T19:18:07+00:00
https://www.ioccc.org/2004/arachnid/arachnid.c
- 2025-01-10T06:06:38+00:00
+ 2025-05-15T19:18:07+00:00
https://www.ioccc.org/2004/arachnid/arachnid.orig.c
@@ -5790,7 +5790,7 @@
https://www.ioccc.org/2004/arachnid/Makefile
- 2025-01-10T06:06:38+00:00
+ 2025-05-15T19:18:07+00:00
https://www.ioccc.org/2004/arachnid/README.md
@@ -8642,7 +8642,7 @@
https://www.ioccc.org/2012/2012.tar.bz2
- 2025-04-16T20:59:19+00:00
+ 2025-05-16T04:08:57+00:00
https://www.ioccc.org/2012/blakely/2012_blakely.tar.bz2
@@ -9134,27 +9134,27 @@
https://www.ioccc.org/2012/omoikane/2012_omoikane.tar.bz2
- 2025-04-16T20:59:19+00:00
+ 2025-05-16T04:08:42+00:00
+
+
+ https://www.ioccc.org/2012/omoikane/binmode_main.h
+ 2025-05-16T03:59:13+00:00
https://www.ioccc.org/2012/omoikane/index.html
- 2025-03-02T21:52:38+00:00
+ 2025-05-16T04:02:31+00:00
https://www.ioccc.org/2012/omoikane/Makefile
- 2025-01-10T06:06:39+00:00
+ 2025-05-16T03:59:13+00:00
https://www.ioccc.org/2012/omoikane/obfuscation.html
2025-01-10T06:06:39+00:00
-
- https://www.ioccc.org/2012/omoikane/omoikane.alt2.c
- 2025-01-10T06:06:39+00:00
-
https://www.ioccc.org/2012/omoikane/omoikane.alt.c
- 2025-01-10T06:06:39+00:00
+ 2025-05-16T03:59:13+00:00
https://www.ioccc.org/2012/omoikane/omoikane.c
@@ -9166,7 +9166,7 @@
https://www.ioccc.org/2012/omoikane/README.md
- 2025-03-02T21:47:45+00:00
+ 2025-05-16T03:59:13+00:00
https://www.ioccc.org/2012/omoikane/try.alt.sh
@@ -15226,7 +15226,7 @@
https://www.ioccc.org/bin/cvt-submission.sh
- 2025-05-13T21:27:13+00:00
+ 2025-05-15T20:06:07+00:00
https://www.ioccc.org/bin/entry2csv.sh
@@ -15438,11 +15438,11 @@
https://www.ioccc.org/faq.html
- 2025-04-16T20:59:19+00:00
+ 2025-05-16T03:58:56+00:00
https://www.ioccc.org/faq.md
- 2025-04-16T20:59:19+00:00
+ 2025-05-16T03:58:56+00:00
https://www.ioccc.org/inc/index.html
@@ -15598,7 +15598,7 @@
https://www.ioccc.org/status.html
- 2025-05-13T23:30:11+00:00
+ 2025-05-16T04:11:41+00:00
https://www.ioccc.org/status.json
@@ -15610,11 +15610,11 @@
https://www.ioccc.org/thanks-for-help.html
- 2025-05-13T23:23:19+00:00
+ 2025-05-16T04:11:40+00:00
https://www.ioccc.org/thanks-for-help.md
- 2025-05-13T23:23:05+00:00
+ 2025-05-16T04:11:08+00:00
https://www.ioccc.org/var.mk
diff --git a/thanks-for-help.html b/thanks-for-help.html
index a54a1dd21..e5d5a2dee 100644
--- a/thanks-for-help.html
+++ b/thanks-for-help.html
@@ -4066,21 +4066,6 @@ this!
Jump to: top
-
-Winning entry: 2012/omoikane
-Winning entry source code: omoikane.c
-
-Cody added the alternate
-versions which will, if no arg is
-specified, read in the program itself, rather than /dev/urandom. This is
-mostly useful for those without a /dev/urandom device file, which the author
-pointed out as being a problem, but which is the default for the entry . The
-second alternate version is like the first except that it also sets binary mode
-on stdin and stdout which should theoretically make it work in Windows. This
-comes from the author’s remarks.
-Cody also added the try.sh and
-try.alt.sh scripts.
-Jump to: top
Winning entry: 2012/tromp
Winning entry source code: tromp.c
diff --git a/thanks-for-help.md b/thanks-for-help.md
index 4f7505b59..524d1f754 100644
--- a/thanks-for-help.md
+++ b/thanks-for-help.md
@@ -5407,27 +5407,6 @@ Jump to: [top](#)
Jump to: [top](#)
-
-## Winning entry: [2012/omoikane](2012/omoikane/index.html)
-### Winning entry source code: [omoikane.c](%%REPO_URL%%/2012/omoikane//omoikane.c)
-
-
-[Cody](#cody) added the [alternate
-versions](2012/omoikane/index.html#alternate-code) which will, if no arg is
-specified, read in the program itself, rather than `/dev/urandom`. This is
-mostly useful for those without a `/dev/urandom` device file, which the author
-pointed out as being a problem, but which is the default for the entry . The
-second alternate version is like the first except that it also sets binary mode
-on `stdin` and `stdout` which should theoretically make it work in Windows. This
-comes from the author's remarks.
-
-Cody also added the [try.sh](%%REPO_URL%%/2012/omoikane/try.sh) and
-[try.alt.sh](%%REPO_URL%%/2012/omoikane/try.alt.sh) scripts.
-
-
-Jump to: [top](#)
-
-
## Winning entry: [2012/tromp](2012/tromp/index.html)
### Winning entry source code: [tromp.c](%%REPO_URL%%/2012/tromp//tromp.c)