Author:
- Name: Anthony C. Howe
Location: CA - Canada
To build:
make
The author provided us with an unobfuscated version. There is also a version
that scans (ONLY scans) the string https
as a starting point in case
anyone wishes to add support or come up with a pipeline to make it work with
https, as many websites no longer work with http
. See Alternate
code below.
Bugs and (Mis)features:
The current status of this entry is:
STATUS: INABIAF - please DO NOT fix
For more detailed information see 2005/mynx in bugs.html.
To use:
./mynx http://<domain>
You can specify a port by appending to the domain :port
. See notes below on
the issue of https.
Try:
./mynx http://www.textfiles.com
./mynx manual.html
Alternate code:
The author’s provided unobfuscated code, mynx.alt.c can be compiled and evaluated if you wish to not try and decipher the original entry.
The other version, mynx.alt2.c is a
starting point for anyone who wishes to come up with a version (or pipeline)
that works with https
.
Obviously this will not work with https
so easily as it only scans for http
in the URL (if not specified it tries to open it as a local file). But even
though it scans for https
one would need to do more work as it would have to
set up a secure connection before http commands could be sent. Fortunately or
unfortunately many more websites use https so this entry will not work as well
as it used to. If one were to now (2024) try and connect to https://ioccc.org
with this entry they’ll just get a 301 error.
This alternate code is a starting point that scans for https
too (note you
have to specify the port in this case) but that is all it does. It will not work
with https websites as it stands as it does not set up a secure connection. But
should anyone wish to either come up with a pipeline (or some other command
line) that allows it to work with https or to update the code to support https
they may. Otherwise you must just appreciate the entry for what it once was.
Alternate build:
make alt
Alternate use:
Use mynx.alt
as you would mynx
.
For the version that also scans for https
you’ll have to specify a port at the
end of the URL like:
./mynx.alt2 https://www.ioccc.org:443
but again unless you have a clever workaround or hack to the problem, this sadly won’t work.
Judges’ remarks:
This little mynx
will give any Fiery
Fox a run for its money. A nice
complement to last years winning 2004/hibachi. The
judges double dare any eager Obfuscationalists to submit the missing pieces to
get a functioning LAMP stack.
Author’s remarks:
I was rather impressed by last year’s mini webserver. So much so that it inspired me to try my hand at writing the client side complement.
A typical build command would be:
cc -o mynx mynx.c
While some others like to be a little different:
cc -o mynx mynx.c -lnsl -lsocket
I even managed to figure out a basic configure script, given last year’s example, which is kinda of useful when you consider how many OSes put all the network functions in a variety of places. So a simpler build command sequence would be:
cd source ; ./configure ; make
After which, the rest of the documentation can be read by saying:
./mynx ../manual.html
Inventory for 2005/mynx
Primary files
- mynx.c - entry source code
- Makefile - entry Makefile
- mynx.alt2.c - alternate source code
- mynx.alt.c - author provided unobfuscated code
- mynx.orig.c - original source code
- manual.html - manual for the Mynx web browser
- entities.txt - ISO 8859-1 entitles
- source-alt/transform.sed - sed(1) script for building unobfuscated code
- source-alt/configure - pre-built configure script for unobfuscated code
- source-alt/configure.in - GNU Autoconf script for unobfuscated code
- source-alt/makefile.in - GNU Automake script for unobfuscated code
- source/configure - pre-built configure script
- source/configure.in - GNU Autoconf script
- source/makefile.in - GNU Automake script
Secondary files
- 2005_mynx.tar.bz2 - download entry tarball
- README.md - markdown source for this web page
- .entry.json - entry summary and manifest in JSON
- .gitignore - list of files that should not be committed under git
- .path - directory path from top level directory
- source/mynx.c - copy of the entry source code
- index.html - this web page