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 ... 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ... 229
291  Programación / Programación General / ¿Notan alguna falla? ¿y si se reseteara? Y quiero texto con scroll... en: 25 Junio 2024, 09:00 am
Código
  1. // Este programa genera una comparación simple y su evaluación, pero:
  2. // Debe haber alguna parte cuyo contenido no está definido.
  3. // Ejemplo: 1 < ... : true
  4. // Luego intenta asignar los contenidos faltantes.
  5. // Las siguientes funciones se usan en Resolvedor:
  6. function Comparacion() {
  7. trace("Probando: "+P1+" "+P2+" "+P3+": "+P4);
  8. if (P2 == "==") {
  9. Resultado = P1 == P3;
  10. } else if (P2 == "!=") {
  11. Resultado = P1 != P3;
  12. } else if (P2 == "<=") {
  13. Resultado = P1 <= P3;
  14. } else if (P2 == ">=") {
  15. Resultado = P1 >= P3;
  16. } else if (P2 == "<") {
  17. Resultado = P1 < P3;
  18. } else {
  19. Resultado = P1 > P3;
  20. }
  21. return Resultado+"" == P4;
  22. }
  23. function ModificarP1() {
  24. if (P1<10) {
  25. P1++;
  26. } else {
  27. Puntero++;
  28. // ¿Se puede modificar el contenido de otra parte?
  29. if (Puntero > Indefinidos) {
  30. // Sí, resetear esta y modificar esa:
  31. P1 = 0;
  32. eval("ModificarP"+eval("Indefinido"+Puntero))();
  33. } else {
  34. // No, indicar que el resolvedor se detenga:
  35. Continuar = "No";
  36. }
  37. }
  38. }
  39. function ModificarP2() {
  40. if (P2Valor<6) {
  41. P2Valor++;
  42. P2 = PosiblesSignos[P2Valor];
  43. Puntero = 1;
  44. } else {
  45. Puntero++;
  46. // ¿Se puede modificar el contenido de otra parte?
  47. if (Puntero > Indefinidos) {
  48. // Sí, resetear esta y modificar esa:
  49. P2Valor = 0;
  50. P2 = "==";
  51. eval("ModificarP"+eval("Indefinido"+Puntero))();
  52. } else {
  53. // No, indicar que el resolvedor se detenga:
  54. Continuar = "No";
  55. }
  56. }
  57. }
  58. function ModificarP3() {
  59. if (P3<10) {
  60. P3++;
  61. Puntero = 1;
  62. } else {
  63. Puntero++;
  64. // ¿Se puede modificar el contenido de otra parte?
  65. if (Puntero > Indefinidos) {
  66. // Sí, resetear esta y modificar esa:
  67. P3 = 0;
  68. eval("ModificarP"+eval("Indefinido"+Puntero))();
  69. } else {
  70. // No, indicar que el resolvedor se detenga:
  71. Continuar = "No";
  72. }
  73. }
  74. }
  75. function ModificarP4() {
  76. if (P4 == "true") {
  77. P4 = "false";
  78. Puntero = 1;
  79. } else {
  80. Puntero++;
  81. // ¿Se puede modificar el contenido de otra parte?
  82. if (Puntero > Indefinidos) {
  83. // Sí, resetear esta y modificar esa:
  84. P4 = "true";
  85. eval("ModificarP"+eval("Indefinido"+Puntero))();
  86. } else {
  87. // No, indicar que el resolvedor se detenga:
  88. Continuar = "No";
  89. }
  90. }
  91. }
  92. // Se repite en F2:
  93. function Resolvedor () {
  94. if (Comparacion()) {
  95. trace ("Solución hallada, ver respuesta.");
  96. Mensaje = Mensaje+"\n"+P1+" "+P2+" "+P3+": "+P4;
  97. gotoAndStop (3);
  98. } else if (Continuar == "Sí") {
  99. // Se modificará el candidato:
  100. eval(ModificadoraUsar)();
  101. } else {
  102. trace ("No se pudo hallar una solución.");
  103. gotoAndStop (3);
  104. }
  105. }
  106. PosiblesTiposDeContenido = ["Normal", "Indefinido"];
  107. PosiblesSignos = ["==", "!=", "<=", ">=", "<", ">"];
  108. // Generar los contenidos de las 4 partes hasta que alguno sea indefinido:
  109. do {
  110. Indefinidos = 0;
  111. // Parte 1 (cosa 1 a comparar):
  112. TipoDelParte1 = PosiblesTiposDeContenido[random(PosiblesTiposDeContenido.length)];
  113. if (TipoDelParte1 == "Normal") {
  114. Parte1 = random(10);
  115. } else {
  116. Parte1 = "...";
  117. Indefinidos++;
  118. set("Indefinido"+Indefinidos, 1);
  119. }
  120. // Parte 2 (símbolo comparador):
  121. TipoDelParte2 = PosiblesTiposDeContenido[random(PosiblesTiposDeContenido.length)];
  122. if (TipoDelParte2 == "Normal") {
  123. Parte2 = PosiblesSignos[random(6)];
  124. } else {
  125. Parte2 = "...";
  126. Indefinidos++;
  127. set("Indefinido"+Indefinidos, 2);
  128. }
  129. // Parte 3 (cosa 2 a comparar):
  130. TipoDelParte3 = PosiblesTiposDeContenido[random(PosiblesTiposDeContenido.length)];
  131. if (TipoDelParte3 == "Normal") {
  132. Parte3 = random(10);
  133. } else {
  134. Parte3 = "...";
  135. Indefinidos++;
  136. set("Indefinido"+Indefinidos, 3);
  137. }
  138. // Parte 4 (evaluación):
  139. TipoDelParte4 = PosiblesTiposDeContenido[random(PosiblesTiposDeContenido.length)];
  140. if (TipoDelParte4 == "Normal") {
  141. // Definir esta parte según las anteriores:
  142. // ¿Fueron definidas?
  143. if (Parte1 != "..." && Parte2 != "..." && Parte3 != "...") {
  144. // Sí, ver qué definición corresponde:
  145. if (Parte2 == "==") {
  146. Parte4 = Parte1 == Parte3;
  147. } else if (Parte2 == "!=") {
  148. Parte4 = Parte1 != Parte3;
  149. } else if (Parte2 == "<=") {
  150. Parte4 = Parte1 <= Parte3;
  151. } else if (Parte2 == ">=") {
  152. Parte4 = Parte1 >= Parte3;
  153. } else if (Parte2 == "<") {
  154. Parte4 = Parte1 < Parte3;
  155. } else {
  156. Parte4 = Parte1 > Parte3;
  157. }
  158. } else {
  159. // No toda parte fue definida,
  160. // definir esta al azar:
  161. Parte4 = random(2);
  162. if (Parte4 == 0) {
  163. Parte4 = "true";
  164. } else {
  165. Parte4 = "false";
  166. }
  167. }
  168. } else {
  169. Parte4 = "...";
  170. Indefinidos++;
  171. set("Indefinido"+Indefinidos, 4);
  172. }
  173. } while (Indefinidos == 0);
  174. Mensaje = Parte1+" "+Parte2+" "+Parte3+": "+Parte4;
  175. // Preparar variables, asignar valores a los contenidos indefinidos:
  176. // Parte 1:
  177. if (Parte1 != "...") {
  178. P1 = Parte1;
  179. } else {
  180. P1 = 0;
  181. }
  182. // Parte 2:
  183. if (Parte2 != "...") {
  184. P2 = Parte2;
  185. } else {
  186. P2Valor = 0;
  187. P2 = "==";
  188. }
  189. // Parte 3:
  190. if (Parte3 != "...") {
  191. P3 = Parte3;
  192. } else {
  193. P3 = 0;
  194. }
  195. // Parte 4:
  196. if (Parte4 != "...") {
  197. P4 = Parte4;
  198. } else {
  199. P4 = "true";
  200. }
  201. // Usado para variar qué contenido de P se modifica:
  202. Puntero = 1;
  203. ModificadoraUsar = "ModificarP"+Indefinido1;
  204. // Marca si algún cantenido puede modificarse:
  205. Continuar = "Sí";

Ejemplo:
8 ... ...: ...
Probando: 8 == 0: true
Probando: 8 != 0: true
Solución hallada, ver respuesta.

Otro ejemplo:
... > 4: ...
Probando: 0 > 4: true
Probando: 1 > 4: true
Probando: 2 > 4: true
Probando: 3 > 4: true
Probando: 4 > 4: true
Probando: 5 > 4: true
Solución hallada, ver respuesta.

¿Funciona bien siempre? ¿detectan algo en el código que podría generar fallas?

Si pongo un botón de resetear ¿habrá problema? Pondría las funciones en el frame 1, la comparación se generaría en el 2 y el resolvedor se repetiría en el 3; mi temor es que una variable no eliminada, que no estaba definida al inicio, cause un error.

Lo último: El programa muestra mensajes usando trace, el equivalente de print. Pero eso sólo funciona usando el editor de Flash. Quisiera que esos mensajes se muestren también en un swf o exe. El problema es si el mensaje tiene muchas líneas, no sé cómo ponerle scroll. Voy a mirar el tutorial pero si me dicen mejor.
292  Foros Generales / Foro Libre / Re: Alejandro Cáceres, el ‘hacker’ que dejó a Corea del Norte sin internet desde su casa: “Mi ataque fue respuesta a su en: 24 Junio 2024, 09:05 am
Estuvo tan bueno que no me detuve para escribir preguntas, en otro momento las escribo.
293  Programación / Programación General / Lograr exactamente X cambios random en una imagen. en: 22 Junio 2024, 09:54 am
Tras cliquear en el dibujo superior izquierdo, los demás quedan igual excepto que en este caso los de la fila 1 deben tener 1 diferencia (excepto el que fue cliqueado), los de la fila 2 deben tener 2, y así. Eso no sucede aquí:

Señalé que en la fila 1 hay 1 cambio donde debe, pero en la 4 a veces hay 4, 3, 2 o incluso puede haber 1 porque mi código debe ajustarse para eso ¿cómo?
Código
  1. // Repetir hasta que se haya variado esa cantidad...
  2. // de cuadraditos:
  3. CuadraditosModificados = 0;
  4. do {
  5. CuadraditoaCambiar = "_level0.Dibujo"+Dibujo+".Cuadradito"+(random(_level0.MaxCuadradito)+1);
  6. ColoraSustituirse = new Color(CuadraditoaCambiar);
  7. // A esto lo convierto a String porque...
  8. // lo debo comparar con un string y es más fácil así.
  9. SavedeColoraSustituirse = ""+(ColoraSustituirse.getRGB());
  10. // Repetir mientras el color no cambie:
  11. do {
  12. NuevoColor = _parent.PosiblesColores[random(_parent.PosiblesColores.length)];
  13. } while (NuevoColor == SavedeColoraSustituirse);
  14. ColoraSustituirse.setRGB(NuevoColor);
  15. // trace ("NuevoColor: "+NuevoColor);
  16. CuadraditosModificados++;
  17. } while (CuadraditosModificados<ModificacionesRequeridas);
Si precisan más código avísenme, eso es para modificar los cuadraditos de 1 dibujo, en otras partes se varía cual dibujo. El problema es que se modifica un cuadradito al azar, repetidamente, de modo que cada nuevo modificado puede ser alguno que ya haya sido modificado, por eso aunque en el código se hacen las modificaciones la cantidad de veces requeridas, en la práctica y a la vista pueden ser menos.

¿Debo crear una lista de los modificados y repetir si el nuevo modificado ya lo fue? ¿ha<y alguna alternativa más eficiente, o cómo hago eso? Ya se está repitiendo el cambio de color hasta que efectivamente ocurre (ya que el nuevo es random pero por eso puede ser igual al anterior; se repite para evitar eso), así que en lo posible no quisiera repetir tanta cosa...

Edit:
Acabo de ver que el 2ndo de la 2nda fila es totalmente igual al cliqueado, así que el código está peor de lo que pensé ¿cómo lo mejoro? O tal vez se modificó 1 cuadradito y luego se volvi´a modificar de modo que quedó como estaba, sería como lo que expliqué entonces, no sería un error extra, tal vez.
294  Informática / Hardware / Re: Cagadas de mosca en: 17 Junio 2024, 23:24 pm
No te servirá mi respuesta, en el aspecto técnico, pero como respuesta a una encuesta podría ser.

Rara vez lo limpio.

Pero también rara vez hay moscas aquí, siempre pongo tejido o algo.

Mosquitos sí de algún modo entran, pero difícil que se posen en la pantalla.

Lo que tiene son como gotitas de estornudo pero sólo las noto cuando está apagado, aunque hace poco tenía un fondo blanco y veía un aparente pixel amarillo pero nop, era una manchita que más o menos quité con la uña.

Creo que el problema de mi monitor es el polvo que entra por arriba y las telas de araña. Recientemente cuando lo encendí estaba rojizo en donde estaban las telas, así que las quité. Desde entonces al encenderlo está un poco rojizo ahí. Tal vez es por el Sol también, ni idea, en esa zona le da, en la otra no tanto.

Tengo que limpiarlo algún día pero, hay muchas otras cosas que debo o quiero hacer.
295  Media / Multimedia / Re: Cómo convertir imágenes jpg que contienen vídeo en: 17 Junio 2024, 21:13 pm
Pregunté a los demás sobre lo que dijeron.

Luego dije una posible explicación, no me hagas mucho caso en eso.

Según el video (en la derecha) la cámara es sm-g975f samsung, y al googlear eso me aparece Samsung Galaxy S10 Plus, pero yo ni siquiera tengo móvil (ni me interesa) así que no tengo mucha idea.
296  Media / Multimedia / Re: Cómo convertir imágenes jpg que contienen vídeo en: 17 Junio 2024, 20:17 pm
¿Eso de panorámicas lo logran poniendo datos extra en el JPG? :o ¿cómo es eso de "tienen una disposición y los campos exif adecuados"?
https://es.wikipedia.org/wiki/Exchangeable_image_file_format
No sé pa qué guardan todo eso, en el futuro van a guardar dónde se tomaron las fotos y habrá muchos doxeos xP

He visto el video, parece que hay varias imágenes parecidas, debe ser que la cámara en vez de guardar un video con imágenes todas juntas las graba separadas como si fuesen muchas fotos ¿no? O es producto de algún programa que convierte un video en varias imágenes, quizá para ahorrar memoria.
297  Media / Multimedia / Re: Cómo convertir imágenes jpg que contienen vídeo en: 17 Junio 2024, 13:35 pm
Si ya ves el movimiento en la imagen no entiendo para qué quieres convertirla en otro formato para "conservar el video", ya lo tiene, no se va a perder.
298  Informática / Software / Re: Utilidad de PDFCreator en: 17 Junio 2024, 13:25 pm
Fue hace mucho con una PC bastante más lenta que esta, ahora los abre Chrome.

Y si de evitar modificaciones se trata, quizá sería mejor un exe. Yo empecé uno hace mucho, tenía animaciones y links en distintos lados que llevaban a otras secciones similar a Wikipedia:
299  Informática / Software / Re: Utilidad de PDFCreator en: 16 Junio 2024, 20:04 pm
Yo ni siquiera le veo sentido a crear un PDF, aunque supongo que hoy en día es más multiplataforma que un .doc.
No me gusta ese formato ya que no permitía editar los textos, fácilmente al menos. No me acuerdo bien pero es posible que ni siquiera permitía seleccionar texto, yo usaba Acrobat reader o algo así, aparecía una mano para arrastrar las páginas y nada más. Además creo que era lento. Si encima se agrega, según leí aquí, que los PDF pueden tener malware, no le veo mucha ventaja...
300  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 15 Junio 2024, 23:43 pm
Como Milei se ponga a insultar a Putin se inicia la 3era guerra mundial  :P
Páginas: 1 ... 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [30] 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 ... 229
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines