Commit graph

18 commits

Author SHA1 Message Date
Jack Palevich
2230513fc0 Add stub Arm code generator. 2009-05-13 10:58:45 -07:00
Jack Palevich
bf42c9c163 Move all x86-specific knowlege into the X86CodeGenerator. 2009-05-12 13:46:16 -07:00
Jack Palevich
21a15a2416 Various C++ improvements
+ Changed indentation, causes the stats to say there's a lot of lines changed.
+ Should be able to compile multiple times with the same compiler object.
+ Create a CodeBuffer class to hold the code.
+ Create a CodeGenerator class to encapsulate knowlege of the CPU instruction set.
+ Started filling in the code generator.
2009-05-11 18:49:27 -07:00
Frabrice Bellard
a96930572c Document acc language features.
Original text from http://www.ioccc.org/2001/bellard.hint
2009-05-11 14:51:47 -07:00
Jack Palevich
bbf8ab504a Added command-line option "-t" to allow run-time switching between running and dumping.
Fixed some C++ warnings reported by g++ .
Verified that the compiler actually works when run on 32-bit Linux.
2009-05-11 11:54:30 -07:00
Jack Palevich
77ae76eea9 converted to C++
Base address of constant table changed, so had to update the "-orig" files.
2009-05-10 19:59:24 -07:00
Jack Palevich
f6b5a531d8 Remove all gcc warnings. 2009-05-10 19:16:42 -07:00
Jack Palevich
e27bf3eb29 Replace acc.c with the contents of otccn.c, update tests.
We are no longer checking if the constant data is the same, just the
generated code.
2009-05-10 14:09:03 -07:00
Fabrice Bellard
16134598fb Original version of otccn.c from http://bellard.org/otcc/otccn.c 2009-05-10 14:01:59 -07:00
Jack Palevich
431055cc9b More deobfuscation. 2009-05-08 20:30:47 -07:00
Jack Palevich
7448a2ebb7 Converted code constants from decimal to hexidecimal. 2009-05-08 20:30:47 -07:00
Jack Palevich
f0cbc92fc0 More unobfuscation. 2009-05-08 20:30:47 -07:00
Jack Palevich
50791f5466 Make our global variables static. 2009-05-08 20:30:47 -07:00
Jack Palevich
d160530a58 Got rid of all warnings. (Yeah, right.) 2009-05-08 20:30:47 -07:00
Jack Palevich
f54db02e5d Add a simple regression test framework. 2009-05-08 20:30:47 -07:00
Jack Palevich
ae54f1fba8 Continue deobfuscation.
Add a license.

Indent the code.
Add includes for external functions.
Improve function prototypes.
Start adding the correct type to things that are pointers.
Start fixing compiler warnings.

Instead of directly executing the compiled code (which only works on x86 Linux),
write the internal compiler state to stdout. This makes it easier to test whether
or not our refactoring is breaking anything.

Return a zero status on success.

Add error checking for a missing input file.
2009-05-08 20:30:47 -07:00
Jack Palevich
883114867a Start de-obfuscation process. 2009-05-08 20:30:47 -07:00
Fabrice Bellard
38aa39a200 Original freeware Obfuscated Tiny C Compiler.
From http://bellard.org/otcc/otcc.c

License from http://bellard.org/otcc:

The obfuscated OTCC and OTCCELF are freeware.
2009-05-08 20:30:47 -07:00