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:
1 parent
421a8ccbe7
commit
a4bcedf6c3
4 files changed
+40
-9
No files matched your search
@@ -1 +1,4 @@
|
||||
sds
|
||||
encoder
|
||||
encoder.c
|
||||
message
|
||||
+1
-1
@@ -61,7 +61,7 @@ CDEFINE=
|
||||
|
||||
# Include files that are needed to compile
|
||||
#
|
||||
CINCLUDE=
|
||||
CINCLUDE= -include stdlib.h
|
||||
|
||||
# Optimization
|
||||
#
|
||||
|
||||
+27
-6
@@ -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
|
||||
|
||||
Reference in new issue
Block a user