perilla escribió:ferdopa podrias hacer una traduccion del como lo hizo?
Geohot: y en realidad es's muy simple
Geohot: i asignar una parte de memoria
Geohot: el uso de map_htab y write_htab, usted puede averiguar la dirección real de la memoria
Geohot: que es una gran victoria, y algo que los deberías hv 'No permitir
Geohot: i llenar el htab con toneladas de entradas que apuntan a ese pedazo de la memoria
Geohot: y desde que se le asignaban, puedo leer el mapa que/escribir
Geohot: entonces, I liberar la memoria
Geohot: todas esas entradas se ponen a inválidos
Geohot: bien mientras ello's creación de entradas no válidas, glitch i el control del bus de memoria
Geohot: la reescritura de la memoria de fallos de memoria caché:)
Geohot: y tengo las entradas permitiendo R / W a un pedazo de la memoria del hipervisor piensa que es cancelar la asignación de
Geohot: entonces puedo crear un segmento virtual con la superposición de htab ese pedazo de memoria que tiene
Geohot: escribir una entrada en el segmento de htab virtual que permite R / W para el segmento principal htab
Geohot: cambiar a la serie de sesiones virtuales
Geohot: escribir a principal segmento htab ar / w asignación de sí mismo
Geohot: volver
Geohot: PWNED
Geohot, y funcionaría si la memoria no se había cifrado o ECC
Geohot: la forma en que realmente falla el bus de memoria es muy gracioso
Geohot: Tengo un botón en mi tablero de FPGA
Geohot: que los pulsos de baja para 40ns
Geohot: i configurar el htab con las toneladas de las entradas
Geohot: spam y pulse el botón
Geohot: justo después de enviar la llamada liberar