Muy guenas a tod@s !!
Como dice FluiD, el programa (script) realiza una falsa asociacion utilizando comandos de la shell de linux, y luego va enviando pings con cada contraseña en un bucle segun las claves, y evaluando la respuesta para ver si existe ip.
Cualquier SO que trabaje con conexiones wireless en modo normal seria capaz de soportar esta funcionalidad tan basica.
Y lo mas importante, el android tiene un linux "recortado" por muchos sitios. En la zona de desarrollo android te explico un poco mejor los pasos a realizar para hacer esta funcionalidad.
Un saludo.
PD: Como siempre, en algo, habre metido la pata.