elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 2 3 4 [5] 6
41  Programación / Programación C/C++ / Modificar registros a partir de C en: 29 Marzo 2016, 19:21 pm
Muy buenas a todos!
Os cuento el problema que tengo. Unos compañeros y yo estamos desarrollando un pequeño Sistema Operativo. Nos hemos aventurado en la gestión de procesos y estamos encallados ya que no sabemos como hacer el task switch.
A la hora de cambiar la pila de ejecución necesitamos modificar el registro %ebp por el Kernel_Esp (que apunta a la cima de la pila del proceso anterior). Tenemos una macro Kernel_Esp que nos devuelve este puntero, pero necesitamos ponerlo dentro de %ebp.

Tenemos:
Código:
Dword d = Kernel_Esp((union task_union*) t)
__(asm)__{
    "movl d,%ebp"    //Esto obviamente no es correcto
}

Hemos visto algunas formas parecidas a:
Código:
Dword d = Kernel_Esp((union task_union*) t)
__(asm)__{
    "movl %0,%ebp" : "=r" (d)    //Compila, pero no sabemos si funciona
}

Pero no sabemos si es esto lo que buscamos.
En resumen, buscamos una manera de introducir una variable dentro de un registro.
42  Seguridad Informática / Criptografía / Re: Sistema de cifrado por lote de texto plano en: 29 Marzo 2016, 19:10 pm
Lo que has implementado es un algoritmo ya existente llamado Vigènere. Este algoritmo de cifrado es bastante fácil de descifrar. Lo único que se tiene que hacer es buscar patrones repetidos en el texto cifrado, así puedes conocer la longitud de la clave.
A partir de ahí, se crea una matriz de N x M, donde N es la longitud de la clave y M longitud del texto cifrado/N.
Así, finalmente, se empieza a jugar con las frecuencias de las letras que aparecen en las columnas de esta matriz y a compararlas con el idioma del texto cifrado -si no lo conoces vas probando :P - (ej.: en inglés la letra más repetida es la e, después la t, la a...) y ya lo tienes.
Hace poco hice una práctica que iba de eso. Lamentablemente perdí el código por un error al borrar la carpeta del github donde lo teníamos.
43  Seguridad Informática / Criptografía / Re: AES en: 29 Marzo 2016, 12:16 pm
Muchas gracias kub0x, arget me dio las pistas necesarias para resolver el problema. Lo hice exactamente como has dicho.
Siento no haber marcado como solucionado el tema pero soy nuevo en edte foro y ni sabia que se podia!
Gracias de nuevo por la ayuda!
44  Sistemas Operativos / GNU/Linux / Re: Duda con terminal en: 29 Marzo 2016, 09:39 am
Eso ocurre cuando dejas un espacio entre el ./
Ponlo junto ./a.out y no ./ a.out
45  Programación / Programación C/C++ / Re: Meter en cadena argumento en C en: 29 Marzo 2016, 09:25 am
De nada, para cualquier otra duda ya sabes!
46  Programación / Programación C/C++ / Re: Ayuda Juego De la Vida-Conway graficos en: 29 Marzo 2016, 09:24 am
No he podido probar el programa para asegurarme que la opción que te voy a dar sea correcta ya que no dispongo de graphics.h xD
Supongo que la función vecino devuelve el número de celdas vivas adyacentes a la celda que buscas. El problema parece estar en que también miras la propia celda por lo cual la primera condicion de condiciones() no se va a cumplir. Seria suficiente poniendo otra condición dentro de vecino que fuese
if(x != i && y != j)...
Si no llegase a ser eso, saca por pantalla la x,y y v en condiciones()
47  Programación / Programación C/C++ / Re: Cuenta de correo electronico en c++ en: 29 Marzo 2016, 08:56 am
Es decir, tienes un string correo, (fe. correo@dominio) y quieres identificar el dominio? Es decir, guardar en otro string el dominio?
Si es así, puedes recorrer el string hasta encontrar el carácter @, todo lo que haya después será el dominio.
48  Programación / Programación C/C++ / Re: Meter en cadena argumento en C en: 29 Marzo 2016, 07:41 am
Seguramente sea producido por el i++ que hay dentro de los if(). Quitalo y pon else if(). Deberia solucionarte el problema.
Conseguiste ya lo de los ficheros?
49  Programación / Programación C/C++ / Re: Meter en cadena argumento en C en: 29 Marzo 2016, 00:02 am
Código:
#include<stdio.h>

int main(int argc, char *argv[]) {
FILE *fp;
char ch;
int i;
for(i = 0; i < argc; ++i){
if(strcmp(argv[i],"-o")== 0){
fp=fopen(argv[i+1],"w");
}
}
char BUFF[] = "He escrito algo en este fichero \n";
fwrite(BUFF, 1, sizeof(BUFF), fp);
fclose(fp);
}

Este codigo lo que hace es crear un fichero con el nombre que le pasas como argumento después del flag -o y escribe en él, el contenido de BUFF. No se si es lo que buscas, si no, no te he entendido bien. :P
50  Programación / Programación C/C++ / Re: programa modificado sin struct de polizas en: 28 Marzo 2016, 21:17 pm
vector <tPoliza> es la estructura donde se van a guardar el conjunto de polizas.
Tu for, realiza 11 iteraciones. Pero va a dar error ya que c es declarado como entero, y tu lo usas como si fuese una struct del tipo tpoliza.
Páginas: 1 2 3 4 [5] 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines