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

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Mensajes
Páginas: 1 ... 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 [269] 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 ... 287
2681  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. }
2682  Programación / Programación C/C++ / Re: Ayuda con funcion con vector. en: 29 Mayo 2019, 08:22 am
Muchas gracias! Mirare como funciona en profundidad para saber como lo puedo hacer en mi caso.
2683  Programación / Programación C/C++ / Re: Ayuda con programa C++, javascript y Html en: 29 Mayo 2019, 08:07 am
Aqui el codigo completo: https://pastebin.com/hcgChAqj
2684  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. */
2685  Foros Generales / Foro Libre / Re: Presentación en: 29 Mayo 2019, 04:11 am
Te recomiendo el libro Grey hat hacking. Como introducción está bastante bien. Te explica los procesos que se suelen tomar a la hora de comprobar la seguridad de una web, red, app...
Sobre programación deberías aprender javascript, php y sql como mínimo. Hay libros que tratan los 3 conjuntamente. Tambien deberias aprender sobre como funcionan ciertas vulnerabilidades y como se exploitean. Por ejemplo los overflow. Tienes el shellcoders handbook que es bastante profundo. Hay muchísimo contenido web y laboratorios. Bajate el web security dojo, importa la imagen a virtualbox. Ahí tienes varias aplicaciones y muchisima documentación para aprender sobre vulnerabilidades concretas, herramientas, maneras de vulnerar las apps y webs y la manera de hacer fix a esas vulnerabilidades. Tambien tienes los libros de Mastering Kali Linux for Advanced Penetration Testing, Metasploits penetration testing cookbook, subverting the windows kernel rootkits, anonymity hacking and cloud computing forensic challenges, penetration testing a hands-on introduction to hacking, whireshark network analysis by laura chappeli y google hacking for penetration testers aunque este ultimo es más para black hat hackers pero te incluye un apartado de consejos y caracteristicas a deshabilitar al final del manual para protegerte de busquedas maliciosas. Por ultimo tambien te recomiendo Cryptography and network security que trata temas muy básicos de redes que pueden serte utiles aunque se centra bastante mas en la criptografia.

A parte de esto todo hay conocimientos más del día a día que no vienen reflejados conjuntamente en ningún sitio. Es difícil de explicar como uno consigue esos conocimientos. En mi caso creo que parten de la base de ser muy curiosi y ahondar en conceptos que a priori parecen superfluos. Al asimilar estos conocimientos tras reflexionar un poco se te ocurren técnicas de las que no se habla en ningún sitio y que son sencillas de ejecutar. Por ejemplo algo tan sencillo como acceder a la configuracion del router de una red local y cambiarle los servidores dns para que practicamente todo el publico del centro comercial se de un paseo por tu servidor sin que nadie sospeche nada.
Despues puedes hacer practicamente todo. Suplantar sesiones, redirigir trafico a sitios maliciosos. Saltarte firewalls mediante tunelacion. Modificar los sitios requeridos por los usuarios para hacer un ataque de flood a otro dns o mediante dominios fantasma...
2686  Foros Generales / Foro Libre / Re: Presentación en: 29 Mayo 2019, 00:51 am
A mi me cuesta ponerme a hacer algo, pero una vez me pongo puedo tirarme 40 horas haciendo lo mismo, no soy capaz de abandonar algo sin acabarlo. Sobre que quieres aprender?
2687  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.
2688  Foros Generales / Noticias / Re: Un año después de la revolución de la privacidad: pasividad y pocas multas en: 23 Mayo 2019, 04:17 am
Jajajaja es bueno el truco. Somos el RGPD no se preocupen, sigan inclumpiendo las leyes, no queremos asustarles y que dejen de incumplirlas o no podremos recaudar tanto. Aquí no pasa nada. El truco del almendruco 2.0
2689  Foros Generales / Noticias / Re: Apple se rinde ante los fallos de sus MacBook, y reparará gratis sus teclados... en: 23 Mayo 2019, 04:09 am
Me dan bastante asquete los productos de apple.
2690  Foros Generales / Dudas Generales / Re: Ingeniería Social? en: 23 Mayo 2019, 03:35 am
https y el fbi se come los mocos xD
Páginas: 1 ... 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 [269] 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 ... 287
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines