Course project to insert a backdoor into an open source compiler (Ken Thompson’s Reflections on Trusting Trust)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
0-original
1-login-backdoor
2-compiler-backdoor
3-compiler-bootstrap
4-release
common-inc
self-print
slides
tcc-orig-bin
README.md

README.md

给开源编译器插入后门

Ken Thompson’s Reflections on Trusting Trust

December 19, 2012

《黑客反汇编入门》课程作业

Appears on LUG 每周小聚, 2012-12-22

  • 0-original: Original sulogin code, in sulogin.c
  • 1-login-backdoor: Modified sulogin code, in sulogin.c
  • 2-compiler-backdoor: TCC compiler to insert backdoor to sulogin during compilation, in tinycc/tccpp.c. The sulogin code in this folder is the original version.
  • self-print: self-printing C program, in hello.c
  • 3-compiler-bootstrap: TCC compiler to self-replicate backdoor, in tinycc/tccpp.c. The sulogin code is the original version. It would put the evil binary in 4-release folder.
  • 4-release: Only the TCC binary is evil, all source code (TCC and sulogin) is the original version. It bootstraps!

Type "make" in each subfolder to build the binary. 3-compiler-bootstrap should be built before 4-release.