En la cuenta de Twitter de Den Delimarsky se puede leer que la aplicación por falta de validacion de certificado es vulnerable a ser engañada mediante un proxy y con llamadas a la API es posible navegar en el mundo de pokemon go desde la comodidad del hogar y sin los peligros de ser atropellado en la calle.
Muy buen dia como saben en mi canal de youtube tengo tutoriales de programación en C el ultimo que hice es el juego de Piedra Pepel y Tijera algo sencillo pero usando una Tabla de Estados simulando la forma mas básica de un autómata.
Dejo el codigo no sin antes proponerles un reto y es el siguiente: Dado el código siguiente modificarlo para que el programa sea capaz de "aprender" del histórico de jugadas del usuario y asi sea capas de predecir la próxima jugada.
Este aprendizaje no debe de perderse (Por lo tanto se debe de poder guardar para ser cargados en Futuros juegos)
Código
/*
Realizado por Luis Alberto
Contacto
Twitter: @albertobsd
*/
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<stdbool.h>
//Constantes para las jugadas
#define PIEDRA 0
#define PAPEL 1
#define TIJERA 2
int main(){
int jugador =0, computadora =0;// Variables para la seleccion de los Jugadores (Usuario - Computadora)
char*jugadas[3]={"Piedra","Papel","Tijera"};//Cadenas para imprimir segun lo seleccionado por las variables Anteriores
/*
Exclusivamente para el resultado (Matriz bidimencional)
Columnas para la Computadora
Filas para el Jugador
Valores:
- 1 si el jugador Gana
- 0 si el jugador Empata
- 2 si el jugador Pierde
[0][P][G]
[G][0][P]
[P][G][0]
*/
int resultados[3][3]={{0,2,1},
{1,0,2},
{2,1,0}};
char*resultados_str[3]={"El jugador Empata","El Jugador Gana","El jugador Pierde"};// Cadenas con los resultados
bool entrar =true;//Variable para detener el ciclo
int opcion;//Opcion seleccionada
char temp[10];//Variable temporal para guardar la entrada desde el teclado
char*valor = NULL;//Puntero adicional usado por strtol
srand(time(NULL));// inicializar la semilla Pseudo-Aleatoria
do{
computadora =rand()%3;//Valor seleccionado por la computadora al azar
printf("Aprende a leer solo valores del 1 al 3 o la letra S mayuscula\n");
break;
}
}
else{//Si no es valor valido posiblemente sea una S
//printf("Elijio %.2x\n",valor[0]);
if(temp[0]=='S'){//Si es S establecemos la variable para salir del ciclo
entrar =false;
}
}
}while(entrar);
return0;
}
Aqui les dejo el vídeo mencionado:
Saludos!
He creado una estructura para guardar los resultados y posteriormente guardar la estructura en un archivo
De hecho son 2 estrucuturas:
Código
struct nodo_ppt {
int count;
int respuesta[3];
};
La estrucutura anterior guarda un contador para indicar cuantas veces se a entrado a ese nodo y posteriormente cual fue la respuesta a esto.
Por ejemplo tenemos un arreglo de 9 nodos
Código
struct nodo_ppt nodos[9];
Y por ejemplo se juega Piedra(Jugador) vs Tijera(Computadora) entonces al igual que en la matriz de resultados:
Código
int resultados[3][3]={{0,2,1},{1,0,2},{2,1,0}};
Entonces guardamos como nodos "previo" la posicion de nodos [(Jugador*3) +computadora] y en el proximo juego incrementamos la seleccion del jugador en el nodo previo y nuevamente ajustamos el nodo previo a la seleccion actual y repetimos.
Con esto tendremos un histórico de (Si en el juego anterior se juego X entonces en el juego siguiente Jugara Y (con mas probabilidad)) donde Y es el mayor numero seleccionado en el contador de respuesta
Sin duda un golpe mas para la seguirdad de millones de usuarios, mediante fuerza bruta y algunos otros vectores de ataques! logran conseguir llaves privadas para el cifrado de los teléfonos Android con procesador Qualcomm
Desde la version 5 de android, Google implemento el cifrado completo del "disco" en sus terminales usando el password del usuario para crear una clave RSA de 2048 bits la cual ea guardada en la trustzone para cifrar el disco.
Pues bien mediente varias vulnerabilidades el atacante es capas de extraer esta llave privada y mediante un proceso de fuerza bruta obtener asi el password del usuario.
Que servicio usan mas y cuales creen que tienen mas ventajas que otros
Factores que pueden considerar son
Seguridad
Privacidad
Anonimato
Velocidad
Disponibilidad
Yo en lo personal prefiero usar torrents pero cuando no encuentro el contenido en esa plataforma pues no me queda mas que buacar algun buen link de mega.
La encuesta la realizo por que pienzo lanzar un servicio usando torrents y queria saber su opinion.