Главная
Study mode:
on
1
Intro
2
Reverse engineering
3
What is Obfuscation?
4
Without templates
5
With C++ templates
6
Type safety
7
Optimisation based on types
8
C++ metaprogramming
9
Strings literals obfuscation
10
1st implementation - Problem
11
2nd implementation - Usage
12
rd implementation
13
Generating (pseudo-) random numbers
14
Seed
15
th implementation
16
Without obfuscation
17
Application 2 - Obfuscate calls
18
Finite State Machine (simple example)
19
Boost Meta State Machine (MSM) library
20
FSM + Debugger Detection
21
More obfuscation
22
Predicate
23
Compilers support
24
White paper
Description:
Explore advanced C++11 metaprogramming techniques applied to software obfuscation in this Black Hat conference talk. Delve into the Turing-complete sub-language of C++ executed at compile time, and learn how to generate obfuscated code without external tools or compiler modifications. Discover methods for introducing randomness to create polymorphic code, with practical examples including string literal encryption and call obfuscation using finite state machines. Gain insights into type safety, optimization based on types, and the generation of pseudo-random numbers at compile time. Examine various implementations, including debugger detection and predicate-based obfuscation, while considering compiler support and real-world applications.

C++11 Metaprogramming Applied to Software Obfuscation

Black Hat
Add to list
0:00 / 0:00