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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: 1 ... 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 [18] 19
171  Informática / Hardware / Discos duros estropeados. en: 31 Mayo 2019, 17:14 pm
Me encontré en mi vertedero de confianza dos hdd.

Uno externo usb y otro sata.

Abrí el sata wensterd digital y tiene la aguja atascada.

El externo usb infotronic hace fiesta de chispas al meterle corriente. Creo que es del cargador. Es el tipico de 12 voltios. Puede que el disco esté vivo? Me da miedito injustificado probarlo en el pc xD

Ni p**a de como puedo hacerlos funcionar de forma segura para recuperar lo que se pueda.
172  Programación / Programación C/C++ / SDL2 C++ Como puedo poner un rectangulo encima de una imagen? en: 29 Mayo 2019, 08:38 am
Tengo esto hecho, la segunda imagen que cargo tiene 4 cuadrados a los que quiero rebordear y que cuando le haga click ejecuten diversos codigos. Alguien sabe como se hace?
estuve mirando por los ejemplos de Foo pero los del raton no me compilan. Y solo hay un ejemplo con cuadrados. Ando a ver si lo doy hecho pero se me complica. Tengo otro codigo hecho, pero solo se ven los cuadrados, no se como cargarlos encima de las imagenes.

Código
  1. #include <SDL.h>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. const short int ANCHO_VENTANA = 454;
  7. const short int ALTO_VENTANA = 340;
  8. const int TIEMPO_DELAY_IMAGEN_UNO = 3000;
  9. const int TIEMPO_DELAY_IMAGEN_MENU = 5000;
  10.  
  11. SDL_Window* pVentana = NULL;
  12. SDL_Surface* pSuperficie = NULL;
  13. SDL_Surface* pImagen = NULL;
  14.  
  15. bool Inicializar();
  16.  
  17. bool CargarImagen();
  18.  
  19. bool CargarImagenMENU();
  20.  
  21. void Cerrar();
  22.  
  23. void CargarImagenEnMain();
  24.  
  25. void CargarImagenMENUEnMain();
  26.  
  27. //-------------------------------------------------------------------------------
  28.  
  29.  
  30. int main(int argc, char* args[])
  31. {
  32. if (!Inicializar())
  33. {
  34. cout << "Error al inicializar en main" << endl;
  35. }
  36.  
  37. else
  38. {
  39. CargarImagenEnMain();
  40. CargarImagenMENUEnMain();
  41. }
  42.  
  43. Cerrar();
  44. return 0;
  45. }
  46.  
  47.  
  48. //-------------------------------------------------------------------------------
  49.  
  50.  
  51. bool Inicializar()
  52. {
  53. bool inicializado = true;
  54. if (SDL_Init(SDL_INIT_VIDEO)<0)
  55. {
  56. cout << "Error Inicializando Video: " << SDL_GetError() << endl;
  57. inicializado = false;
  58. }
  59.  
  60. else
  61. {
  62. pVentana = SDL_CreateWindow("RPG DRAGON",SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, ANCHO_VENTANA, ALTO_VENTANA,/*SDL_WINDOW_FULLSCREEN &&*/ SDL_WINDOW_SHOWN);
  63. if (pVentana == NULL)
  64. {
  65. cout << "Error al crear la ventana" << endl;
  66. }
  67.  
  68. else
  69. {
  70. pSuperficie = SDL_GetWindowSurface(pVentana);
  71. }
  72. }
  73. return inicializado;
  74. }
  75.  
  76. //-------------------------------------------------------------------------------
  77.  
  78. bool CargarImagen()
  79. {
  80. bool inicializado = true;
  81. pImagen = SDL_LoadBMP("DragonRPGINTRO.bmp");
  82. if (pImagen==NULL)
  83. {
  84. cout << "Error al cargar Imagen1" << endl;
  85. inicializado = false;
  86. }
  87. return inicializado;
  88. }
  89.  
  90. //-------------------------------------------------------------------------------
  91.  
  92. bool CargarImagenMENU()
  93. {
  94. bool inicializado = true;
  95. pImagen = SDL_LoadBMP("DragonRPGMENU.bmp");
  96. if (pImagen==NULL)
  97. {
  98. cout << "Error al cargar ImagenMENU" << endl;
  99. inicializado = false;
  100. }
  101. return inicializado;
  102. }
  103.  
  104. //-------------------------------------------------------------------------------
  105.  
  106. void Cerrar()
  107. {
  108. SDL_FreeSurface(pImagen);
  109. pImagen = NULL;
  110.  
  111. SDL_DestroyWindow(pVentana);
  112. pVentana = NULL;
  113.  
  114. SDL_Quit();
  115. }
  116.  
  117. //-------------------------------------------------------------------------------
  118.  
  119. void CargarImagenEnMain()
  120. {
  121. if (!CargarImagen())
  122. {
  123. cout << "Error al cargar la imagen en main." << endl;
  124. }
  125.  
  126. else
  127. {
  128. SDL_BlitSurface(pImagen, NULL, pSuperficie, NULL);
  129. SDL_UpdateWindowSurface(pVentana);
  130. SDL_Delay(TIEMPO_DELAY_IMAGEN_UNO);
  131. }
  132. }
  133.  
  134. //-------------------------------------------------------------------------------
  135.  
  136. void CargarImagenMENUEnMain()
  137. {
  138. if (!CargarImagenMENU())
  139. {
  140. cout << "Error al cargar la imagenMENU en main." << endl;
  141. }
  142.  
  143. else
  144. {
  145. SDL_BlitSurface(pImagen, NULL, pSuperficie, NULL);
  146. SDL_UpdateWindowSurface(pVentana);
  147. SDL_Delay(TIEMPO_DELAY_IMAGEN_MENU);
  148. }
  149. }
173  Programación / Programación C/C++ / Ayuda con programa C++, javascript y Html en: 29 Mayo 2019, 07:16 am
Voy a poner el codigo en respuestas al post dividido por problemas con cloudflare  :-\

Código
  1. /*Intento tomar el imput del usuario por consola C++,
  2. crear un documento.html con javascript,
  3. aplicarle la siguiente funcion javascript al imput del usuario
  4. var cifrado = encodeURIComponent("imputDelUsuario");
  5. escribir el resultado de la funcion javascript en el codigo fuente del documento.html usando
  6. la funcion javascript document.write(cifrado);
  7. obtener todo el codigo fuente del documento.html dentro de la variable string cifrar en c++
  8. y usar find para buscar en el string que contiene el codigo fuente el resultado de la funcion
  9. en javascript. Esto ultimo aun sin implementar. */
  10.  
  11. /*Problemas que tengo:
  12. 1 - document.write(cifrado) no me escribe el resultado de la funcion
  13. encodeURIComponent("imputDelUsuario");
  14. No entiendo por que.
  15.  
  16. 2 - Quiero hacer el codigo portable y no conozco ninguna alternativa multiplataforma
  17. a system ("start Documento.html"); para abrir el navegador por defecto con el documento.
  18.  
  19. 3 - Esto forma parte de un proyecto bastante mas grande de librerias que utilizo entre
  20. otras cosas para obtener geolocalizacion a traves del navegador y guardarlo en C++. Por
  21. lo que alternativas en C++ que subtituyan la funcion encodeURIComponent() no son viables.
  22. Tambien intento hacer la libreria para que me permita tener acceso a elementos de escritorio
  23. desde javascript, como rutas de ficheros, etc.
  24.  
  25. 4 - Esta funcion que no incluyo en este codigo tambien me esta dando problemas:
  26. void abrir_nueva_pestanhaHTML(string url, string mensaje)
  27. {
  28. string nuevapestanha1 = "<a target=\"_blank\" href=\"";
  29. string nuevapestanha2 = "\">";
  30. string nuevapestanha3 = "</a>";
  31. ContenidoH = ContenidoH + nuevapestanha1 + url + nuevapestanha2 + mensaje + nuevapestanha3;
  32. }
  33.  
  34. Resulta que en la url del navegador se me anhade toda la direccion del archivo documento.html
  35. en plan:
  36. c:\\Carpeta\Carpeta2\documento.html\www.google.com en lugar de: www.google.com
  37.  
  38. 5 - Con esta funcion tambien tengo problemas. Hago la llamada asi:
  39. formateo_textoJS("blue", "18", "Courier, monospace");
  40.  
  41. La funcion es:
  42. void formateo_textoJS(string colorFondo, string tamanhoFuente, string fuenteFamilia)
  43. {
  44. string fondo1 = "document.body.style.backgorundColor =";
  45. string fondo2 = "\";";
  46. ContenidoJ = ContenidoJ + startScript + fondo1 + colorFondo + fondo2 + finScript;
  47.  
  48. salto_lineaJS();
  49.  
  50. string tamanho1 = "document.body.style.fontSize =";
  51. string tamanho2 = "px\";";
  52. ContenidoJ = ContenidoJ + startScript + tamanho1 + tamanhoFuente + tamanho2 + finScript;
  53.  
  54. salto_lineaJS();
  55.  
  56. string fuente1 = "document.body.style.fontFamily =";
  57. string fuente2 = "\";";
  58.  
  59. ContenidoJ = ContenidoJ + startScript + fuente1 + fuenteFamilia + fuente2 + finScript;
  60. }
  61.  
  62. En el codigo fuente de documento.html todo es correcto, pero no sucede nada.
  63. */
174  Programación / Programación C/C++ / Ayuda con funcion con vector. en: 29 Mayo 2019, 00:17 am
Hola tengo un string que me tiene almacenada una cadena con varios caracteres.
Quiero tomar los caracteres de 6 en 6 y almacenar cada grupo de 6 caracteres en un vector de strings.
Quedandome vector[0] 6 caracteres, vector[1] 6 caracteres...
Si la cantidad de caracteres del string no es divisor de 6 puede que me quede por ejemplo en
vector[5] 2 caracteres. Entonces en ese caso debo rellenar ese ultimo string dentro del vector para que contenga 6 caracteres. Lo estoy intentando hacer de varias maneras distintas y de ninguna lo logro.
Esto es lo que estoy haciendo ahora y tampoco me fuciona:

Código
  1. int complemento =6;
  2. string cadenaDeCaracteres;
  3. string dividir6;
  4. int x = cadenaDeCaracteres.length();
  5. int z =0;
  6.  
  7. while (z<x)
  8. {
  9.   for (int i=0; i<complemento; ++i)
  10.   {
  11.   dividir6 + cadenaDeCaracteres[i];
  12.   }
  13.   complemento+=6;
  14.   vector.push_back(dividir6);
  15.   dividir6="";
  16. ++z;
  17. }
  18.  
  19. int a = vector.size();
  20.  
  21. while ((vector[a]).size() <6)
  22. {
  23. vector[a].append("0");
  24. }
  25.  

Ya me estoy liando la cabeza, me da errores de varias formas distintas.
estuve a prueba y error y no consegui sacar una funcion que haga lo que pido.
Es para un cifrado de binario a base64.
Gracias.
175  Seguridad Informática / Hacking / Link con libros hacking descarga gratis .pdf en: 19 Mayo 2019, 06:29 am
https://www.pdfdrive.com/hacking-books.html
Muchos se pueden descargar gratis. Tambien hay otras categorias, muy buena web.
176  Programación / Programación C/C++ / Manual errores comunes C++ en: 19 Mayo 2019, 05:42 am
Estaba buscando manuales de desarrollo de malware y me encontre esto:
https://tfetimes.com/wp-content/uploads/2015/04/hack.pdf
No tiene nada que ver pero lo estoy leyendo y me parece muy util con "hacks" para mejorar casos concretos de errores de programación comunes. Son en total 135 "hacks".

Un ejemplo:

Hack 52: Know When to Use _exit
The Problem: You are forking off a process and do some work and then
exit, without doing anything to the I/O buffers in the process. You can't use the
exit function because of the problems described in Hack 51.
The Hack: Use _exit.
The _exit function stops your program. That's all it does, stop the
program. It does not pass go, it does not collect $200. But more importantly it
does not flush any I/O buffers. All that happens when you call _exit is that
your process goes away.

This is very useful when you've forked of a process that has done it's work
and needs to stop. Remember exit flushes things and can cause all sorts of
trouble with shared files. The _exit call avoids this problem.
177  Programación / Programación C/C++ / HTML5 y C++? en: 19 Mayo 2019, 02:07 am
Estoy leyendo algunos articulos que hablan de usar HTML5 como salida gráfica para aplicaciones de escritorio en C++.
Otros articulos afirman que se puede utilizar C++ para modificar HTML5 como un archivo normal de texto, leerlo, escribirlo etc para acabar mostrandolo directamente en tu servidor.
Otros articulos enseñan C++ embebido dentro de HTML5 que te perimte añadir por ejemplo javascript para que los desarrolladores web puedan leer el javascript e ignorar el C++.
Otros enseñan aplicaciones en QT usando HTML5 y C++.

Hay muchos articulos que hablan de distintas posibilidades pero no encuentro ningún manual de referencia que hable de todas las posibilidades y/o como aprender a utilizarlas.

Sabeis algo al respecto? Algún libro, o algo detallado.

Seria genial poder hacer mis webs usando html javascript y c++ o usar html5 de gui para mis programas de escritorio.

No encuentro ningun manual o libro, solo articulos que hablan de la posibilidad o las caracteristicas con casos concretos. Sigo buscando a ver si encuentro algo.
178  Seguridad Informática / Seguridad / Como puedo obtener la ip de un usuario que esta usando mi servidor de DNS en: 18 Mayo 2019, 21:37 pm
Quiero tener un registro de a quien le estoy resolviendo que.
Por ejemplo el usuario3 con ip 111.22.33.444 me pide que le resuelva el dominio google.com
Como puedo crear un perfil para que almacene ip y todos los dominios que ese usuario quiere resolver?

Algo en plan: usuario3.txt
Ip 111.22.33.444

Dominios:
google.com
yahoo.es

Básicamente es para identificar quien está realizando ataques de denegacion de servicio enviandome dominios aleatorios que no existen.
Me interesa saber de donde viene el ataque, pero no defenderme de sus ataques.

Alguien sabe como podría crear estos perfiles? Tampoco quiero cerrarle el acceso directo al servidor donde a parte de resolver dominios, tiene otros servicios a los que si quiero que acceda el atacante.

Lo que quiero es filtrar solo los ataques al servidor dns.

No quiero utilizar firewalls ni dnssec.

NO QUIERO ESTABLECER SEGURIDAD PARA PROTEGERME DE ATAQUES DE FORMA GENERAL.
No quiero protegerme de ataques similares que vengan desde otras ip, solo de una.

Alguien sabe?  :-\
179  Sistemas Operativos / GNU/Linux / MINITUTO: Cargar Cache y Archivos Temporales en Ram en: 16 Mayo 2019, 07:50 am
Como la ram hoy en dia es barata la podemos usar para todo tipo de archivos.
Pa que sirve esto?
La ram es mas rápida que el disco duro.
Se le ahorra trabajo al disco duro, esto hace que tenga mas vida util. Vamos, que te dura más tiempo.
Ahorras espacio en el disco duro.
Borras automáticamente archivos temporales que a algunos programas se le olvida borrar cuando los dejan de utilizar al apagar el pc.
Borras cache automaticamente al que no le suelas dar mucho uso cuando apagues el pc.
En muchos casos tenemos pcs con mucha ram que desaprovechamos.
Para discos SSD es una marabilla.


Se edita /etc/fstab
tmpfs    /tmp    tmpfs    defaults,noatime,mode=1777,size=4G    0    0
Puedes eliminar ",size=4G" si no quieres asignarle tamaño maximo a la unidad. Si lo borras permites que se llene la unidad a tope y no tendras espacio en la Ram. Recomiendo ponerle la cantidad de ram que nunca llegues a utilizar. Esto ya a gusto de cada uno.

En ese caso incluyo el cache de firefox en la carpeta /tmp/ que acabo de montar en la ram.
mkdir -p /tmp/ascodecache/firefox
rm -rf ~/.cache/mozilla/firefox
ln -s /tmp/ascodecache/firefox ~/.cache/mozilla/firefoz



Pa que no se vaia a tomar por culo al vaciar la ram se edita /etc/rc.local con:
mkdir -p /tmp/ascodecache/firefox  2> /dev/null
chmod -R 777 /tmp/ascodecache/firefox
Asi se crea la carpeta al encender el sistema.

Puedes montar en la ram la carpeta que quieras. Yo en este caso meti la carpeta cache de firefox.
Recuerda que lo que metas en la unidad que utiliza memoria RAM se va a borrar al apagar el pc.
180  Foros Generales / Foro Libre / Qué fue lo primero que aprendiste relacionado con la informática? en: 16 Mayo 2019, 03:59 am
1-Qué fue lo primero que aprendiste relacionado con la informática? Detallalo.
2-A qué edad?
3-Que recuerdas con carinho aprender a hacer en esa época.
4-Que te motivó a aprender sobre informática?
5-En que estás interesado en este momento?
6-Que te gustaria aprender o hacer a medio plazo?
7-Que te gustaria poder realizar a largo plazo?


Mi caso:

1- Crear paginas web en html en un bloc de notas. Me regalaron un notebook cuando era adolescente. No tenia internet en casa. Era muy curioso y no tenia ni idea de como funcionaba internet. Buscando en el ciber lo promero que me encontre fue que las paginas web estaban hechas en Html. Me descarge un manual en el ciber y lo meti en un reproductor mp3 que tenia para escuchar musica. estuve meses en casa sin internet aprendiendo a hacer webs. Mas tarde descrubriria el DreamWeaver O.o lo que me llevo al css etc.

2. Tenia 12 años.

3. Como funcionaban las webs, hostings, dominios, redes, protocolos... Como funcionaban los archivos .iso a usar el daemons tool little para quemar la imagen de ubuntu, debian y arch linux. Aprender a seleccionar el orden de arranque en la bios y a configurar los sistemas operativos. Mas adelante instale mi primer lamp y lo puse online en el ubuntu server 12.04 la ultima version disponible en aquel momento. Que recuerdos. Aún tengo la imagen por pura nostalgia. xD

4. Llegar a entender como funcionaban las cosas me llevaba a poner todo en practica. Me iba encontrando problemas y resolviendolos. En la busqueda de resolucion de problemas me iba encontrando mas conceptos nuevos que quería entender.

5. Ahora mismo estoy a tope con C++ y todo lo relacionado con el estandar. Como esta todo implememtado internamente etc. Tambien estoy traduciendo al español todo el libro de C++ que cae en mis manos para ir asimilando conceptos y puede que pronto publique el documento. Por pronto entiendo menos de 1 mes, a menos que me encuentre algo muy interesante que tambien quiera traducir al español.

6. Me gustaria aprender a programar interfaces graficas sencillas con SDL2 y como manejar sockets en SDL_net y otras librerias de sockets para poder empezar a programar servidores sencillos para linux. Tambien me gustaria montar un nodo de salida en Tor pero creo que la situación legal en España no lo permite. Debo informarme al respecto.
Tambien me gustaria empezar a hacer malware sencillo con Lua y a manejar Lua_sockets.

7. Un rpg muy sencillo, servidores de todo tipo y un sistema operativo sencillo.

Tras contestar a las preguntas me doy cuenta de que gran parte de lo que quiero conseguir esta muy relacionado con mis primeros pasos. Será vuestro caso también?


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