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


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 94
71  Seguridad Informática / Seguridad / Re: puerto raro, sera hacking? en: 11 Febrero 2023, 06:26 am
ahora hice un scan y tengo un puerto abierto el 631 ¿que piensan? ademas se me pone lenta la internet en la madrugada.

En varias distros viene el servicio de impresora habilitado en el puerto 631, hasta es más podés entrar con el navegador de internet que tengas a mano para verificarlo...


Citar
CUPS es el sistema de impresión de código abierto basado en estándares desarrollado por OpenPrinting para macOS® y otros sistemas operativos tipo UNIX®. CUPS uses IPP Everywhere™ to support printing to local and network printers.


B#
72  Programación / Programación C/C++ / Re: Palabra cifrada, programacion en C en: 2 Febrero 2023, 19:45 pm
Bienvenido al foro, recordá que se te dió la orden que el prototipo de la función descifrarPalabra tiene que usar un puntero a una estructura:

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. struct palabra {
  5. char entrada[100];
  6. char resultado[100];
  7. };
  8.  
  9. int esNumeroValido(char numeroEnLetra) {
  10. return (numeroEnLetra >= '0' && numeroEnLetra <= '5');
  11. }
  12.  
  13. void descrifrarPalabra(struct palabra* mensaje) {
  14. if (!mensaje)
  15. return;
  16. int posicionDeLaLetraDelStringResultado = 0, posicionDeLaLetraDelStringEntrada = 0;
  17. // Continuar desde aca :)
  18. }
  19.  
  20. int main(int argc, char* argv[]) {
  21. // Inicializar los strings en cero...
  22. struct palabra mensaje;
  23. memset(mensaje.entrada, 0, 100);
  24. memset(mensaje.resultado, 0, 100);
  25. printf("Descifrar palabra\n");
  26. printf("Ingrese la palabra cifrada: ");
  27. scanf("%s", mensaje.entrada);
  28. descrifrarPalabra(&mensaje);
  29. printf("Palabra descifrada: %s", mensaje.resultado);
  30. return 0;
  31. }


B#
73  Foros Generales / Sugerencias y dudas sobre el Foro / Re: ¿Emoticons más orientados al hacking e informática? en: 31 Enero 2023, 03:48 am
¿Se le podría pedir a alguna IA dibujante? Si no hay que dar teléfonos o algo raro, me pueden decir cual y pruebo.
Podés utilizar Stable Diffusion en tu propio hardware sin vender tu número de telefono a nadie... :silbar: Mi avatar de Messi Vegeta fue generado por la variante de openvino.

Un posible problema que veo en esto es la estereotipación o como se diga, es decir, me imagino emoticons de tipos con capucha o máscara, como está estereotipado que es un hacker ¿no?

Código
  1. (stablediffusionopenvino) $ python demo.py --seed 1337 --num-inference-steps 50 --guidance-scale 7 --prompt "An emoji from Guy Fawkes hacking with a laptop, intricate, elegant, highly detailed, digital painting, sharp, focus, by artgerm and greg rutkowski"

14:48 minutos porque mi laptop está perezosa después...



Código
  1. (stablediffusionopenvino) $ python demo.py --seed 1337 --num-inference-steps 50 --guidance-scale 7 --prompt "A man wearing a mask of Guy Fawkes hacking with a laptop, intricate, elegant, highly detailed, digital painting, sharp, focus, by artgerm and greg rutkowski"

15:25 minutos después sigue perezosa...



Mismo prompt y otros 14:51 doritos después, pero con escala de guía a 12 en lugar de 7 para que supuestamente obedezca más...




B#
74  Programación / Java / Re: Ayuda en: 30 Enero 2023, 21:51 pm
si alguien puede decirme como podría hacerlo, o quieren ver lo que llevo de código, por favor no duden en responder a éste mensaje.

Bienvenido al foro, en este foro se resuelven y ayudan a las personas en base a lo que muestres lo que tengas ya hecho y se tratará de ayudar en base a tu código.


B#
75  Programación / Programación C/C++ / Re: Error en código para Piedra, Papel, o Tijeras (C++) en: 24 Enero 2023, 04:45 am
error:E0137 "la expresión debe ser un valor L modificable"
(...)
¿Me podrían dar alguna pista para ubicarme en donde estoy fallando?

Quisiera mencionar un par de detalles:

Código
  1. #include <iostream>
  2. #include <ctime>
  3. #include <cstdlib>
  4. #include<stdlib.h>
  5. #include<time.h>

Evitá el uso de las mismas librerías de C++ con C que definan lo mismo...

Código
  1. using namespace std;
Usar el namespace std de manera global tengo entendido que suele ser mala práctica, siempre es mejor considerar escribir la función con su namespace completo, por ejemplo:
Código
  1. std::cout << "Hola" << std::endl

Siempre recordá el uso del nombre de las variables en C++ debe tener notación húngara.

Ahora sí con respecto a tu función:
Código
  1. /* implementa aqui la funcion f_determina_ganador(int p_pc, int p_usuario)
  2.    Esta funcion debe contener la logica para determinar cual de los dos ha ganado.
  3.    Las reglas son: Piedra vence a tijera; Tijera vence a Papel; Papel vence Piedra.
  4.    Devuelve un tipo de datos char que identifica al ganador: "Computadora" o "Jugador".
  5. */
  6. char f_determina_ganador(int p_pc, int p_usuario)
  7. {
  8.    string ganador;
  9.  
  10.    if (p_pc = 1 && p_usuario = 2)
  11.        ganador = "Jugador";
  12.    else if (p_pc = 1 && p_usuario = 3)
  13.        ganador = "Computadora";
  14.    else if (p_pc = 2 && p_usuario = 1)
  15.        ganador = "Computadora";
  16.    else if (p_pc = 2 && p_usuario = 3)
  17.        ganador = "Jugador";
  18.    else if (p_pc = 3 && p_usuario = 1)
  19.        ganador = "Jugador";
  20.    else if (p_pc = 3 && p_usuario = 2)
  21.        ganador = "Computadora";
  22.    else
  23.        ganador = "Empate";  
  24. }

Recordá que char por si solo es simplemente un número entero con signo de 1 byte y no un string, aparte en cada if estás asignando los valores en lugar de compararlos (un signo igual es asignación, mientras que dos signos iguales es comparación).

Código
  1. enum
  2. {
  3.    WINNER_TYPE_PLAYER,
  4.    WINNER_TYPE_COMPUTER,
  5.    WINNER_TYPE_TIE,
  6. };
  7.  
  8. enum
  9. {
  10.    OPTION_TYPE_STONE = 1,
  11.    OPTION_TYPE_PAPER,
  12.    OPTION_TYPE_SCISSOR,
  13.    OPTION_TYPE_EXIT,
  14. };
  15.  
  16. char f_determina_ganador(int p_pc, int p_usuario)
  17. {
  18.    char cWinner;
  19.  
  20.    if (p_pc == OPTION_TYPE_STONE && p_usuario == OPTION_TYPE_PAPER)
  21.        cWinner = WINNER_TYPE_PLAYER;
  22.    else if (p_pc == OPTION_TYPE_STONE && p_usuario == OPTION_TYPE_SCISSOR)
  23.        cWinner = WINNER_TYPE_COMPUTER;
  24.    else if (p_pc == OPTION_TYPE_PAPER && p_usuario == OPTION_TYPE_STONE)
  25.        cWinner = WINNER_TYPE_COMPUTER;
  26.    else if (p_pc == OPTION_TYPE_PAPER && p_usuario == OPTION_TYPE_SCISSOR)
  27.        cWinner = WINNER_TYPE_PLAYER;
  28.    else if (p_pc == OPTION_TYPE_SCISSOR && p_usuario == OPTION_TYPE_STONE)
  29.        cWinner = WINNER_TYPE_PLAYER;
  30.    else if (p_pc == OPTION_TYPE_SCISSOR && p_usuario == OPTION_TYPE_PAPER)
  31.        cWinner = WINNER_TYPE_COMPUTER;
  32.    else
  33.        cWinner = WINNER_TYPE_TIE;
  34.  
  35.    return cWinner;    
  36. }

Con respecto a la función f_muestra_ganador que te falta se puede usar un simple switch:

Código
  1. /* Implementa aquí la función f_muestra_ganador la misma toma como parámetro un tipo de datos char
  2.    con el identificando el ganador. Debe mostrar la descripción indicando el ganador
  3. */
  4. void f_muestra_ganador(char p_ganador)
  5. {
  6.    switch(p_ganador)
  7.    {
  8.     case WINNER_TYPE_PLAYER:
  9.        std::cout << "El ganador es: Jugador" << std::endl;
  10.        break;
  11.     case WINNER_TYPE_COMPUTER:
  12.        std::cout << "El ganador es: Computer" << std::endl;
  13.        break;
  14.     case WINNER_TYPE_TIE:
  15.        std::cout << "El ganador es: Empate" << std::endl;
  16.        break;
  17.    }
  18. }

Te dejo el código completo que me funcionó a mi en Linux:



Código
  1. #include <cstdlib>
  2. #include <ctime>
  3. #include <iostream>
  4. #include <random>
  5. #include <string>
  6.  
  7. //Prototipado de las funciones o firma de las funciones
  8. int f_opcion_de_la_pc();
  9. void f_muestra_opciones_menu();
  10. char f_determina_ganador(int pp_pc, int pp_usuario);
  11. void f_muestra_ganador(char p_ganador);
  12.  
  13. enum
  14. {
  15.    WINNER_TYPE_PLAYER,
  16.    WINNER_TYPE_COMPUTER,
  17.    WINNER_TYPE_TIE,
  18. };
  19.  
  20. enum
  21. {
  22.    OPTION_TYPE_STONE = 1,
  23.    OPTION_TYPE_PAPER,
  24.    OPTION_TYPE_SCISSOR,
  25.    OPTION_TYPE_EXIT,
  26. };
  27.  
  28. int main() {
  29.  
  30.    int iUserOption;
  31.    int iPCOption;
  32.  
  33.    std::cout << " \t Bienvenidos al juego Piedra, papel y Tijera" << std::endl << std::endl;
  34.    f_muestra_opciones_menu();
  35.  
  36.    /*  Captura la opcion seleccionada por el usuario.
  37.     Valida que la opcion sea valida. Si es una entre 1 y 3, llama a la funcion
  38.     f_iPCOption() captura el resultado y pasalo como parametro junto con la
  39.     opcion tomada por el usuario a la funcion f_determina_ganador.
  40.     Si el usuario elige la opcion 4, termina el programa.
  41. */
  42.  
  43.    std::cin >> iUserOption;
  44.    if (iUserOption == OPTION_TYPE_EXIT)
  45.        return 0;
  46.  
  47.    while (iUserOption < OPTION_TYPE_STONE || iUserOption > OPTION_TYPE_EXIT)
  48.    {
  49.        std::cout << "Esa opcion no esta disponible, intentelo otra vez." << std::endl;
  50.  
  51.        f_muestra_opciones_menu();
  52.        std::cin >> iUserOption;
  53.        if (iUserOption == OPTION_TYPE_EXIT)
  54.            return 0;
  55.    }
  56.  
  57.    iPCOption = f_opcion_de_la_pc();
  58.  
  59.    /* En la función f_muestra_ganador captura ganador que devuelve
  60.        la funcion f_determina_ganador(int p_pc, int p_usuario)
  61.        Muestra el mensaje: "El ganador es: " + ganador.
  62.        Como un plus, pregunta si quiere seguir jugando y continua el juego
  63.     */
  64.    f_muestra_ganador(f_determina_ganador(iPCOption, iUserOption));
  65.  
  66.    return 0;
  67. }
  68.  
  69. //Definicion de las funciones
  70. void f_muestra_opciones_menu() {
  71.    std::cout << "\t 1 - Piedra" << std::endl;
  72.    std::cout << "\t 2 - Papel" << std::endl;
  73.    std::cout << "\t 3 - Tijera" << std::endl;
  74.    std::cout << "\t 4 - Salir" << std::endl;
  75.  
  76.    std::cout << "Elige tu opcion: ";
  77. }
  78.  
  79. //Implementar aqui la funcion f_opcion_de_la_pc()
  80. //Este funcion generara un numero aleatorio entre 1 y 3 y lo devolvera
  81. int f_opcion_de_la_pc()
  82. {
  83.    std::default_random_engine generator;
  84.    std::uniform_int_distribution<int> distribution(1,3);
  85.  
  86.    return distribution(generator);
  87. }
  88.  
  89. /* implementa aqui la funcion f_determina_ganador(int p_pc, int p_usuario)
  90.    Esta funcion debe contener la logica para determinar cual de los dos ha ganado.
  91.    Las reglas son: Piedra vence a tijera; Tijera vence a Papel; Papel vence Piedra.
  92.    Devuelve un tipo de datos char que identifica al ganador: "Computadora" o "Jugador".
  93. */
  94. char f_determina_ganador(int p_pc, int p_usuario)
  95. {
  96.    char cWinner;
  97.  
  98.    if (p_pc == OPTION_TYPE_STONE && p_usuario == OPTION_TYPE_PAPER)
  99.        cWinner = WINNER_TYPE_PLAYER;
  100.    else if (p_pc == OPTION_TYPE_STONE && p_usuario == OPTION_TYPE_SCISSOR)
  101.        cWinner = WINNER_TYPE_COMPUTER;
  102.    else if (p_pc == OPTION_TYPE_PAPER && p_usuario == OPTION_TYPE_STONE)
  103.        cWinner = WINNER_TYPE_COMPUTER;
  104.    else if (p_pc == OPTION_TYPE_PAPER && p_usuario == OPTION_TYPE_SCISSOR)
  105.        cWinner = WINNER_TYPE_PLAYER;
  106.    else if (p_pc == OPTION_TYPE_SCISSOR && p_usuario == OPTION_TYPE_STONE)
  107.        cWinner = WINNER_TYPE_PLAYER;
  108.    else if (p_pc == OPTION_TYPE_SCISSOR && p_usuario == OPTION_TYPE_PAPER)
  109.        cWinner = WINNER_TYPE_COMPUTER;
  110.    else
  111.        cWinner = WINNER_TYPE_TIE;
  112.  
  113.    return cWinner;    
  114. }
  115.  
  116.  
  117. /* Implementa aquí la función f_muestra_ganador la misma toma como parámetro un tipo de datos char
  118.    con el identificando el ganador. Debe mostrar la descripción indicando el ganador
  119. */
  120. void f_muestra_ganador(char p_ganador)
  121. {
  122.    switch(p_ganador)
  123.    {
  124.     case WINNER_TYPE_PLAYER:
  125.        std::cout << "El ganador es: Jugador" << std::endl;
  126.        break;
  127.     case WINNER_TYPE_COMPUTER:
  128.        std::cout << "El ganador es: Computer" << std::endl;
  129.        break;
  130.     case WINNER_TYPE_TIE:
  131.        std::cout << "El ganador es: Empate" << std::endl;
  132.        break;
  133.    }
  134. }


B#
76  Seguridad Informática / Hacking / Re: Modificar valores de juego online en: 23 Enero 2023, 20:02 pm
Buenas, tengo una duda y es que estoy intentando modificar ciertos valores en el juego ¨Seafight¨, el cual antes era un juego web y ahora lo han traspasado literal a unity3d (aunque aun se puede entrar online).

Habría que ver cuál es el backend del juego, si es Mono o IL2CPP y reversear el juego tomaría algo de tiempo para ver como funciona internamente.


B#
77  Programación / Programación C/C++ / Re: funciones anidadas en C en: 23 Enero 2023, 19:07 pm
¿Existe alguna forma en la que pueda anidar funciones en el lenguaje C?

En C puro no tengo idea, pero sé que en el estandar de C++11 se agregó la posibilidad de utilizar funciones lambda.

https://learn.microsoft.com/en-us/cpp/cpp/lambda-expressions-in-cpp


B#
78  Sistemas Operativos / Windows / Re: windows 7 en: 22 Enero 2023, 02:40 am
No se como las borre , ncesito descargar imagen de windows 7 cualquiera x64 y 86
Gracias de antemano

Hola, en el servidor de descargas del foro hay un par de ISOs de Windows, incluyendo una de Windows 7 de 64 bits.


B#
79  Programación / Programación General / Re: ¿A que se debe la sintaxis de ensamblador de at&t? en: 18 Enero 2023, 22:54 pm
¿Que ventaja tiene sobre las demas, ademas de verse como un plato spaghetti y ser innecesariamente incomodo de leer?

También podés especificarle al compilador GCC que compile en sintáxis tipo intel...

https://stackoverflow.com/questions/199966/how-do-you-use-gcc-to-generate-assembly-code-in-intel-syntax


B#
80  Seguridad Informática / Análisis y Diseño de Malware / Re: [MSF] Modificar un shellcode en: 14 Enero 2023, 19:50 pm
Si... Al final no quedo alternativa que modificaciones manuales. Me hubiera gustado poder ensamblar yo mismo la shellcode pero no hallo la manera.

Al menos a mi me funciono lo siguiente:

shellcode.asm:
Código
  1. .section .text
  2. .globl _start;
  3. _start:
  4. xor %eax, %eax
  5. mov $1337,%eax
  6. ret

Compilar a elf (opcional el --32 para 32 bits)
Código
  1. as --32 shellcode.asm -o shellcode.elf

Mirar el contenido del assembler:
Código
  1. objdump -d shellcode.elf

Exportar el contenido a secuencia de bytes:
Código
  1. objcopy -v -O binary shellcode.elf shellcode.bin

Comparar el contenido de los bytes con los bytes ensamblados:
Código
  1. xxd shellcode.bin


B#
Páginas: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ... 94
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines