CFuck
Jump to navigation
Jump to search
CFuck is, like its name, a C extension to brainfuck. It is invented by User:None1.
Data structure
It also has a byte queue.
Commands
All the original commands are the same, but there are extra commands:
Command | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
* |
Push a byte (current cell) onto the queue | ||||||||||||
% |
Pop a byte and store it in current cell | ||||||||||||
@"DllName"FunctionName(arguments)ReturnType |
This command is very complicated, it first loads DllName and gets the function FunctionName, then it passes the arguments to the function, then it treats the return value as ReturnType and breaks it into bytes and pushes it onto the queue.
For instance, if queue contains |
Examples
Wait for a key
@"msvcrt.dll"getch()v
Wait for a key and print it
@"msvcrt.dll"getch()b%.
Message box
********++++++++[>++++++++<-]>+***>*<***>*****@"user32.dll"MessageBoxA(Lssi)v
It creates a message box with its title and content both AAA
.