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

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 287
31  Seguridad Informática / Hacking / Re: Criptografia en: 19 Febrero 2022, 14:55 pm
Hola una pregunta para descifrar un mensaje con criptografía se necesita si o si root?
Si tienes el mensaje en sí, no, no es necesario root
32  Programación / Programación C/C++ / Re: Programa contar palabras de una frase en C en: 17 Febrero 2022, 04:45 am
Yo haría algo así:
Código:
Texto = *ingresarlo*
Palabras = 0
Cursor = 1
Si charat Cursor == " "
   Palabras++
finsi
Cursor++
Si Cursor == Texto.largo
   mostrar la variable Palabras
sino
   goto 1er si
finsi
No sé si está bien, tendría que probarlo pero no tengo ganas.

Mucho mas simple. Pasa que el enunciado te pide usar arrays bidimensionales para complicarlo un poco
33  Programación / Programación C/C++ / Re: alguien me puede ayudar, si pueden reponderme lo antes posible porfa en: 16 Febrero 2022, 17:38 pm
Simplifica la lógica y utiliza funciones para reducir el código. Este programa no debería tener mas de 200 lineas de código.
34  Programación / Programación C/C++ / Re: Programa contar palabras de una frase en C en: 16 Febrero 2022, 15:11 pm
Necessito un programa que me que cuente las palabras de una frase. Pero el procedimiento ha de ser el siguiente, primero ubicar la cadena de caracteres en una tabla de dos dimensiones. En donde debe de haber una palabra en cada fila. Finalmente ha de contar las filas para saber el numero de palabras. La frase ha de acabar en punto. Voy muy perdido haciendo esto i no se ni como empezar  :-(

La metodología que sigo a la hora de resolver problemas es la siguiente.
- Leer todo el enunciado para saber exactamente que quieren que haga.
- Volver a leer el programa punto por punto hasta que entiendo cada punto.
- Redactar cada punto.
- Añadir puntos que no están redactados en el texto pero que son necesarios.
- Dividir cada punto en tareas sencillas.
- Programar las tareas sencillas.

De esta forma es muy difícil quedarse bloqueado, ya que sabes exactamente que tarea sencilla quieres realizar, y si no sabes hacerla, la buscas en Google y aprendes.

Por ejemplo, en esta tarea:
- Leer todo el enunciado para saber exactamente que quieren que haga:
Quieren que haga un contador de palabras.

- Volver a leer el programa punto por punto hasta que entiendo cada punto.
- Redactar cada punto:
.1 Ubicar string en tabla bidimensional (1 palabra por fila)
.2 Contar filas (hasta encontrar palabra con punto)

- Añadir puntos que no están redactados en el texto pero que son necesarios:
.1 Obtener string del usuario o escribirlo directamente en el código
.2 Ubicar string en tabla bidimensional (1 palabra por fila)
.3 Contar filas (hasta encontrar palabra con punto)
.4 Imprimir el resultado

- Dividir cada punto en tareas sencillas
.1 Obtener string del usuario o escribirlo directamente en el código
+ Imprime texto en pantalla pidiéndole al usuario que escriba su texto.
+ Obten el texto que escribio el usuario y guárdalo en un array de caracteres.

.2 Ubicar string en tabla bidimensional (1 palabra por fila)
+ Crea array
+ Recorre el texto del usuario (array de caracteres)
+ Crea una variable para guardar la posición donde empieza la palabra
+ Crea otra variable para guardar la posición donde acaba la palabra
+ Añade la palabra al array

.3 Contar filas (hasta encontrar palabra con punto)
+ Crea una variable para contar palabras
+ Recorre el array de palabras
+ Por cada palabra aumenta en 1 la variable contador
+ Si la palabra tiene un punto dentro, sal del bucle

.4 Imprimir el resultado
+ Imprime la variable contador indicando que se trata del número de palabras encontradas.

Una vez tienes el programa dividido en tareas sencillas, lo programas en el lenguaje que toque, en este caso C.
Si te ayuda, puedes hacer un paso mas, que sería convertir las tareas en pseudo código, antes de programarlo en C o poner las tareas en la estructura del lenguaje de destino. Puedes usar español para el pseudocódigo.

Pseudocódigo:
Código
  1. #incluye librerias
  2.  
  3. funcion principal {
  4.  // Imprime texto en pantalla pidiendole al usuario que escriba su texto.
  5.  // Obten el texto que escribio el usuario y guardalo en un array de caracteres.
  6.  
  7.  // Crea array
  8.  // Crea una variable para guardar la posicion donde empieza la palabra
  9.  // Crea otra variable para guardar la posicion donde acaba la palabra
  10.  // Recorre el texto del usuario (array de caracteres) {
  11.    // Anhade la palabra al array
  12.  }
  13.  
  14.  // Crea una variable para contar palabras
  15.  // Recorre el array de palabras {
  16.    // Por cada palabra aumenta en 1 la variable contador
  17.  // Si la palabra tiene un punto dentro, sal del bucle
  18.  }
  19.  
  20.  // Imprime la variable contador indicando que se trata del numero de palabras encontradas.
  21.  
  22.  
  23.  // pausa;
  24.  // retorna 0;
  25. }


