Códigos
Esta página contendrá partes de códigos, o códigos enteros programados por nosotros. El objetivo en principio es el de UTILIDAD (por si a alguien le puedan servir los pequeños scripts que nos creamos para uso personal).
También se colgarán Scripts incompletos, y con bugs, por los cuales serán bienvenidos correcciones y comentarios.
Un posible wlandecryter
Por mucha gente es conocido el Wlandecryter, que proporciona, una vez ejecutado, un diccionario para desencriptar las claves por defecto de los routers de Imagenio de Timofónica!.
Pues bien, como hace tiempo, no encontraba este pequeño programilla por ninguna parte, me creé uno bastante rudimentario (hecho en Bash Script), que necesita más tiempo para crear el diccionario y no detecta automáticamente el la marca del Router por el BSSID (por lo que no comprueba si coincide con algún bessid ya anteriormente utilizado). Al no comprobar de qué marca se trata, o sabes tu mismo cuál es, o le das a crear el diccionario con las tres posibles opciones (con lo que tardará más aun si cabe).
Pues nada, el código en cuestión es este:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | #!/bin/sh #Generador de diccionarios # "Z","X","C"+"primeros 6 caracteres del BSSID"+"4núm de 0000 hasta FFFF en hexadecimal"+"XX del WLAN_XX" ##fun operar (crea, mediante el bucle while la secuencia hexadecimal) function fun_operar { CONTADOR=0 while [ $CONTADOR -le 65535 ]; do echo $letra$mac$(printf "%04X\n" $CONTADOR)$xx >> $salida let CONTADOR=CONTADOR+1 done } ################################ ## AQUÍ EMPIEZA ## ################################ #Borrar pantalla clear ## Comprobar lanzamiento: if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then echo '¡ATENCIÓN, MAL INICIADO!, ejemplos:' echo 'uso: '$0' <6 primeros caracteres del BSSID> <Los XX de WLAN_XX del ESSID> <Archivo de salida>' exit fi #Cargar los parametros: mac=$1 xx=$2 salida=$3 ## Borrar el contenido de posible fichero anterior: echo ' ' > $salida ## Bifurcar: echo '¿Que router quieres utilizar?:' OPCIONES="ZyXEL Xavi Comtred Todos" select opt in $OPCIONES; do if [ "$opt" = "ZyXEL" ]; then letra=Z fun_operar exit elif [ "$opt" = "Xavi" ]; then letra=X fun_operar exit elif [ "$opt" = "Comtred" ]; then letra=C fun_operar exit elif [ "$opt" = "Todos" ]; then letra=Z fun_operar letra=X fun_operar letra=C fun_operar exit else clear echo 'Opción errónea' fi done |
Crea iconos para idesk de forma guiada
Este es un programilla también en Bash que le creé a mi cuñado por si quería añadir iconos a su escritorio (en un portátil antiguo que le preparé con unas versión de Debian con una escritorio poco pesado como Fluxbox. El programa simplemente, puede crear, editar y borrar los iconos del programa idesk y al final del flujo comprueba si tienes lanzado idesk. Tiene algún bug que otro, pero cumple su función principal (ayudar a alguien que no tiene mucha idea a crearse unos iconos). Si alguien lo quiere ya sabe, pueden mejorarlo muchísimo…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | #!/bin/bash ################################################################ #Crear iconos de manera facil para idesk - aabilio@gmail.com - # ################################################################ #Función para presentar el programa: function fun_presentacion { echo '' echo '' echo ' ##################################' echo ' # Crea y edita iconos #' echo ' # de manera guiada #' echo ' # para idesk #' echo ' ##################################' echo '' echo '' } #Funcion para ver si existe proceso de idesk como dato informativo: function fun_comprobar_proceso { pidof idesk > /dev/null; num=$(echo $?) if [ "$num" = 1 ]; then echo 'ATENCIÓN, idesk no se está ejecutando, puede que no esté instalado' echo 'Si estás seguro que está instaldo' echo '¿Quieres ejecutarlo ahora? s/n' read opci if [ "$opci" = "s" ]; then echo 'Ejecutando' idesk & fun_embellecedor else echo 'OK' fi fi } #Función de embellecedor: function fun_embellecedor { echo -n '*' sleep 0.6 echo -n '*' sleep 0.6 echo -n '*' sleep 0.6 echo -n '*' sleep 0.6 echo -n '*' sleep 0.6 echo '*' } #Funcion para comprobar el lanzamiento: (INCLUIDO AL FINAL EN "FUNCTION MAIN") #function fun_comprobar { #echo '¡ATENCIÓN, MAL INICIADO!, ejemplos:' #if [ -z "$1" ]; then # echo 'uso: '$0' nuevo: Si quiere nuevo icono' # echo 'uso: '$0' modificar [ruta_al_icono]: Si quiere modificar icono' # exit #fi #} #Función para crear iconos nuevos: function fun_crear { if [ -n "$temp_icono_elegido" ]; then nombre_icono=$temp_icono_elegido unset $temp_icono_elegido echo 'Creando Icono con nombre: '$nombre_icono'.lnk' echo '' fi if [ -z "$nombre_icono" ]; then echo 'Introduce el nombre del archivo del icono: ' read nombre_icono fi echo 'Introduce el nombre del icono: ' read programa echo 'Introduce el comando a ejecutar: ' read comando echo 'Escoge una imagen para el icono: ' sleep 1.5 icono=$(cd /usr/share/pixmaps && zenity --title="Selecciona una imagen para el icono" --file-selection) echo $icono echo 'Introduce la coordenada X: ' read x echo 'Introduce la coordenada Y: ' read y echo 'Creando Icono' fun_embellecedor touch $HOME/.idesktop/$nombre_icono.lnk echo 'table Icon #No tocar!'>> $HOME/.idesktop/$nombre_icono.lnk echo 'Caption: '$programa' #Nombre del icono' >> $HOME/.idesktop/$nombre_icono.lnk echo 'Command: '$comando' #Comando para iniciar el programa!' >> $HOME/.idesktop/$nombre_icono.lnk echo 'Icon: '$icono' #Ruta de la imagen del icono' >> $HOME/.idesktop/$nombre_icono.lnk echo 'X: '$x' #Tamaño X del icono' >> $HOME/.idesktop/$nombre_icono.lnk echo 'Y: '$y' #Tamaño Y del icono' >> $HOME/.idesktop/$nombre_icono.lnk echo 'end #No tocar!' >> $HOME/.idesktop/$nombre_icono.lnk echo '#Creado con easy-idesk' >> $HOME/.idesktop/$nombre_icono.lnk echo '' echo 'FELICIDADES! Has acabado de crear tu icono' echo 'Creando menú (Si no aparece pulsar ENTER)' } #Función para editar iconos ya creados: function fun_editar { #if [ -z "$2" ]; then (INCLUIDO AL FINAL EN "FUNCTION MAIN") # echo '¿Qué icono quieres editar?' # find $HOME/.idesktop/ -name '*.lnk' | zenity --progress --pulsate # cd $HOME/.idesktop/ && ls *.lnk # echo 'escribe uno o pulsa "g" para hacerlo graficamente' # read icono_elegido # if [ "$icono_elegido" = "g" ]; then # icono_elegido=$(cd $HOME/.idesktop/ && zenity --title="Selecciona el icono a editar" --file-selection) # fihttp://guide.opendns.com/?url=variables+locales+en+bash&client=ff20 #else # icono_elegido=$2 #fi # ya tengo almacenada en "icono_elegido" la ruta del fichero que quiero editar, ahora comporbar si existe: #AQUI YA LLEGA con el "icono_elegido" escogido en la "funcion main" del programa clear echo 'Has elegido editar: '$icono_elegido echo '' echo "Modifiquemos entonces las características del icono" echo 'Cargando editor' sleep 1.5 fun_embellecedor editor $icono_elegido echo 'CARACTERÍSTICAS CAMBIADAS!' echo '' echo 'Quieres cambiar el nombre al archivo del icono?' OPTIONS="si no" select opc in $OPTIONS; do if [ "$opc" == "si" ]; then echo 'Introduce el nuevo nombre (sin extensión): ' read nuevo_nombre mv $icono_elegido $HOME/.idesktop/$nuevo_nombre.lnk break elif [ "$opc" = "no" ]; then clear fun_presentacion echo 'OK' echo '' break else echo 'Opción errónea, elige otra' echo 'ENTER para volver a mostrar menú' fi done echo 'FELICIDADES! Has acabado de editar tu icono' echo '' echo 'Creando menú (Si no aparece pulsar ENTER)' } #Función para volver a empezar: function fun_empezar { echo 'Eliga entre estas opciones: ' OPCIONES="crear editar borrar salir" select opt in $OPCIONES; do if [ "$opt" == "crear" ]; then clear fun_presentacion fun_crear fun_embellecedor elif [ "$opt" = "editar" ]; then clear fun_presentacion if [ -z "$2" ]; then echo 'Cargando Iconos ya creados' echo '' #find $HOME/.idesktop/ -name '*.lnk' | zenity --progress --pulsate ##No queda bien fun_embellecedor echo '' cd $HOME/.idesktop/ && ls *.lnk echo '' echo '¿Qué icono quieres editar?' echo 'Escribe uno o pulsa "g" para hacerlo graficamente' read icono_elegido if [ "$icono_elegido" = "g" ]; then icono_elegido=$(cd $HOME/.idesktop/ && zenity --title="Selecciona el icono a editar" --file-selection) else icono_elegido=$HOME/.idesktop/$icono_elegido fi else icono_elegido=$2 fi #un if para comprobar si existe y si no eviarlo a fun_crear en vez de a fun_editar if [ -f "$icono_elegido" ]; then fun_editar else echo 'El icono '\"$(echo $icono_elegido | cut -d/ -f5)\"' no exite, ¿desea crearlo? s/n' read opc_temp_icono_elegido if [ "$opc_temp_icono_elegido" = "s" ]; then #Implementar bucle para salvar el error!!! temp_icono_elegido=$(echo $icono_elegido | cut -d/ -f5 | cut -d. -f1) fun_crear else echo 'OK' fi fi fun_embellecedor elif [ "$opt" = "salir" ]; then clear fun_presentacion fun_comprobar_proceso echo '' echo '' echo '' echo '' echo 'Saliendo' fun_embellecedor clear exit elif [ "$opt" = "borrar" ]; then fun_borrar fun_embellecedor fun_empezar else clear fun_presentacion echo 'Opción errónea, elige otra' echo 'ENTER para volver a mostrar menú' fi done } function fun_borrar { echo 'Cargando los Iconos presentes' echo '' #find $HOME/.idesktop/ -name '*.lnk' | zenity --progress --pulsate ##No queda bien fun_embellecedor echo '' cd $HOME/.idesktop/ && ls *.lnk echo '' echo '¿Qué icono quieres borrar?' echo 'Escribe uno o pulsa "g" para hacerlo graficamente' read icono_borrar if [ "$icono_borrar" = "g" ]; then icono_borrar=$(cd $HOME/.idesktop/ && zenity --title="Selecciona el icono para borrar" --file-selection) else icono_borrar=$HOME/.idesktop/$icono_borrar fi echo '' echo 'Borrando icono: '$icono_borrar rm $icono_borrar fun_embellecedor echo '' echo 'ICONO BORRADO SATISFACTORIAMENTE' echo '' } ############################################################################ ########### AQUÍ EMPIEZA EL PROGRAMA ############# ############################################################################ #Borrar pantalla: clear #Presentar: fun_presentacion #Comprobar el Lanzamiento: if [ -z "$1" ]; then echo '¡ATENCIÓN, MAL INICIADO!, ejemplos:' echo 'uso: '$0' nuevo: Si quiere nuevo icono' echo 'uso: '$0' modificar [/ruta/al/icono.lnk]: Si quiere modificar icono' echo 'uso: '$0' borrar' exit fi #Comprobar si existe la carpeta .idesktop: #Bifurcar entre crear o editar: if [ "$1" = "crear" ]; then fun_crear fun_embellecedor fun_empezar elif [ "$1" = "editar" ]; then if [ -z "$2" ]; then echo '¿Cargando Iconos ya creados?' echo '' #find $HOME/.idesktop/ -name '*.lnk' | zenity --progress --pulsate ##No queda bien fun_embellecedor echo '' cd $HOME/.idesktop/ && ls *.lnk echo '' echo '¿Qué icono quieres editar?' echo 'Escribe uno o pulsa "g" para hacerlo graficamente' read icono_elegido if [ "$icono_elegido" = "g" ]; then icono_elegido=$(cd $HOME/.idesktop/ && zenity --title="Selecciona el icono a editar" --file-selection) else icono_elegido=$HOME/.idesktop/$icono_elegido fi else icono_elegido=$2 fi #hacer un if para comprobar si existe y si no eviarlo a fun_crear en vez de a fun_editar if [ -f "$icono_elegido" ]; then fun_editar else echo 'El icono '\"$(echo $icono_elegido | cut -d/ -f5)\"' no existe, ¿desea crearlo? s/n' read opc_temp_icono_elegido if [ "$opc_temp_icono_elegido" = "s" ]; then #Implementar bucle para q pregunte otra vez en caso d error temp_icono_elegido=$(echo $icono_elegido | cut -d/ -f5 | cut -d. -f1) fun_crear else echo 'OK' fi fi fun_embellecedor fun_empezar elif [ "$1" = "borrar" ]; then fun_borrar fun_enbellecedor fun_empezar else echo 'No has introducido una opción correcta' echo 'Creando menú' fun_embellecedor fun_empezar fi |
Comentarios recientes