https://github.com/oglinuk/ken-thompsons-rott-quine
The original quine by Ken Thompson defined in his paper "Reflections on Trusting Trust".
https://github.com/oglinuk/ken-thompsons-rott-quine
c ken-thompson quine reflections-on-trusting-trust security
Last synced: 2 months ago
JSON representation
The original quine by Ken Thompson defined in his paper "Reflections on Trusting Trust".
- Host: GitHub
- URL: https://github.com/oglinuk/ken-thompsons-rott-quine
- Owner: oglinuk
- License: apache-2.0
- Created: 2021-12-28T08:00:25.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-12-28T09:10:22.000Z (almost 4 years ago)
- Last Synced: 2025-05-29T17:57:38.730Z (5 months ago)
- Topics: c, ken-thompson, quine, reflections-on-trusting-trust, security
- Language: C
- Homepage:
- Size: 206 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Ken Thompsons Quine in C
The original quine defined by Ken Thompson in his paper [Reflections on
Trusting Trust](rott.pdf). I've re-arranged `s` to be more human
readable, but will add an unchanged version.
## Example Usage
`./init simple`
`./init foobar`
`./init endless void`
## TODO
This is actually *not* the correct original implemetation as the paper
states `(213 lines deleted)`, which including the 11 visible characters,
means `s` is only 224 lines. The current implementation of `s` has 227
lines.
* [ ] Find 3 unnecessary lines in `s`
* [ ] Add more examples to `init` script