C++
0x41 - (weekly) exploitation matters - Vista Heap, scripting debuggers with debug libs and how to learn to use that knowledge
The hardended heap
What a long headline...
The attack surfaces of modern NT 6 systems shifted. Nowadays there's no generic way to bypass heap protection mechanisms. There're many requirements to meet to exploit vulnerabilities with current approaches. In the following this is a about attacking heap data (application specific) and not heap metadata (generic).
The Heap and its Memory API
x86 differently: VINE and LLVM-klee
The power of intermediate languages

That's a Pentium I form 1993... and it grows more complex since these days.
x86 for RCE isn't that kewl: you've to cope with CISC, mostly more than 7 general purpose registers, complex memory access operands, flags, condition codes, specific model registers... Even if you know your stuff it's not desirable to spend a hell lot of time reading and hacking x86 while other people have relationships and party hard.
Stack is protected: so we don't need secure coding?
Do anti-exploitation strategies displace secure programming?

Rumors say you were able to change the color from blue to red.
About stack-smashing, stack-protections and fun-stuff

"If you don't check inputs you'll code in EWOK in future!"
Stack based frame-pointer overwrites
JAE AE - just another essay about exploits. - Literature as a great variety of books covering these exploitation schematics. Some miss the howto-factor to really do it. Others are simply outdated. (The linked ones are awesome.)
MacOS Software Auditing - some ways

Apple developers left doors open. Threats come out.
About the idea
Currently I'm doing some research on vulnerability discovery techniques, speaking of black-boxing, white-boxing and yes... gray boxing, too. These are general code-review techniques for source-code auditing, automated function-auditing and formal software verification.
Valgrind on MacOS X Leopard
No Linux required
Since quite a while I intended to have a look at Valgrind to have some real fun with C, without having to assume where the errors are. Valgrind has been recommended by many very experienced people to me as "the solution". Nevertheless I didn't want a Linux VM. Even with Portable Ubuntu this sucks.

