Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - El_Java

#121
De acuerdo entonces, ya está hecho el proyecto http://code.google.com/p/wifi-hi/.
En cuanto al proyecto, podemos agregarnos todos como Owners (podemos todos hacer cambios en el proyecto) o uno como Owner y los otros como Commiter (puede trabajar en el proyecto, pero no reconfigurarlo). Si vamos ha hacerlo democraticamente lo más logico me parece lo segundo, pero vosotros direis xD

Pd. Mandadme un mp a mi perfil con vuestra cuenta de gmail y os agrego al proyecto :)
#122
Despues de leer la Biblia... xD (aunque ha sido interesante)
Creo que tienes razón, en varios puntos:
1. Aquí todos pintamos lo mismo.
2. Debemos organizarnos entre todos lo mejor posible.
3. Hay varias formas de hacer lo mismo, como los dos códigos para crear contraseñas (backtracking y el codigo de lluk), y aunque me cuesta ceder, creo que deberiamos ponernos todos de acuerdo mediante votaciones o siguiendo algunos parametros para elegir el mejor.

Y por mi parte he de decir que debemos de salirnos de aqui xD Más que nada, porque esto es un foro para dudas y cosas así y creo que nos estamos excedediendo. Yo hace unos días que me he registrado en google code para subir proyectos, y si quereis creo yo el proyecto (decidme nombre) y os agrego a todos a él. Además, deberiamos agregarnos mediante un canal de mensajeria instantanea (msn, IRC, googletalk...) y así comunicarnos mejor. ¿Qué me decis?

En cuanto al proyecto, creo que podemos rebajar la busqueda de la contraseña si sabemos sacarle provecho al numero MAC de cada dispositivo, también decir que lo ideal sería que las primeras contraseñas que buscase fueran las predeterminadas (admin, 1234, admin1234, y por el estilo).

Decidme si estais de acuerdo y me pongo manos a la obra en lo de crear el proyecto ;)
#123
Underwar lleva razón... no habia pensado en eso, gracias por la correccion xD
Pues nada, toca hacerlo con el metodo largo
#124
lluk tu padre tiene razón, son una burrada de combinaciones y lo mejor sería mientras que las hacemos,comprobarlas, por lo que podriamos perfectamente prescindir del texto con las contraseñas preestablecidas.
Y respecto a tu código, es algo lioso, creo que sería mucho más facil crear las combinaciones con el codigo de backtracking que he puesto antes. Y siempre que puedas, prescinde de system() porque lo unico que hace es quitarle portabilidad a tu código.

Se me ha ocurrido otra forma de comprobar las contraseñas que creo que sería más eficiente que las dadas hasta ahora. Os explico:

* Pongamos que la contraseña es "Perico198", no?
* Pues consistiría en algo parecido a lo de las peliculas americanas de robo de bancos.
* Hariamos una función para ver si un caracter coincide con el de la lista ASCII (sencillo)
* Al encontrarlo, guardar el caracter y buscar el siguiente caracter (tambien sencillo)
* El funcionamiento sería:
Contraseña:
Perico198   //comienza el programa...
Perico198   //encuentra el primer caracter "P" y lo fija
Perico   //encuentra el segundo caracter "e" y lo fija
Perico198   // etc etc etc etc
Perico198   //Voilá! Contraseña encontrada y lista para guardar :D

¿Qué me decis? Parece mejor que buscar una por una, opinad y hacemos asi.
En cuanto pueda hago el código, en dos días o así, ahora mismo estoy con un programa que me tiene bastante absorbido...  ;)
#125
Hola de nuevo, he estado viendo el codigo de rasielunderwar y hay un método más eficiente de hacer todas las combinaciones posibles, lo vi mientras ensallaba en las olimpiadas de españa de programación y es mediante backtracking (recursividad), os dejo el codigo:
Código (cpp) [Seleccionar]

#include <iostream>
#include <string>

using namespace std;

void escribe (const &string s){
     cout << s << endl;
}

void rec (string &s, int i, int n){
    escribe(s);
    if (i<n){
         s[i] = 'A';
         rec (s, i+1, n);
         s[i] = 'B';
         rec (s, i+1, n);
         s[i] = 'C';
         rec (s, i+1, n);
         s[i] = '-';
    }
}

int main(){
       int n;
       cin >> n;
       string s(n, '-');
       rec (s, 0, n);
}


Y la salida sería esta si por ejemplo, n = 3:
---
A--
AA-
AAA
AAB
AAC
AB-
ABA
ABB
ABC
AC-
ACA
ACB
ACC
B--
BA-
BAA
BAB
BAC
BB-
BBA
BBB
BBC
BC-
BCA
BCB
BCC
C--
CA-
CAA
CAB
CAC
CB-
CBA
CBB
CBC
CC-
CCA
CCB
CCC

Un saludo.
#126
Hola, he encontrado algo de tiempo para hacer el codigo para empezar.
El programa coge una contraseña que introduzcas y la compara con un archivo de texto (sirve para 13 caracteres, asi que no hay que pasar de 4 a 13 ya).

(falta colocar las tildes y ñ, pero no recuerdo como era xD)
Codigo:
Código (cpp) [Seleccionar]

//Código by: El_Java
#include <iostream>
#include <fstream>
#include <string.h>

//using namespace std; para programas largos es mejor no ponerlo


int main(){
    std::ifstream txtIn;
    char texto[14], clave[14];

    std::cout << "Escribe la contrasenha a comparar: " << std::endl;
    std::cin.getline(clave, 14);

    txtIn.open("pass.txt");

    if (!txtIn.is_open()){
        std::cout << "Error abriendo archivo, comprueba que existe el archivo" << std::endl;
    }

    if (!txtIn.good()){
        std::cout << "Error, no es posible leer el archivo" << std::endl;
    }

    while((txtIn.eof()) == 0){ //mientras el archivo no haya llegado al final
        txtIn.getline(texto, 14, '\n');
        if ((strcmp(texto, clave)) == 0) break; //Si alguna contrasenha concuerda, parar el bucle while
        if ((strcmp(texto, "NINGUNA")) == 0) break;
    }

    if((strcmp(texto, "NINGUNA")) == 0){
        std::cout << "Ninguna contrasenha valida" << std::endl;
    }

    else{
        std::cout << "Encontrada la contrasenha:\n";
        std::cout << "texto: " << texto << std::endl;
        std::cout << "clave: " << clave << std::endl;
    }

    return 0;
}



Y para que funcione el texto tiene que tener estas caracteristicas:

  • Llamarse pass.txt
  • Por cada linea tener una contraseña
  • Al final del texto terminarlo con la palabra NINGUNA
tal que quedaría asi:

pass.txt                                       pass.txt
1234567899874                         contraseña1
9876543210123                         contraseña2
7412589634157                         contraseña3
asdfghjkkasfg                               contrseña4
NINGUNA                                     final del texto
#127
Programación C/C++ / Re: Problema con Dev-c++
22 Abril 2011, 18:49 PM
Por San Google hay un montón de buenos tutoriales de C++ (yo he aprendido a base de estos y de foro xD).

Una buena página, por ejemplo, sería esta: http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B o también http://c.conclase.net/.
Saludos! :)
#128
Hola, edito mi anterior mensaje en el foro ya que no obtuve respuesta y asi ahorro espacio a elhacker

Estoy creando una aplicación y para que interactue con Ubuntu estoy haciendo uso de "linux/input.h" y "linux/uinput.h", el problema está en que me compila sin ningún tipo de error pero no hace nada, el fallo está hay casi seguro porque los he hecho un seguimiento a la aplicacion y registra los botones que pulso y todo, pero no ocurre nada.

Os dejo mi codigo para inicializar el driver.
Código (cpp) [Seleccionar]
int wmDevice::init_device(){
   //open uinput and creating descriptor
   if ((fd = open("/dev/uinput", O_WRONLY | O_NONBLOCK | O_NDELAY)) == 0){
       std::cout << "Unable to open /dev/uinput" << std::endl;
       return 1;
   }

   //configure uinput device parameters
   ret = ioctl(fd, UI_SET_EVBIT, EV_KEY);
   ret = ioctl(fd, UI_SET_EVBIT, EV_ABS);
  // ret = ioctl(fd, UI_SET_EVBIT, EV_SYN);

   ret = ioctl(fd, UI_SET_KEYBIT, KEY_SELECT); //left button mouse = A wiimote button wiimote
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_CONTEXT_MENU); // right button mouse = B button wiimote
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_SCROLLDOWN); // wiimote = 2
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_SCROLLUP); //wiimote = 1
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_POWER); //power (hold)
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_ZOOM); //Zoom = +
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_DELETEFILE); // (hold) -
   ret = ioctl(fd, UI_SET_KEYBIT, KEY_CLOSE); // -

   ret = ioctl(fd, UI_SET_ABSBIT, ABS_X);
   ret = ioctl(fd, UI_SET_ABSBIT, ABS_Y);

   //****************************************//

   memset(&userDev, 0, sizeof(userDev));

   strcpy(userDev.name, "wiimote");
   userDev.id.bustype = BUS_BLUETOOTH;
   userDev.id.vendor = 0x1234;
   userDev.id.product = 0x01;
   userDev.id.version = 1;

   userDev.absmax[ABS_X] = 1920;
   userDev.absmin[ABS_X] = 0;
   userDev.absmax[ABS_Y] = 1080;
   userDev.absmin[ABS_Y] = 0;

   //*****************************************//

   ret = write(fd, &userDev, sizeof(userDev));
   ret = ioctl(fd, UI_DEV_CREATE);

   return 0;
}

Ojala podais ayudarme! :D
#129
Scripting / Re: [Bash] Mis scripts
18 Abril 2011, 11:25 AM
Muy buen aporte, si señor!
Te pongo aqui los que yo uso, solo son 2, pero espero que ayuden a alguien :P

Script cambiar de fondo pantalla cada 15 minutos
Código (bash) [Seleccionar]

#!/bin/sh

#Script para cambiar de fondo de escritorio cada 10 minutos


cd ~/Imagenes/Fondos\ pantalla/

while [ 1 ]; do

for aux in $(ls) ; do
#echo "gconftool-2 --type string --set /desktop/gnome/background/picture_filename  ~/Imagenes/Fondos\ pantalla/$aux"
sleep 15m
gconftool-2 --type string --set /desktop/gnome/background/picture_filename  ~/Imagenes/Fondos\ pantalla/$aux
done

done

wait



Script para abrir JDownloader (Yo lo uso como aplicacion al inicio)
Código (bash) [Seleccionar]

#!/bin/sh

#Cambiar por el directorio donde tengais el JDownloader.jar

echo "Ejecuntando JDownloader..."
nohup java -jar /home/java/Escritorio/JDownloader/JDownloader.jar

& exit


Además, uso otro script que me ejecuta un terminal en mitad de la pantalla transparente al iniciar sesión que queda bastante bien, si os interesa decidmelo xD
Os pongo una imagen:


Un saludo!
#130
Gracias por la ayuda amigo!

Al final he podido hacer el script y me cambia el fondo de pantalla cada 15minutos ^^
Y además he podido casi al 100% compaginarlo con otros dos scripts que habia hecho.

Voy a colocar el script funcional arriba, por si le sirviese a alguien :)