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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con programa C++, javascript y Html
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con programa C++, javascript y Html  (Leído 2,359 veces)
@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
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. */


« Última modificación: 29 Mayo 2019, 07:54 am por string Manolo » En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: Ayuda con programa C++, javascript y Html
« Respuesta #1 en: 29 Mayo 2019, 08:07 am »

Aqui el codigo completo: https://pastebin.com/hcgChAqj


« Última modificación: 29 Mayo 2019, 08:29 am por string Manolo » En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

RayR

Desconectado Desconectado

Mensajes: 243


Ver Perfil
Re: Ayuda con programa C++, javascript y Html
« Respuesta #2 en: 30 Mayo 2019, 20:14 pm »

1. No probé el código, pero hasta donde puedo ver, me parece que genera lo que debería.

El único contenido (aparte de etiquetas html y body) que documento.html tendrá es:

Código
  1. <script>var cifrado = encodeURIComponent("textoacifrar");</script><br><script>document.write(cifrado);</script>

Porque imagino que no esperarás que ese archivo contenga el resultado del script, ya que, naturalmente, eso se genera dinámicamente cada vez que abres la página en el navegador, y no es parte del documento html en sí.

2. Cierto, no hay ninguna alternativa estándar multiplataforma. En Windows, existen las funciones ShellExecute y ShellExecuteEx, que serían lo recomendable, pero si no manejas la API de Windows, puedes usar system.

4. En el link necesitas escribir completo: http://www.google.com, no sólo www...

5. Te falta abrir las comillas en los valores, por ejemplo, lo que estás generando es:

Código
  1. document.body.style.backgorundColor=blue"

en vez de  ="blue".
En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: Ayuda con programa C++, javascript y Html
« Respuesta #3 en: 31 Mayo 2019, 12:22 pm »

1. Tienes idea de como puedo obtener lo que me sale en la ventana del navegador?  Es decir, el resultado de la funcion. Al final estoy por pintar la pantalla de gris para sacar el resultado a base de foto, rollo autocaptcha de bot. Pero me parece una solucion muy exagerada para un problema que seguro tenga fácil solucion.

2. La api de windows me parece un descalabro. Le ataco de vez en cuando pero me van mas librerias portables. Revisare laa funciones que comentas, total necesito usar librerias para abrir el navegador. Paso de meterme en librerias nuevas.

4. Probaré así, pero me suena que ya probara.

5. Si no me lo dices no lo veo... Y yo a romperme la cabeza pensando que el navegador era incompatible porque uso principalmente un opera de 2008 para pruebas.

Muchas gracias.
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

RayR

Desconectado Desconectado

Mensajes: 243


Ver Perfil
Re: Ayuda con programa C++, javascript y Html
« Respuesta #4 en: 31 Mayo 2019, 19:33 pm »

Sé que a veces encontrar información sobre cómo usar APIs nativas es algo complicado (encontrar descripciones de las funciones sí es fácil, pero cómo usarlas es otra cosa...), así que te pongo un ejemplo de uso para lo del navegador.

En Windows:

Código
  1. #include <windows.h>
  2. ...
  3. ShellExecute(NULL, "open", "Documento.html", NULL, NULL, SW_NORMAL );

En Linux, y en general sistemas tipo Unix, incluyendo Mac OS X:

Código
  1. #include <spawn.h>
  2.  
  3. extern char **environ;
  4. ...
  5. pid_t processID;
  6. char *argV[] = {"xdg-open", "Documento.html", NULL};
  7. posix_spawnp(&processID, "xdg-open", NULL, NULL, argV, environ);
  8.  

xdg-open abre el archivo o URL en el navegador por defecto.

Si decides usar algo de esto, ya te recomiendo buscar información sobre qué hace cada parámetro, etc. para entender bien lo que se está haciendo, pero creo que se facilita mucho habiendo visto un ejemplo concreto como este.

Si ya sabes sobre compilación condicional (#ifdef, #elif, etc.), puedes usarlo para incluir lo anterior en tu código y que compile donde sea sin cambios. En tal caso, las macros predefinidas _WIN32, __linux__, y __APPLE__ son tu amigas.

Sobre el resultado de la función JS, necesitas "algo" que entienda y ejecute código javascript y se puede comunicar con tu programa. En este caso, sería algún motor/librería de javascript en C/C++, como V8 o Duktape. Pero V8 es de Google, y por experiencias anteriores con código de esa compañía... imagino que incluso lograr compilarlo llevará bastante trabajo.

Otras formas de hacerlo implicarían comunicarse de alguna forma con el navegador. En Linux hay algunos que funcionan en modo texto, y ahí podría ser relativamente sencillo hacer que tu programa lo ejecute y capture su salida en un string, por ejemplo. Pero necesitarías asegurarte de que el usuario tenga ese programa, y además no sé si en Windows haya algo parecido. Comunicarse con programas gráficos también suele ser posible, pero más complicado, propenso a errores, y tendrías que tener código específico para cada navegador posible. Vamos, no es práctico. Realmente la mejor opción, más simple y portable, es usar una librería tipo Duktape.
En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: Ayuda con programa C++, javascript y Html
« Respuesta #5 en: 31 Mayo 2019, 20:22 pm »

Ese es exactamente mi problema. Solo mirando la libreria ya se entiende que parametros toman las funciones y tal. El problema viene cuando los propios argumentos usan tipos de datos propios de las librerias y ahí ya es difícil encontrar explicación.

Gracias por los consejos y los codigos de ejemplo. Si ya sabia lo de los archivos con #ifdef para ejecutar solo ese codigo en sistemas especificos. Ando mucho por als carpetas de includes de varias librerias y tengo visto en el propio main usar esa caracteristica.

Mirare las 2 librerias a ver que tal. No las conocía.


Gracias por la idea del navegador de texto, ni se me pasó por la cabeza. Para windows conozco el Lynx que no tengo ni que descargarlo porque ya lo tenía en el pendrive. Aunque ni idea de si ejecuta javascript, lo dudo mucho. Probaré.
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Swf,html o javascript
Diseño Gráfico
Sirena_Dejavu 6 3,781 Último mensaje 2 Julio 2004, 09:56 am
por theskull
Añadir Estilo a javascript en HTML :: Ayuda Porfavor
Desarrollo Web
Cyber-Cyclop 1 3,028 Último mensaje 3 Noviembre 2012, 01:35 am
por peib0l
Ayuda con html, php y javascript para programar código en hotmail.
Desarrollo Web
Tizo0009 1 2,192 Último mensaje 2 Abril 2013, 03:50 am
por dank_
saludo Necesito ayuda para Desofuscar HTML y javascript
Desarrollo Web
chachach0 0 2,350 Último mensaje 22 Febrero 2020, 01:54 am
por chachach0
Curso de javascript | 2. Primer programa de javascript
Desarrollo Web
TickTack 1 3,495 Último mensaje 17 Julio 2022, 01:20 am
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines