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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Programa para cifrar archivo de texto en: 6 Mayo 2023, 17:25 pm
Hola, estoy tratando de compilar este código y DEV-C++ me tira el error:
7 [Warning] 'int AES_set_encrypt_key(const unsigned char*, int, AES_KEY*)' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]

Como lo arreglo? porque no me lo compila:
Código:
#include <openssl/aes.h>
#include <stdio.h>
#include <string.h>

void encrypt_AES(const unsigned char *plaintext, int plaintext_len, const unsigned char *key, unsigned char *ciphertext) {
    AES_KEY aes_key;
    AES_set_encrypt_key(key, 128, &aes_key);
    AES_encrypt(plaintext, ciphertext, &aes_key);
}

int main() {
const char *filename = "archivo.txt";
    const unsigned char key[] = "clave secreta";
    const int block_size = 12;
    unsigned char plaintext[block_size];
    unsigned char ciphertext[block_size];

    // Leer el archivo de texto
    FILE *file = fopen(filename, "rb");
    if (file == NULL) {
        printf("Error al abrir el archivo.\n");
        return 1;
    }
    fread(plaintext, block_size, 1, file);
    fclose(file);

    // Cifrar el archivo de texto
    encrypt_AES(plaintext, block_size, key, ciphertext);

    // Escribir el archivo cifrado
    FILE *output_file = fopen("archivo_cifrado.txt", "wb");
    if (output_file == NULL) {
        printf("Error al crear el archivo cifrado.\n");
        return 1;
    }
    fwrite(ciphertext, block_size, 1, output_file);
    fclose(output_file);

    printf("Archivo cifrado exitosamente.\n");
    return 0;
}
2  Programación / Programación C/C++ / Problema con llamadas entre funciones. en: 18 Diciembre 2018, 22:37 pm
Hola, tengo que resolver un ejercicio en C, que consiste en escribir una función con el siguiente prototipo: int primoMayor(int num). La función recibe un número en la variable num y ha de devolver el mayor de los primos comprendido entre 2 y el valor de num. Esta función ha de valerse para esto de llamadas a la función esPrimo().

El programa principal debe solicitar un número mayor o igual a 2, que llame a la función primoMayor() y muestre el valor que devuelva por pantalla.

Este sería un ejemplo del programa:

Introduce un número superior a 1: 7
El mayor primo comprendido entre 2 y 7 es 7.

Esto es lo que llevo por el momento, no tengo claro como hacer el bucle que determine que número de todos los primos es el mayor, a ver si podéis ayudarme, gracias.

Código:
#include <stdio.h>
#include <math.h>

int esPrimo(int num) {
    int i;
    for (i=2; i<=sqrt(num); i++) {
        if (num%i == 0) {
            return 0;
        }
    }
    return 1;
}

int primoMayor(int num){
    int n, mayor;
    mayor=0;
    for (n=2;n<=num;n++)
    {
        if (esPrimo(n)>mayor)
            mayor=esPrimo(n);
    }

}

int main() {
    int num, n, i, mayor;

    do {
    printf("Introduce un número superior a 1: ");
    scanf("%d", &num);
    } while (num<0);

    primoMayor(num);

    if (primoMayor(num)){
        for(n=2;n<=num;n++){
            if (esPrimo(n))
                mayor=primoMayor(num);
        }
    }
    else
    printf("El número %d no es primo.\n", num);
    return 0;

    printf("El mayor primo comprendido entre 2 y %d es %d", num, mayor);
    return 0;
}
3  Programación / Programación C/C++ / Obtener nombres de un archivo de texto y comparar sus iniciales en: 13 Diciembre 2018, 09:12 am
Ya resolví el problema  :xD

Este es el código:
Código:
#include <stdio.h>

int main(){

    FILE *archivo = NULL;
    char fichero[80];
    char nombre[15];
    char inicial[5];
    int i, dato1, dato2;

    printf ("Teclea el nombre del archivo: ");
    scanf ("%s", fichero);
    archivo = fopen (fichero, "r");
    if (!archivo){
        printf ("Error: no se pudo abrir el fichero: %s\n", fichero);
        return 1;
    }
    printf("Teclea una inicial: ");
    scanf("%s", inicial);


    for (i=0; fscanf(archivo, "%s %d %d", nombre, &dato1, &dato2) == 3;){
        printf("%s %d %d\n", nombre, dato1, dato2);
        if (nombre[0]==inicial[0]){
            i++;
        }
    }
    printf("Hay %d nombres que empiezan por la inicial %c \n", i, inicial[0]);
    fclose (archivo);

    return 0;
}
4  Programación / Ingeniería Inversa / Sabéis que es esto? SkD Undetectabler 2.0(BETA) - SOLUCIONADO en: 12 Diciembre 2009, 16:16 pm
Hola, he pasado un ejecutable por el RDG packer detector y me sale esto, SkD Undetecttabler 2.0 (BETA) y no tengo ni idea de que es, de hecho es la primera vez que lo veo en un ejecutable.

La cuestión es que tengo un programa parcheado, pero que cuando realizas algunas operaciones con él, el programa transcurridos unos segundos se cierra sin devolver ningún mensaje de error.
También lo he pasado por el PEiD pero no detecta lo mismo, al menos no se si lo que detecta tiene relación con eso, el PEid me detecta esto...

ADLER32 :: 000A6A4F :: 004A764F
   The reference is above.
BASE64 table :: 000A9A64 :: 004AA664
   Referenced at 004AA480
   Referenced at 004AA4C1
   Referenced at 004AA503
   Referenced at 004AA535
List of small primes [long] :: 000E4D44 :: 004E5944
   Referenced at 004DA9EE
ZLIB deflate [long] :: 000E43C0 :: 004E4FC0
   Referenced at 004A70E0
   Referenced at 004A7300

Mi pregunta es, sabéis donde puede estar el problema? porque el programa esta bien parcheado y funciona bien salvo que se cierra de repente después de un rato.

Gracias y saludos.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines