I succesfully recovered all of my files from a broken hard drive, and found a old 2008 crackme done by a friend (where are you now ?).
But it's not a usual crackme... a brainf*ck one.
In case you didn't know, Brainfuck is one of those turing complete languages that has no apparent use in the real world.
But hey, being very very simple with a limited grammar, writing an interpreter should be easy.
I've already see a BF interpreter written entirely in standard LOLCode
crackme.bf ~
>++++++++[->++++++++<]>++.++++.<++++++[->------<]>--.<+++++++[->+++++<]>.<++++++
+[->++++++<]>+++++.<++++[->----<]>-.++.++++++++.<++++++[->-----<]>.<++++++[->+
+++<]>.<++++++++[->--------<]>-----.+++.++++++++++++++.<++++++[->------<]>---.<+
+++++++[->+++++++<]>+.<+++++++[->++++++<]>+++++.-------------.----.<++++[->+++
+<]>+++.<+++++[->---<]>.-.<++++++++[->--------<]>----.<++++++[->+++++<]>++++.<++
+++++[->+++++++<]>++++++.<+++++++++[->-------<]>.<+++++[->-----<]>-.<++++++[->++
++++<]>++++.<+++++++[->+++++++<]>.---------.-----------.+++++++++++++.------.---
.++++++++++.--------.<++++++++++[->---------<]>-------..<+++++++++[->++++++++<]>
+++++.<++++[->++++<]>+.-------.<++++[->++++<]>+++.<+++++++++[->---------<]>---.<
+++++++++[->++++++++<]>+.++++++++++.<+++++++++[->---------<]>--.<+++++++++[->+++
++++++<]>+++.------------.---.<++++++++[->--------<]>-----.<++++++++++[->+++++++
+<]>.<+++++[->---<]>.<++++[->++++<]>++..++++.--------.+++.--------------.<++++++
[->------<]>-.<+++++++[->-------<]>----.[<]>[-]>[-]>>>>>>>>>>>+<<<<<<<<<<<++++++
+++[-<++++++++>]>[-]+++++++++++[-<+++++++++++>]>[-]+++++++++++[-<++++++++++>
]<++>>[-]++++++++++[-<++++++++++>]<+>>[-]+++++++++++[-<++++++++++>]<++++>>[-],--
--------[++++++++++>,----------]<<[<]>[[-<<<<<<->>>>>>]<<<<<<[+[>]>-<]>+[-<]<[<]
>>>>>>>>]>-[[-]>[-]<+++++++++[->+++++++++<]>++.<+++++[->+++++<]>+++.+++..+++++++
.<+++++++++[->--------<]>-----.------------.<+++++++++[->+++++++++<]>++++++++.--
--------.++++++.<+++++++++[->---------<]>----.<++++++++[->++++++++<]>++++.+++++.
-----.++++++++++.<++++++++[->--------<]>-------.<+++++++++[->++++++++<]>+++++.<+
++++++++[->---------<]>---.<++++++++[->++++++++<]>+++++++.--.<+++++[->+++<]>.<++
+++++++[->---------<]>---.<+++++++++[->++++++++<]>+.+++++++++++.<++++++++[->----
----<]>------...--------------.<+++++++[->++++++<]>+.<+++++[->+++++<]>+..+++++++
++++.<++++++++++[->--------<]>.<+++++++++[->+++++++++<]>+++.--.+++++++.<++++[->-
---<]>.+++++.-------.<++++++++[->--------<]>------.<[-]>[-]+<]>-[[-]>[-]<+++++++
+[->++++++++<]>+++.<+++++++[->++++++<]>++.-.-------.+++++++++++.<++++[->----<]>-
.<++++[->++++<]>+++.++++++.<+++++++++[->---------<]>--------.-.<++++++++[->+++++
++<]>+.<+++++[->++++<]>++.++++++.<+++++++++[->---------<]>----.<++++++++[->+++++
+++<]>+++++++.++++++++.+++++.<+++++++++[->---------<]>---.<+++++++++[->++++++++<
]>+.+++++++++++.<+++++++++[->---------<]>--.<][-]>[-]++++++++++..<++++++++[->+++
+++++<]>++++++.<++++++[->+++++<]>++++.-------------.++++++++++++++..<+++++++++[-
>---------<]>--.<++++++++[->++++++++<]>+.+++++++++++++.+++++++++++.<+++++++++[->
---------<]>--------.<+++++++++[->++++++++<]>+++.------.<+++++[->++++<]>.<++++++
+++[->---------<]>--------.<+++++++++[->+++++++++<]>+++.-----.<+++++++++[->-----
---<]>-------.<++++++++[->++++++++<]>+++.++++++++++++.-.++++++.-----------.+++++
.+++++++.<++++[->----<]>.<+++++++[->-------<]>------...<,
You can convert BF code to C like code without much effort, 'Hyper' is serial.
(Try this: http://www.iwriteiam.nl/Ha_bf_online.html)
Use (or code) your own BF debugger with a memory view can also be a solution instead of learning the language.
Learn more about BF ~
> | Move the pointer to the right |
< | Move the pointer to the left |
+ | Increment the memory cell under the pointer |
- | Decrement the memory cell under the pointer |
. | Output the character signified by the cell at the pointer |
, | Input a character and store it in the cell at the pointer |
[ | Jump past the matching ] if the cell under the pointer is 0 |
] | Jump back to the matching [ if the cell under the pointer is nonzer |
Brainfuck Developer (IDE): http://4mhz.de/bfdev.html
Brainfuck archive: http://esoteric.sange.fi/brainfuck/
bf2c (a BF to C translator): http://code.google.com/p/junkdrawer/downloads/list
Sakura Card Captor image (I know the author of this crackme will like it) :
No comments:
Post a Comment