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 - soyloqbuskas

#171
Programación C/C++ / Re: Funcion en C
23 Enero 2012, 23:45 PM
¡Buenas RHL!

Lo del return ya me suponia que iba a estar mal...pero bueno....el codigo de lo que hace la funcion creo que lo puedo hacer....

Solo necesito hacer la declaracion....pero bueno, aqui te dejo algo mas de codigo....

char **parser_orden(const char *orden, int &IDEntrada, int &IDSalida,int *backgr) {
    return orden;
}

void ejecutar_orden(const char *orden, int *backgr) {
//Se encarga de ejecutar una orden

int IDEntrada; //Posible redireccion de entreda a traves (pipes)
int IDSalida; //Posible redireccion de salida a traves (pipes)
char ** ArrayParser; //Array para alamacenar la salida de la orden parser_orden
int result;
int MAXPATHLEN=100;
bool ok=false;
char path[MAXPATHLEN];


ArrayParser = parser_orden(orden, &IDEntrada, &IDSalida, backgr);
//Convierte la entrada de una orden en un array charr **, elimiando los espacios
//backgr devuelve 1 si encuentra el simbolo &
.
.
.
.



Gracias, un saludo.

EI: juntando mensajes.

Bueno, he conseguido mejorar algo...
char **parser_orden(const char *orden, int *IDEntrada, int *IDSalida,int *backgr) {
    char **ord=*orden;
    return ord;
}



Ahora la declaracion es correcta, pero me da error en la asignacion porque no hago un cast.....
¿Cual es el cast que debo poner?
#172
¡Buenas Anastacio!

Lo primero de todo...¿sabes lo que es romper una contraseña por fuerza bruta?
Esto consiste en comprobar todas las combinaciones de caratceres posibles...

Esto es tremendamente lento...pero podrias hacerte un ejemplo rapido...Para ello hazte un programa en el que te declares una cadena de 3 caracteres y la llenas con los 3 caracteres que quieras...Luego te creas 3 bucles anidados


for(i<0;i<27;i++{
   for(j<0;j<27;i++{
        for(k<0;k<27;i++{
           // Codigo para compara el caratcer 3
        }
         // Codigo para comprar el caracter 2
   }
   // Codigo para comprar el caracter 1
}

Si el resultado de las 3 comparaciones es correcto, entonces has encontrado la cadena


Esto es una pequeña aproximacion de como funciona un rompedor de contraseñas por fuerza bruta...

Espero haberte servido de ayuda, un saludo.
#173
Programación C/C++ / Funcion en C
23 Enero 2012, 23:17 PM
¡Buenas a todos!

Estoy intentado hacer una funcion y ni si quiera soy capaz de declararla...
Esta es la definicion de la variables que luego le voy a pasar a mi funcion:

       const char orden;
        int *backgr;
       int IDEntrada; //Posible redireccion de entreda a traves (pipes)
int IDSalida; //Posible redireccion de salida a traves (pipes)
char ** ArrayParser; //Array para alamacenar la salida de la orden parser_orden


y yo estoy intentado declarar la funcion asi....

char **parser_orden(const char *orden, int &IDEntrada, int &IDSalida,int *backgr) {
    return orden;
}


y no me compila....me dice que orden no esta declardo....

¿Alguna idea?

¡Un saludo!
#174
Buenas ;c1v!c

Debes proporcionar mas informacion para que podamos ayudarte. Concretamente necesito saber si la palabra puede estar en horizontal, en vertical, en diagonal, del derecho y del revés, ya que todo esto hace que el codigo que hay en el bucle sea mas extenso o no....
#175
¡Muchas gracias a los 2!

Al final he hecho lo que sugeria Eternal Idol, he usado las funciones CreateDirectory() y CreateFileMapping()

¡Un saludo!
#176
¡Buenas a todos!

Resulta que tengo hecha una mini Shell para linux, y quiero adaptarla a windows, y para ello necesito adaptar las librerias...

Tengo 3 errores de compilacion:
  1)  Demasiados argumentos en la funcion mkdir
        result = mkdir(ArrayParser[1] ,00700);

  2)  Variable _SC_PAGE_SIZE no declarada...
        size_t len = (size_t) sysconf(_SC_PAGE_SIZE);

  3)   Variables PROT_READ y MAP_SHARED no declaradas en la funcion mmap()
         mem = mmap(NULL, len, PROT_READ, MAP_SHARED, fd, 0);

¿Alguna idea de como adpatar esto a windows?

NOTA: La Shell en linux compila y funciona perfectamente!

Gracias, un saludo!
#177
Programación C/C++ / Re: Troyano en c
22 Enero 2012, 00:02 AM
Pues tambien es verdad, es un poco tedioso, pero me daria mejores resultados que el ms-dos!

Muchas gracias, un saludo!
#178
¡Buenas pastyto!

Para hacer eso, necesitas crearte una matriz N-4xN. Una vez creada debes rellenarla con los valores de la matriz original. Asi que necesitas recorrer la matriz original con 2 bucles for() y cojer el valor y ponerlo en la matriz nueva.


for(i=0;i<n-4;i++){
    for(j=0;j<n;j++){
           //cojer valor y poner en la matriz nueva en la posicion (i,j)
    }
}


Espero haberte servido de ayuda, un saludo.
#179
Buenas Kherom !

Hasta donde yo se, no se puede hacer declaraciones de variables en las cabeceras (.h) de los programas. En las cabeceras solo estan los nombres de las funciones y procedimientos a las que otro modulo o clase puede llamar.

Si quieres crear una variable global para un modulo, deberas declararla en el .c fuera de cualquier funcion. Asi esa variable sera global para ese modulo.

Si lo que quieres hacer es crear una variable global para todos los modulos, creo que esto no se puede hacer.

De todas formas, no te recomiendo el uso de variables globales, ya que cuando una funcion f1() usa esa variable deja la variable con basura y si luego la funcion f2() la usa, puede que la funcion f2() no te muestre un resultado correcto. Asi que debes tener mucho cuidado con las variables globales.

Espero haberte servido de ayuda, un saludo.
#180
¡Buenas Anastacio!
Creo que estas confundiendo programador software con diseñador software.

El diseñador software es el encargado de de hablar con el cliente que quiere el software, luego lo divide en modulos y hace los diagramas. Y el programador es el que tiene que programar los modulos que el diseñador software te diga que programes.

Si eres tu el que quiere hacer el programa, el usar papel y boli como dice DickGumshoe
te podria ayudar mucho. Si el programa es pequeño podrias pasar sin hacerte los diagramas, pero si estamos hablando de un programa complejo con muchas funciones y demas, es muy aconsejable hacer los diagramas ya que te puede ayudar mucho con las tareas de mantenimiento del software, que es lo mas complicado de todo!

Espero haberte servido de ayuda, un saludo!