Update 2004/sds

Updated try section (updated .gitignore for this).

Updated Makefile to let encoder.c compile (that's the generated file)
via make.

Format fixes and typo fixes.

Add INABIAF to bugs.md and the README.md file about this entry (the
generated code).
This commit is contained in:
Cody Boone Ferguson committed 2023-04-17 09:56:58 -07:00
1 parent 421a8ccbe7
commit a4bcedf6c3
4 files changed
+40 -9

No files matched your search

+3
View File
@@ -1 +1,4 @@
sds
encoder
encoder.c
message
+1 -1
View File
@@ -61,7 +61,7 @@ CDEFINE=
# Include files that are needed to compile
#
CINCLUDE=
CINCLUDE= -include stdlib.h
# Optimization
#
+27 -6
View File
@@ -24,9 +24,28 @@ make
```sh
./sds < sds.c > encoder.c
make encoder
./encoder sds.hint <sds.c >sds_msg.c
./encoder README.md <sds.c >sds_msg.c
make sds_msg
./sds_msg < sds.c > sds2_msg.c
diff sds2_msg.c encoder.c
```
Also try:
```sh
echo 'Hello, World!' > message
./encoder message < README.md > remarks.md
diff remarks.md README.md # notice how similar they are
# and then observe:
./sds < remarks.md
```
### INABIAF - it's not a bug it's a feature! :-)
The generated code will very likely crash or do something else if not given a
proper command line. This is not a bug but a feature.
## Judges' remarks:
Why not use the program to hide another program in the program? It
@@ -97,14 +116,16 @@ changed inside strings where it should be left alone. Plain text
files are good candidates for hiding information in, but the added
spacing may render the text somewhat difficult to read.
### Obfuscation
This program is obfuscated in a number of ways:
* The code is all but impossible to read due to the spacing
* The algorithm is well hidden in the code due to copious red-herrings
* The long expressions cause indentation tools to give poor results
* And good old fashioned ternery operators are the icing on the cake
* The code is all but impossible to read due to the spacing.
* The algorithm is well hidden in the code due to copious red-herrings.
* The long expressions cause indentation tools to give poor results.
* And good old fashioned ternary operators are the icing on the cake.
Compiling the program
### Compiling the program
The program (and the encoder program) should compile on any
reasonable compiler. In particular, they are known to compile under