Globalcode – Open4education
Trilha – SegurançaWanderley Caloni
Sócio-Desenvolvedor da
Globalcode – Open4education
Como Não Desenvolver Pôquer Online ou Como Explorar a Pseudo-
Aleatoriedade
Globalcode – Open4education
Quem sou eu? OMG!
Segurança da InformaçãoSistema de Controle de Usuários e Aplicações
Criptografia de Discos
Globalcode – Open4education
Quem sou eu? OMG!
Análise de TrojansEngenharia Reversa
Crash Dump Analysis
Globalcode – Open4education
Quem sou eu? OMG!
Mercado FinanceiroAlto Desempenho
Análise de Risco
Globalcode – Open4education
Quem sou eu? OMG!
Mercado FinanceiroAlto Desempenho
Análise de Risco
Algoritmos
Cotações
Mobile
Globalcode – Open4education
Quem sou eu? OMG!
Globalcode – Open4education
Quem sou eu? OMG!
Globalcode – Open4education
Quem sou eu? OMG!
Globalcode – Open4education
Pôquer Online
Globalcode – Open4education
Pôquer Online
Globalcode – Open4education
Explicar regras básicas
Globalcode – Open4education
Explicar regras básicas
Número de cartas: 52Combinações: 52! = 8x1067
Globalcode – Open4education
Explicar regras básicas
Globalcode – Open4education
Explicar regras básicas
Globalcode – Open4education
Explicar regras básicas
Globalcode – Open4education
Explicar regras básicas
Globalcode – Open4education
Chupinhado Inspirado por:
Globalcode – Open4education
Chupinhado Inspirado por:
LAURA HAMILTON
Globalcode – Open4education
Chupinhado Inspirado por:
http://www.lauradhamilton.com/random-lessons-online-poker-exploit
Globalcode – Open4education
Google Code Jam 2014
https://code.google.com/codejam/contest/2984486/dashboard#s=p2
http://www.caloni.com.br/blog/archives/poker-face
Globalcode – Open4education
Embaralhamento
Globalcode – Open4education
Embaralhamento
Globalcode – Open4education
Embaralhamento
Globalcode – Open4education
Embaralhamento
Globalcode – Open4education
Caso Real
Globalcode – Open4education
Caso Real
Falha #1: errando por um
Falha #2: não-uniforme
Falha #3: semente de 32 bits
Falha #4: relógio-semente
Globalcode – Open4education
#1: errando por um
Globalcode – Open4education
#2: não-uniforme
Globalcode – Open4education
#3: semente de 32 bits
Globalcode – Open4education
#3: semente de 32 bits
rand
Globalcode – Open4education
#3: semente de 32 bits
x
y
z
...
x
y
z
...
x
y
z
...
x
y
z
...
x
y
z
...
srand
Globalcode – Open4education
#4: relógio-semente
Globalcode – Open4education
#4: relógio-semente
Globalcode – Open4education
Exploit
Rand()
Globalcode – Open4education
Exploit
Rand()
Globalcode – Open4education
Exploit
Rand()
Globalcode – Open4education
Exploit
Rand()
?
...
11:40
11:41
11:42
11:43
Globalcode – Open4education
Exploit
Rand()
?
...
11:40
11:41
11:42
11:43
Globalcode – Open4education
Exploit
Rand()
?
...
11:40
11:41
11:42
11:43
Globalcode – Open4education
And in the end....
Perguntas? Eu tenho várias.
saite
Globalcode – Open4education
And in the end....
.com.br