+ Imprime texto en pantalla pidiéndole al usuario que escriba su texto.
https://www.google.com/search?q=como+imprimo+texto+al+usuario+en+C

+ Obten el texto que escribio el usuario y guárdalo en un array de caracteres.
https://www.google.com/search?q=leer+frase+del+usuario+C

.2 Ubicar string en tabla bidimensional (1 palabra por fila)
+ Crea array
https://www.google.com/search?q=como+crear+un+array+en+c
https://www.google.com/search?q=como+crear+un+array+bidimensional+en+c

+ Recorre el texto del usuario (array de caracteres)
https://www.google.com/search?q=como+recorrer+un+array+de+caracteres+en+c

+ Añade la palabra al array
https://www.google.com/search?q=como+meter+una+palabra+en+un+array+en+c
https://www.google.com/search?q=array+bidimensional+de+palabras+c
https://www.google.com/search?q=como+añado+palabras+de+un+texto+a+un+array+c
35  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 15 Febrero 2022, 20:11 pm
Bukele advierte que la verdadera guerra no está en Ucrania: «Solo quieren que mires para otro lado»

https://es.visiontimes.com/2022/02/14/bukele-ucrania.html

Bukele hizo énfasis en que la verdadera guerra no se encuentra en Ucrania, sino en otros países, justamente en aquellos que se están rebelando contra sus gobiernos por los pasaportes sanitarios y en donde se están realizando ‘Convoy de la libertad’.

«La verdadera guerra no está en Ucrania, está en Canadá, Australia, Francia, Bruselas, Inglaterra, Alemania, Italia. Solo quieren que mires para otro lado», dijo el mandatario.
36  Foros Generales / Dudas Generales / Re: generar sonido en: 15 Febrero 2022, 19:05 pm
quiero saber si la forma de "crear" el sonido es diferente entre los auriculares y los altavoces.
Ambas cosas transforman electricidad en sonido,no?, pero tienen la misma manera de crear el sonido?
¿en ambos casos es una membrana la que lo genera?

Es la misma forma, son siempre membranas movidas por un iman. Incluso los micrófonos funcionan de la misma forma que los altavoces y que los auriculares.

El PC tiene un audio en unos y ceros. Lo manda en forma de impulsos eléctricos a un iman. (uno = chispazo). A veces antes del imán hay un circuito que se encarga de separar en bandas las frecuencias para que sean amplificadas y llevadas por ejemplo las frecuencias altas al tweeter y las frecuencias bajas al woofer.
Entonces el iman repele la membrana haciéndo que esta vibre y se mueva generando sonido.

Es posible extraer datos utilizando los micrófonos como si se tratase de altavoces y viceversa, es decir, utilizar los típicos auriculares de micrófono para captar audio.

37  Programación / Desarrollo Web / Re: Como puedo DIVidir una pagina? en: 15 Febrero 2022, 04:50 am
El código javascript normalmente ponlo justo antes del cierre del body, no en el head. Si no, es posible que no puedas acceder a elementos porque aún no se han creado por parte del navegador.

Utiliza ids para nombres únicos y clases para nombres que se vayan a repetir. Por ejemplo, no vas a tener 2 class=wrapper, mejor usa un id ahí. En cambio en los test1 está bien usas clases porque tienes 2 elemenos con la clase.
Tampoco es necesario que añadas ids o clases única y exclusivamente para estilar cuando la estructura es simple, tienes un montón de selectores disponibles. Yo prefiero dejar las clases para relacionar con estilos concretos, mas que para identificar el tipo de elemento con lo que tengo en la cabeza.

Yo prefiero utilizar html léxico sobre usar divs para todo, es mas recomendado.

index.html
Código
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.  <meta charset="UTF-8">
  4.  <!-- Avoid GET request to favicon.ico -->
  5.  <link rel="icon" href="data:;base64,iVBORw0KGgo=">
  6.  <title>index</title>
  7.  <link rel="stylesheet" href="./css/index.css" media="all">
  8.  <meta name="theme-color" content="#fffafa">
  9. </head>
  10.  
  11.  <nav id="topBar">
  12.    <a href="#aboutUs">About Us</a>
  13.    <a href="#contact">Contact</a>
  14.    <a href="#projects">Projects</a>
  15.  </nav>
  16.  <section>
  17.    <article id="aboutUs">
  18.      <h3>About US</h3>
  19.      <p>
  20.        Dolor amet laudantium necessitatibus adipisci illo? Exercitationem consectetur fuga facere aliquam labore? Nam quis itaque dolor expedita tempora. Asperiores ipsam obcaecati dolores delectus quam Amet provident corporis doloribus veniam iure Nam ea error eaque ex odit debitis aliquid, perferendis accusamus sapiente. Tenetur nobis neque ex id incidunt. Cum eius porro
  21.      </p>
  22.    </article>
  23.  
  24.    <article id="contact">
  25.      <h3>Contact</h3>
  26.      <p>
  27.        Adipisicing fugiat repellat voluptas voluptas quo perspiciatis nemo laudantium! Molestiae libero in doloribus modi aspernatur! Maxime et pariatur quod et aperiam, nostrum. Deleniti omnis accusamus blanditiis architecto non? Quibusdam ratione ex minima aliquam inventore tempore voluptate. Non odio architecto laborum facere ea? Corrupti accusamus temporibus error temporibus eaque similique. Veniam
  28.      </p>
  29.  
  30.    </article>
  31.  
  32.    <article id="projects">
  33.      <h3>Projects</h3>
  34.      <p>
  35.        Ipsum aliquid dolor impedit libero placeat! Ea quo aliquam ipsum ab earum mollitia officiis! A aliquam molestiae quis molestias eum Iste quisquam aut neque eos corrupti Nulla iste officia eligendi voluptatibus hic? Excepturi impedit voluptas illum doloremque ratione fugit Facilis cum voluptatem quas non corrupti, laborum qui unde? Beatae optio
  36.      </p>
  37.    </article>
  38.  </section>
  39.  
  40.  <script src="./js/main.js"></script>
  41. </body>
  42. </html>


index.css
Código
  1. :root {
  2.  /* How to define variables in css example */
  3.  --color1: #34568b;
  4.  --color2: #e9e9e9;
  5.  --color3: #cb8b5d;
  6.  --fontColor: #333;
  7. }
  8.  
  9. html {
  10.  /* Animate the scroll instead of suddent jump */
  11.  scroll-behaviour: smooth;
  12.  /* Do not scroll all the way down */
  13.  scroll-padding-top: 1.5rem;
  14. }
  15.  
  16. /* When scrolling to article: */
  17. article:target {
  18.  outline: 1px dotted blue;
  19.  background-color: #fffbfb; /* Clearer than snow color */
  20.  color: #000; /* Darker than #333 */
  21. }
  22.  
  23.  
  24. body {
  25.  margin: 0;
  26.  width: 100%;
  27.  height: 100%;
  28.  text-align: middle;
  29.  text-size-adjust: none; /* Fix Android Big Text */
  30.  text-rendering: optimizeLegibility; /* Improve text */
  31.  margin-bottom: 14px; /* Some Android screens cover bottom viewport */
  32.  font-size: 2vw;
  33.  color: var(--fontColor);
  34.  font-family: sans-serif;
  35. }
  36.  
  37. #topBar {
  38.  display: flex;
  39.  justify-content: space-around;
  40.  position: fixed;
  41.  top: 0.5rem;
  42.  right: 0.5rem;
  43.  text-align: middle;
  44.  width: 30vw;
  45.  background-color: lightgray;
  46.  padding: 0.5rem;
  47.  border-radius: 1337px;
  48.  text-decoration: none;
  49.  opacity: 0.95;
  50. }
  51.  
  52. #topBar > a {
  53.  text-decoration: none;
  54. }
  55.  
  56. body > section { /* Sections that are a direct childs of body */
  57.  display: flex;
  58.  flex-direction: column; /* Default is row */
  59.  align-items: center; /* Align everything horizontally */
  60.  width: 100vw; /* Set width size, to make align efective */
  61.  background-color: snow;
  62. }
  63.  
  64. body > section > article { /* articles direct childs of sections that are direct childs of body */
  65.  padding: 1rem;
  66. }


Para el generar etiquetas, texto de ejemplo y demás, usé el plugin de emmet para vim (mi editor de texto). Por ejemplo, escribir al escribir el texto p>lorem50,,  se me generaron los <p>50 palabras aleatorias</p>

No utilicé javascript pero te dejé el script de ejemplo.
38  Programación / Desarrollo Web / Re: ¿Como inicio si quiero crear mi página web? en: 13 Febrero 2022, 17:17 pm
Buenos días! verán quiero crear una página para descargar juegos piratas, programas, películas y cosas así, pero no tengo idea de como comenzar, se muy poco de programación web, ¿alguien me podría indicar que debería hacer primero? ¿Que host comprar? lo agradecería mucho, un saludo a todos! c:

Necesitas un servidor web para alojar y servir los contenidos de la web.
Apache es uno de los mas populares. Busca una guía.

Una vez tienes el servidor, necesitas hacerlo accesible al resto de internet para que puedan verlo. Para ello necesitas redireccionar los puertos 80 (http) y 443 (https) del router.

Una vez lo tienes, puedes acceder a los archivos que tengas en la carpeta pública del servidor poniendo tu ip pública en cualquier pc/smartphone del mundo.

Como los proveedores de internet reusan las mismas ips para distintas personas, necesitarás un servicio DDNS para que la gente pueda acceder a tu servidor utilizando un dominio. Busca por internet free DDNS. Algunos populares son https://freedns.afraid.org/ y no-ip. Te darán también un dominio.

Con esto ya tienes listo el servidor, todo lo que pongas en la carpeta pública de Apache, lo podrá ver todo el mundo a través del dominio.

Por último sería el diseño de la web. Con HTML básico puedes hacerla sin complicarte. (remplaza example.com por el dominio que te de el servicio de freedns)
Código
  1. <!DOCTYPE html>
  2.  <meta charset="utf-8">
  3.  <title>Descargas - index.html</title>
  4. </head>
  5.  <div id="enlaces">
  6.    <div id="juegos">
  7.      <a href="https://example.com/juegos/gta.iso">GTA</a>
  8.      <a href="https://example.com/juegos/nfs.exe">Need For Speed</a>
  9.    </div>
  10.    <div id="peliculas">
  11.      <a href="https://example.com/peliculas/gladiator_esp.mp4">Gladiador</a>
  12.    </div>
  13.  </div>
  14. </body>
  15. </html>

Se verá feo, porque HTML se utiliza solo para definir el contenido.
Para modificar el aspecto, utiliza css
Código
  1. #juegos > a {
  2.  display: block;
  3.  color: #e33;
  4. }

Si quieres añadir funcionalidad extra utilizas javascript
Código
  1. const juegos = document.querySelector("#juegos");
  2. juegos.addEventListener("click", () => {
  3.  alert("Hiciste click en el apartado juegos");
  4. });


Todo esto es 100% gratuito.


Si no vas a almacenar contenido protegido por derechos de autor, puedes usar github pages, un repositorio de github y su servidor. Es la opción mas simple y no requiere de abrir puertos ni de gestionar tu servidor ni de configurar nada.
39  Sistemas Operativos / GNU/Linux / Re: Como puedo crear mi propio sistema operativo en: 13 Febrero 2022, 14:50 pm
Como te han comentado, para desarrollar un OS que funcione, tú solo, seguramente necesitaras décadas de experiencia programando. Y si ese fuese el caso, no harías esta pregunta. Entonces en base a esto, deduzco tu nivel de conocimientos y te respondo de forma que puedas acercarte bastante a lo que tratas de conseguir.


Lo mas simple que puedes hacer, es olvidarte de programar un kernel, compilar proyectos de código enormes, meterle mano al código fuente y demás. Y en su lugar irse directamente a la capa de usuario, que al final es lo que se ve y los kernel y distros de Linux ya están genial, como para tener que pasarse años programando algo similar que va a ir peor xD.

Entonces:
Te recomiendo usar proot, bajarte un filesystem del OS que mas te guste,  customizarlo todo y exportarlo.

Descargar proot:
curl -LO https://proot.gitlab.io/proot/bin/proot && chmod +x ./proot


- Descargar el filesystem de Alpine Linux (Es de los que menos pesan)
curl -LO https://dl-cdn.alpinelinux.org/alpine/v3.15/releases/x86_64/alpine-minirootfs-3.15.0-x86_64.tar.gz

- Extraer el sistema de archivos en una carpeta
tar -xvzf alpine-minirootfs-3.15.0-x86_64.tar.gz

- Renombrar la carpeta extraida al nombre que quieras.

Yo tengo 3 copias distintas de esta carpeta:
1. alpineClean - Esta carpeta está sin modificar, solo le cambie el nombre tras extraerla del .tar.gz. La utilizo para crear nuevos "OS" limpios.

2. customDistro - En esta carpeta hago todos los cambios que quiero. Por ejemplo instalo programas, edito el saludo que sale al iniciar, cambio el gestor de paquetes por otro custom, cambio la shell de sh/ash/bash a otra que me guste mas, añado programas mios, etc.

3. baseDistro - Esta carpeta es una copia de customDistro por si la lío y borro algo por accidente, no tener que rehacer todo de 0. O por si quiero hacer cambios.

Una vez tengo una distro lista, por ejemplo con 100 herramientas de hacking, la exporto y le doy un nombre. Y la puedo utilizar en cualquier lado con proot.


Aquí te dejo algunos scripts básicos para ayudarte a manejar las distros:

arrancarOS.sh
Código
  1. #!/usr/bin/env bash
  2.  
  3. proot -0 -r ./customDistro -w /root --kill-on-exit --kernel-release=5.4.0 --bind="/dev/urandom:/dev/random" --bind="/proc/self/fd:/dev/fd" --bind="/proc/self/fd/0:/dev/stdin" --bind="/proc/self/fd/1:/dev/stdout" --bind="/proc/self/fd/2:/dev/stderr"


exportarOS.sh
Código
  1. #!/usr/bin/env bash
  2.  
  3. 7z a dist-custom-distro.7z customDistro

purgarOS.sh
Código
  1. #!/usr/bin/env bash
  2.  
  3. yes | rm -r customDistro; cp alpineClean customDistro -r


resetearOS.sh
Código
  1. #!/usr/bin/env bash
  2.  
  3. yes | rm -r customDistro; cp baseDistro customDistro -r


Con proot estás utilizando el kernel del sistema original, así las distros son mucho mas ligeras. Tengo alguna distro compleja que pesa menos de 10 Megas.

Puedes extraer el fileSystem de cualquier distro de Linux para customizarlo usando el comando tar si buscas la documentación oficial de Proot, te lo explican. Usar la de Alpine tiene sus ventajas y sus desventajas. Las principales ventajas es que es muy ligero (6 megas aprox) y fácil de utilizar. La principal  desventaja es que utiliza muscl como librería de C, por lo que algunos programas puede que no los encuentres y tengas que compilarlos tú con esa librería.

Para instalar paquetes en alpine:
apk add curl

Para buscar paquetes:
apk search nmap

Para informacion sobre el paquete:
apk info nmap

Para desinstalar un paquete:
apk del curl
40  Foros Generales / Foro Libre / Re: Qué son los demonios de la ciencia y por qué son tan útiles para el conocimiento en: 7 Febrero 2022, 21:58 pm
WTF es esto?
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 287
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines