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


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Mensajes
Páginas: 1 ... 9 10 11 12 13 14 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 ... 235
231  Informática / Software / Re: ¿Algún programa similar a Eureqa Formulize? en: 19 Diciembre 2023, 23:25 pm
Ha de ser un programa viejito y la web de descargas ya no está en línea, cuando esto pasa siempre puedes probar suerte con web.archive.org, para tu caso los enlaces de descarga para Windows tanto Instalador como Portable:

https://web.archive.org/web/20140611025353if_/http://download.nutonian.com/formulize_0_95_0_setup.exe

https://web.archive.org/web/20140717162208if_/http://download.nutonian.com/formulize_0_95_0.zip
232  Media / Juegos y Consolas / Re: Dudas sobre el emulador NeoRAGEx. en: 19 Diciembre 2023, 12:01 pm
Mi Chrome tampoco se ha quejado, debe ser porque deshabilito la protección o porque llevo la versión viejita 109.0.5414.120 (compatible con Win7 y Win8)



Cuando tiene activada la protección siempre avisará cuando detecta archivos ejecutables, algunas veces dará la opción de descargarlo de todas maneras y otras negará completamente guardar el archivo, dependerá de cada quien cual usar, por defecto viene en protección estándar
233  Sistemas Operativos / Windows / Re: se puede instalar netframework 4.8 en windows 8.0 ? en: 16 Diciembre 2023, 21:43 pm
Saludos,

Soy usuario de Windows 8.0 y efectivamente he sido capaz de instalar .NetFramework 4.8

Primero que debes descargar los pre-requisitos: https://gitlab.com/stdout12/adns/uploads/c7c9f583da309adfb5f7a621ff3cf218/W8_NetFx4_IE11_Prereqs.7z
Extraer y ejecutar como administrador el installer.cmd

Luego debes descargar e instalar la actualización de d3dcompiler_47.dll:

- Para Windows 8.0 de 32-bit:
https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/updt/2017/05/windows8-rt-kb4019990-x86_9ded2c63f713636270e7e911a73d8ca40076bd95.msu

- Para Windows 8.0 de 64-bit:
https://catalog.s.download.windowsupdate.com/c/msdownload/update/software/updt/2017/05/windows8-rt-kb4019990-x64_a77f4e3e1f2d47205824763e7121bb11979c2716.msu

Por último descargas e instalas el .NetFramework 4.8:

- Para Windows 8.0 de 32-bit:
https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/ftpk/2019/12/windows8-rt-kb4486081-x86_b69d115387b6ff93c70492e9361207f5f714a07b.msu

- Para Windows 8.0 de 64-bit:
https://catalog.s.download.windowsupdate.com/d/msdownload/update/software/ftpk/2019/12/windows8-rt-kb4486081-x64_b3e0bdffee1cf7a1c718de205034eb05737014cb.msu

Entonces debes reiniciar el sistema y ya deberías de tener el .Net Framework 4.8 funcionando sin problemas.

---
Con respecto al archivo que quieres descargar te adjunto el contenido de ese patchwu.reg:

Código:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"InstallationType"="Embedded"
"EditionID"="Embedded"
"ProductName"="Windows Embedded 8 Standard"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion]
"InstallationType"="Embedded"
"EditionID"="Embedded"
"ProductName"="Windows Embedded 8 Standard"
234  Programación / Programación General / Re: Rotar bien unas flechas, posible problema de Matemática. en: 15 Diciembre 2023, 14:42 pm
Requieres de cálculos complejos para hacerlo en bruto, pero como tienes Flash puedes crear los objetos de tal manera que los puedas aprovechar a tu favor, me refiero a los Puntos de Registro, dicho punto es el que toma Flash como referencia para hacer las transformaciones y locaciones.

Puedes crear tu Flecha de tal manera que el Punto de Registro esté justo arriba para que sirva como eje para las rotaciones



De igual manera con tus números para que sirva de punto de locación para la futura Flecha haciendo que coincidan ambos puntos



De forma predeterminada el Punto de Registro se sitúa siempre en la mitad del Clip, si lo quieres usar así también se puede pero debes tenerlo en cuenta la hacer los cálculos y el eje quede donde debe

Por ejemplo si he creado mis Clips haciendo que los Puntos de Registro queden donde quiero tal cual muestra las primeras imágenes que puse antes, al ejecutar:

Código
  1. x = getProperty(_root.numero, _x);
  2. y = getProperty(_root.numero, _y);
  3.  
  4. _root.attachMovie("flecha", "flecha1", 0);
  5. setProperty (_root.flecha1, _x, x);
  6. setProperty (_root.flecha1, _y, y);
  7. setProperty (_root.flecha1, _rotation, 45);
  8.  
  9. _root.attachMovie("flecha", "flecha2", 1);
  10. setProperty (_root.flecha2, _x, x);
  11. setProperty (_root.flecha2, _y, y);
  12. setProperty (_root.flecha2, _rotation, -45);

Obtengo:



La locación y rotación es mucho más simple porque solo debo obtener las coordenadas del Punto de Registro del número y hacerlas coincidir con las de la Flecha, luego la rotación igualmente toma como referencia el Punto de Registro y me basta con moverlo 45 grados para que mire a la izquierda y -45 para que mire a la derecha
235  Programación / Programación General / Re: ¿El programa dice que 9999999+1 es 9999999.99999999? en: 11 Diciembre 2023, 04:26 am
Citar
Flash 5 fue el 1er Flash que tuve, no podía actualizarlo porque no tenía Internet ni contactos, ni interés porque estaba bien. Desde cierto punto empecé a usar una función "secreta" (que no recuerdo cómo averigué): "fs command (save, (nombre.extensión))" o algo así, aquí la mencionan:
https://www.forosdelweb.com/f16/fscommand-447897/

Hasta Flash 5 se usaba esa técnica, a partir de Flash 6 se eliminó esa posibilidad pero se implementó SharedObject que sirve para guardar y traer datos en Disco, es lo que se usa en juegos actuales para guardar puntuaciones, preferencias, etc. Si sabes algo de cookies en la web, pues es prácticamente lo mismo pero aplicado a flash. En sí es muy sencillo de usar, quizá has visto otros métodos que son para ActionScript 2.0 o 3.0 para manipular archivos o enviar/recibir datos a servidores web, eso si es alguito más complejo

Citar
Por ejemplo ¿cómo captas que se presionó una tecla cualquiera? De las que funcionan, Esc parece que no. Yo intenté algo como:
LastKey = getcode();
Y chequear si cambia, creo que inicia como -1 pero... sólo si entraste con el mouse, sino te capta el enter, e inicia con su valor y asume que presionaste una tecla. Estoy haciendo un juego muy sencillo que se gana si presionas una tecla cualquiera, pero debo evitar el error que te mencioné xD Así lo tengo:

No comprendo bien esa parte pero si puedes ver que tecla se presionó y actuar de acuerdo a ello, incluido el Escape, puedes ver los códigos de cada tecla con por ejemplo (recomiendo keyUp):

Código
  1. onClipEvent (keyUp) {
  2.    trace (Key.getCode());
  3. }

Puedes comparar Key.getCode() con el número que corresponde a alguna tecla y actuar de acuerdo a ello, por ejemplo la tecla Escape corresponde a 27

Código
  1. onClipEvent (keyUp) {
  2.    if (Key.getCode() == 27) {
  3.        trace ("Usted a presionado Escape");
  4.    }
  5. }
  6.  

Citar
M, yo probé esto:
Código:
Longitud = 8;
Nombre = "N"+Longitud;
N8 = 9999999;
N = eval(Nombre)+1;
trace ("N: "+N);
set (Nombre, eval(Nombre)+1);
trace (Nombre+": "+eval(Nombre));
stop ();

Y resultó bien, entonces asumo que funciona mal cuando el programa está medio sobrecargado, al menos en mi caso, en el tuyo parece que siempre.

No, el problema es Math.pow() en Macromedia Flash 5, este siempre devuelve un decimal aproximado por lo que deberías usar Math.round() para compensarlo, cuando haces operaciones con esos valores aproximados pierdes todavía más precisión porque hay varios dígitos enteros y decimales con los que se debe repartir el número completo. Flash siempre hace algunos redondeos internos cuando trabaja, por ejemplo si ejecutas:

Código
  1. trace(9999999.999999999)
  2. trace(9999999.999999994)

Devuelve:

10000000
9999999.99999999


Citar
¿El programa dice que 9999999+1 es 9999999.99999999?

Entonces en realidad nunca estás sumando 9999999+1, la operación que estás haciendo es:

99999998.99999991 + 1

Lo que haces es: -1 + Math.pow(10, 8) lo cual internamente devuelve 99999998.99999991 y no el 99999999 que esperabas. Luego le sumas 1 quedando 99999999.9999999. Lo que sugería es que uses Math.round así:

Código
  1. trace( Math.pow(10,8) )
  2. trace( Math.round(Math.pow(10,8)) )
  3.  
  4. trace( -1 + Math.pow(10,8) )
  5. trace( -1 + Math.round(Math.pow(10,8)) )

lo que devuelve:

99999999.9999999
100000000
99999998.9999999
99999999
236  Programación / Ingeniería Inversa / Re: Crear loader debuger en: 9 Diciembre 2023, 14:04 pm
Tienes que leer bien el tutorial, primero una leída completa porque hay varios errores que luego se van corrigiendo en el mismo tutorial (para que luego no te sorprenda), debes entender bien el tutorial y sobrevivir a cada parte haciendo que funcione hasta ese punto, en la parte 1 deberías de ser capaz de ejecutar el crackme tal cual mediante el loader, eso es lo primero, después puedes pasar a la parte 2 y así sucesivamente

El loader funcional terminado hasta la parte 1 está en el comprimido llamado esqueleto.rar, dentro hay una carpeta esqueleto y dentro está el crackme.exe y el loader1.exe que si funciona.

El loader tiene pocas instrucciones que deberías de entender perfectamente gracias al tutorial, también puedes analizar instrucción a instrucción con OllyDBG (F8) o similar por si quieres seguirlo paso a paso y/o detectar algún problema

---
Ah! y cuidado con dejar procesos huérfanos, usa Process Explorer o el Administrador de Tareas para cerrar los procesos de crackme.exe o loader.exe que no deberían estar abiertos o te darán problemas al haber tantos abiertos con el mismo nombre a la vez
237  Programación / Programación General / Re: ¿El programa dice que 9999999+1 es 9999999.99999999? en: 6 Diciembre 2023, 16:12 pm
Me parece que es problema de Flash 5, yo lo he probado en mi Macromedia Flash MX 2004 y sin problemas, incluso cuando exporto como Flash 5 desde ahí (Deberías migrar a Flash MS 2004 y AS2 XD)

Según la documentación de Math.pow()



Supongo que no lo terminaron de pulir porque yo veo que el compilado si que sale redondeado (he descargado e instalado Macromedia Flash 5 y un decompilador para comprobarlo)

El código original:

Código
  1. trace( -1 + Math.pow(10, 8 - 1) )

Macromedia Flash 5 lo compila a:

Código
  1. trace(9999998.999999994);

Macromedia Flash MX 2004 lo compila a:

Código
  1. trace(9999999);

Pues arriba está aproximando y eso está causando tu problema, aunque se esté usando Flash 5 que supuestamente no usa aproximaciones. Una posible solución es forzar un redondeo con Math.Round:

Código
  1. trace( Math.Round(-1 + Math.pow(10, 8 - 1)) )

---
Para ver como se termina compilando un swf se puede usar un decompilador flash, en mi caso usé JPEXS, un decompilador te permite ver a que instrucciones reales se convierte un script, y que el reproductor flash entiende
238  Programación / .NET (C#, VB.NET, ASP) / Re: Usar read en entrada de datos en: 2 Diciembre 2023, 22:49 pm
Cuidado con las codificaciones, los datos reales serán bytes, si a alguno de esos bytes los conviertes a char o string dependerá de la codificación en turno como se hará la conversión y como se hará la visualización, ahí tienes esos dos problemas.

Supuestamente los caracteres problemáticos son 5: €„€ˆ„ pero incluso en la salida que consideras correcta salen 6: 144 132 128 136 132 192 y si las miras bien verás que no encaja con los caracteres que se repiten, así que tampoco es la correcta.

Citar
Parece ser que es mejor optar por almacenar los datos o tramas de bytes que llegan desde el puerto serie en tipo byte[] y usar read.

No sé como estás guardando los datos así que supondré que estás usando puertoSerie.ReadChar(), puertoSerie.ReadLine(), o similar, estos trabajan y convierten basándose en la codificación y por lo tanto habrán cambios si no lo tienes controlado. Si usas puertoSerie.ReadByte() si conseguirás los bytes reales pero para visualizarlos debes usar una codificación adecuada igual o similar a la empleada para representar esos bytes.

Por ejemplo si tienes el decimal 128 y lo quieres mostrar usando codificación ANSI obtendrás: €, pero si usas ASCII obtienes ? (63) porque no existe en la tabla ASCII

Si haces la lectura con ReadByte() y luego cada byte lo pasas a Int no deberías tener problemas salvo la cantidad de bytes que dependerá de la codificación
239  Programación / .NET (C#, VB.NET, ASP) / Re: Tengo un problema con delimitadores en: 30 Noviembre 2023, 20:46 pm
Puedes crear una lista negra de caracteres para saltártelos como indica Daniel, aunque usaría continue en lugar de break, o si la salida siempre tiene el mismo formato puedes especificar índices del array porque ya sabrías cuales usar y para que:

Código
  1. using System;
  2.  
  3. public class MyApp {
  4.  static void Main() {
  5.    string entrada = "#I225.7O226.2L006B100V25.7F50.2H50.2R0080S€„€ˆ„\r";
  6.    char[] separadores = { '#', 'I', 'O', 'L', 'B', 'V', 'F', 'H', 'R', 'S', '\r' };
  7.    string[] salida = entrada.Split(separadores);
  8.  
  9.    for (int i = 2; i < 10; i++)
  10.      Console.WriteLine("> {0}", salida[i]);
  11.  
  12.    foreach ( uint b in System.Text.Encoding.Default.GetBytes(salida[10]) )
  13.      Console.WriteLine("> {0}", b);
  14.  
  15.  }
  16. }

Con respecto a la última parte, esos caracteres no están contenidos en ASCII así que tendrás que usar otra codificación para su representación decimal, en mi ejemplo puse Default que es igual a ANSI, puedes ver la tabla ASCII y ANSI acá: https://www.gaijin.at/en/infos/ascii-ansi-character-table , UTF-8 ya requiere dos bytes y UTF-16 (Unicode) que es con el que trabaja C# requiere hasta 4 bytes.

240  Programación / .NET (C#, VB.NET, ASP) / Re: Horas, hora, minutos y minuto. en: 27 Noviembre 2023, 23:47 pm
Podrías ir construyendo la String a imprimir poco a poco y al final imprimirla ya hecha para evitarse tantos Console.WriteLine, también veo que se pueden reducir tus IF, en especial los que muestran exactamente lo mismo, pero así como lo has hecho y comentado tiene la lógica y solo le faltaría reducirla evitando redundancia.

Haciendo unos retoques al código que puse anteriormente puede quedar así:

Código
  1. using System;
  2.  
  3. public class Program {
  4.  static void Main() {
  5.    while (true) {
  6.      Console.Write("Ingresa el valor de minutos: ");
  7.      int totalMinutos = int.Parse(Console.ReadLine());
  8.      int h = totalMinutos / 60;
  9.      int m = totalMinutos % 60;
  10.      string hs = (h == 1) ? "hora" : "horas";
  11.      string ms = (m == 1) ? "minuto" : "minutos";
  12.      string ss = "> ";
  13.      if (h != 0) ss+= h + " " + hs;
  14.      if (h != 0 && m != 0) ss+= " y ";
  15.      if (m != 0 || h == 0) ss+= m + " " + ms;
  16.      Console.WriteLine(ss);
  17.    }
  18.  }
  19. }

Páginas: 1 ... 9 10 11 12 13 14 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 ... 235
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines