The famous “Duff’s device” in C makes use of the fact that a case statement is still legal within a sub-block of its matching switch statement. Tom Duff used this for an optimised output loop. Duff’s device is an optimized implementation of a serial copy that uses a technique widely applied in assembly language for loop unwinding. It is perhaps the most dramatic use of case label fall-through in the C programming language to date.
Recent Tweets
- Sorry for the delay for new content. I try to start adding new stuff until end of this month... Too much university at the moment.
- Sorting upcoming challenges....
- Exercises Splish 1 and Splish 2 solved... http://www.binary-auditing.com/2010/08/first-2-exercises-splish-1-and-splish-2-solved/
- Support forum opened now! Ask all your challenge and Binary Auditing relevant questions! http://reverse-engineering.net/viewforum.php?f=87
- Want to submit your solution? First 3 challenges available now at our Crackmes.de channel! http://crackmes.de/users/the_binary_auditor
- Video section disabled until I solve this YouTube shit... maybe tomorrow better luck
- YouTube sux... the videos get blurry and smaller in size... anyone any solution?
- What solution for community support? Forum vs. Help Desk vs. Bug Tracker?
- @darrenmeehan Yes, we try to offer seomething like this. Maybe we disable all the old exercises and start from beginning...
- Our plans for the future of The Binary Auditor. http://is.gd/eu3Gr
Tags
stack location
frame function
variable
array
alias
printf
mitigation
evaluation
table
unsigned char
Video
unsigned short int
arbitrary
architecture
mapping
news
cdecl
xm
64 bits
algorithm
File Format Exercise
caller clean-up
decompilation
RE-Google
microsoft
stack frame
argument
microsoft x64
exception
amd64
long double
pointer
case label
music
disassembler
esp
device
callee clean-up
toolkit
time shift
vectored
ASLR
variable argument
AMD64 ABI
arguments
signed long int
file format
faq
EMET
tom duff
floating point numbers
visual studio
define
youtube
obfuscation
BeaEngine
wchar_t
math
Solutions
veh
analysis
gcc
destructor
float
code functions
member function
double
Binary Auditing
signed short int
Google
return values
thunk
return address
structured exception handler
seh
shift
PeLib
plugin
parameters
keygen
IDA Pro
predicate
bool
dec/jnz
point values
arithmetic
pseudo code
mathematic
SEHOP
loader
equality
exception handler
COFF
operator
library
BeatriX
stack
header
compound
optimization
disasm
assembly language routines
assignment
modulo
calling convention
exercise
casting
exploitation
constructor
manual
binary pattern
signed int
intel 64
Splish 1
SAFESEH
registers
opaque
stack pointer
RVA
x64
section
exception handling
signed char
type cast
cleanup
entry sequence
import
constant
routine
relational
fastcall
PE
Splish 2
unwinding
assembly
unsigned long int
shadow space
faqs
win32 api
unsigned int
exit sequence
data structure
pattern
automatic variables
loop