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


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 ... 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 46 47 48 49 ... 229
331  Programación / Ingeniería Inversa / Re: Introducción a Game Hacking en Game Boy con GameShark en: 18 Mayo 2024, 00:33 am
Creo que eso es otro tema.

Como el juego es el mismo, las direcciones de memoria son las mismas, creo.

Luego de que halló direcciones con el o valores especificados, cuando se busca OLD valúe con Less than sólo quedarán los valores que ahora son más bajos que el OLD.

Yo lo que digo es que me entrevera la interfase de eso, porque OLD está en la izquierda y NEW en la derecha, así que si pongo "Less than" para mí suena dejar las direcciones en que OLD is less than NEW", pero parece que es: "Dejar los valores NEW si son less than OLD".

No sé, son interpretaciones mías, al no haber botón undo tampoco es tan cómodo probar bien cómo funciona.

Todo eso sirve para descartar cosas más rápido y así reducir también la posibilidad de pomner un código que tranque el juego, pero como dije en mis épocas de más vicio probaba todo y ya, no es tan importante usarlo.
332  Programación / Programación General / Re: ¿Cómo promediar 2 colores? en: 17 Mayo 2024, 08:13 am
Debes elevar al cuadrado cada valor RGB, después hacer la media, y luego calcular la raíz cuadrada de cada uno para revertir la primera operación.

Código:
NewColor = sqrt((R1^2+R2^2)/2), sqrt((G1^2+G2^2)/2), sqrt((B1^2+B2^2)/2)

Usando este enfoque, al elevar al cuadrado los componentes RGB antes de promediar, estamos aplicando un tipo de "ponderación" que favorece los valores más altos y minimiza el efecto de los valores más bajos. Esto es útil porque los valores RGB cuadrados preservan mejor las diferencias perceptuales entre los colores originales.
No confío mucho en esto, pero veamos.

Si un color es 100, 100, 10
y el otro 10, 100, 100
el resultado normal sería 55, 100, 55
pero me dices que haga:
Raíz((100*100+10*10)/2) para el 1er color en este caso.
Raíz((10000+100)/2)
Raíz((10100)/2)
Raíz(5050)
71,06335201775947748485464743814
¿Si son iguales cambia? A ver, el 2ndo color
Raíz((100*100+100*100)/2)
Raíz((10000+10000)/2)
Raíz(10000)
No, me da 100.
Yo no veo que 71, 100, 71 sea el promedio y no le veo la ventaja.


EdePC:
Está bien, me puede servir.

Luego intento averiguar cómo funciona lo del & y | por curiosidad y porque me puede servir, si el efecto que causa no es simplificable.
333  Programación / Ingeniería Inversa / Re: Introducción a Game Hacking en Game Boy con GameShark en: 16 Mayo 2024, 21:27 pm
Buena info.

Te digo un ejemplo de "greater than":

- Cargo una partida de Castlevania Aria of Sorrow (GBA) en que tengo LV6.
- Pongo Search for cheats.
- Pongo Specific Value, Equal, Signed, 8 bits, Update values, escribo 6, pongo Start, y luego Search.
- Me aparecen muchas direcciones de memoria.
- Cargo una partida en que tengo LV10.
- Algunos valores cambiaron a 10, otros aumentaron, otros bajaron, otros siguen siendo 6:

- Pongo Old Value, Less than, y me quedaron los valores más bajos.

Es que entrevera eso, porque yo digo el Old value (6) is less than the new (10), pero parece que hay que pensar poniendo el New primero.
Otra cosa que me ha quitado las ganas de probar cuando lo intenté es que el Start borra todo, y no se entiende bien para qué existe, o sea, si está activado lo de Update values (que debería) entonces no tiene mucho sentido que uno deba presionar Start antes, debería ser "escribir valor, presionar Search", no "Start, luego Search". Pero cuando se busca el Old value no hay que presionar Start, sino todo se borra. Pues eso, por eso nunca lo aprendí, no le veo mucho sentido a cómo está hecho.


Si se pudieron hacer emuladores ¿por qué no se pueden hacer traductores del código, convertirlo a algo más o menos legible? Me gustaría que hubiera eso, quizá algún día las IAs puedan...
334  Programación / Programación General / ¿Qué videojuego sencillo quieres que haga o me recomiendas hacer? en: 16 Mayo 2024, 11:46 am
Estoy en la actividad "Libre" de mi rutina, pensaba jugar videojuegos pero ya tengo otro momento para eso así que pensé mejor hacer otra cosa, y en cuanto a hacer juegos mi idea era 1ero entender qué es contable y aprender a contarlo, también lo hago pero lleva una eternidad así que por probar me dispongo a hacer el juego sencillo que me pidan o sugieran.

Cosas a tener en cuenta:
- Lo hago gratis.
- Doy el editable también (archivo fla de Macromedia Flash 5).
- No me pidan algo 3d. Entiendo que con algunos programas es sencillo pero no en el que uso y además en muchos casos no me gusta mucho el 3d, a lo sumo un estilo Zelda de SNES (puedes ir al N, S, E, O, ir más abajo o arriba, es bastante 3d aunque visto desde arriba siempre) o algo parecido a de golf o autos vistos desde atrás, aunque me parece medio difícil.
- No me pidan mucha matemática (que la velocidad del disparo debe repartirse correctamente para que se dirija a cierto punto en una cancha 3d...).
- No me pidan que dibuje y menos que haga animaciones, a lo sumo alguna cosita, pero la mayoría lo copio de otro lado, díganme qué.
- No me pidan que haga un sistema de batallas RPG o algo así, nunca he podido  :(
- Historia como que tampoco.
- Ni música xP

¿Demasiadas limitaciones? Sorry, lo mío sería programar, no lo demás.

Hace tiempo hacía un pong hasta que debí hacer que la máquina moviera su barra, ahí me puse a pensar en IA y dejé eso. Intenté muchas cosas pero en todas tuve falta de habilidad en algún sentido o sino me aburrí, así que no tengo algo terminado.

Pongo algunas muestras.

Warriors de 2004, una mezcla de novela visual y RPG, funciona en Dosbox (puede que lento, aumenten la velocidad, aunque en mi caso incluso poniéndole la máxima no llega a la normal en algunas partes):
https://drive.google.com/file/d/17m0rz8839jGYi7AiXwH6KzL6NGByyOdh/view?usp=sharing
No me pidan una historia como esa de nuevo, aunque mi mayor complicación fue hacer el hormiguero y las hormigas con esos gráficos grandotes.

Warriors de 2005, no es lo mismo a pesar del nombre, además esto es sólo una presentación que me harté de hacer porque no supe animar bien la capa. Tiene un ejecutable normal para Windows y un archivo swf que es lo mismo pero sólo usable si tienen Flash Player, es por si no quieren ejecutar el exe:
https://drive.google.com/file/d/1Qr4xoNIDCE_8xao7xiNzcszB6NQlLkrw/view?usp=sharing
Ya no quiero hacer presentaciones así, es en vano, mucha presentación y 0 juego  :(

Unholy Galaga de 2006, no sabía cómo hacer que el movimiento fuese fluido y mi PC era muy lenta, pero no quedó tan mal, son 3 versiones que iba a mezclar pero me puse a pensar en posibles IAs y lo dejé, además me cansé. Por ahora sólo tengo los exe:
https://drive.google.com/file/d/1orTcz-oYR0yKBZKrCvJ5pzMqerTlztd_/view?usp=sharing

Tejo de 2009, o esa era la idea, ya que sin saber cómo hacer movimiento fluido no quedó del todo bien, además me interesó aprender IA:
https://drive.google.com/file/d/1mST6ADJyht9yZCFdDfCMAqDDMqjeQESf/view?usp=sharing

Image Maker 2009, no es un juego pero es interesante si uno tiene imaginación, la idea es que en las imagenes random uno vea algo, se hace en los llamados test de Rorsharch. Por ahora sólo tengo los exe:
https://drive.google.com/file/d/116JGpgwTvCuM8QomMJz6RhKEeBoxevts/view?usp=sharing

Educativo letras 2011, este es de Flash 8, no tenía Internet ni cómo grabar sonidos así que meh, pero la idea era que al aparecer un tanque se escuchara el sonido de la letra.
https://drive.google.com/file/d/17N8BAqSqVhkyDozZml-SXy5Awr6dI2I-/view?usp=sharing

2012, una mezcla entre Contra y Duck Hunt pero sólo la presentación xP Me cansé luego de hacerla. Hay un efecto imposible en el vuelo de los patos, miren bien ¿cual está delante?
https://drive.google.com/file/d/18qd8d-5aW8MIXViEN5iOmBsvbpjxUjqU/view?usp=sharing

2013: Al personaje de Contra se lo puede mover fluídamente y hacer saltar (A). Estaba aplicando eso a Mario también pero sobre todo que pueda correr (S) y que frenara a la velocidad del juego original. En este caso pongo el editable también:
https://drive.google.com/file/d/1fLdUWARN6gY3jCfPjuNclcHqmnp5yaCS/view?usp=sharing

2013, frenar a los robots de Willy: Esto en el fondo es como un plantas vs zombies pero muy simplificado, se trata de intentar no gastar recursos en vano aunque sean infinitos. Gente me dijo que no lo entendió, yo no supe cómo hacerlo más... parecido a un juego, con limitaciones, tenía algunas ideas pero no suficiente:
https://drive.google.com/file/d/15W7Z9VQzq_IDrFojYMbpOqu5S88PV8Xt/view?usp=sharing

2013 o antes, La Raqueta Troll, es una versión simplificada de romper bloques con una bola, aquí simplemente rebota de formas random. Alguien me dijo que es muy lento, es verdad al inicio, no supe mejorar eso porque si pongo un aumentador de la velocidad el puntaje sería menor, o eso pensé. De momento sólo tengo el swf:
https://drive.google.com/file/d/11rT7sH4D3B56Lc7I4O2EElx21W_QCv2P/view?usp=sharing

2013, sería de batallas estilo RPG muy simples pero no supe cómo hacer una historia para eso xP No me acuerdo bien, habría peleas pero no magia, quería alguna justificación (no como en Street Fighter que pelean y parece que enseguida vuelven a pelear), además se podría entrenar pero... no sé, quería justificar todo, no me acuerdo:
https://drive.google.com/file/d/16EjGSjFfXtlMe8EaQTFY5uaqeY9JhOT6/view?usp=sharing

2013, sería un beat em up pero me abrumó modificar caritas y se me complicó que se mostraran bien los diálogos y el tema de la velocidad...
https://drive.google.com/file/d/10nS4TroscYSIFhfSpX3TIRK1f_sNqKmH/view?usp=sharing

2016, juego simplón de bola que debe tocar cosas más pequeñas que ella y todo se va agrandando:
https://drive.google.com/file/d/1mNsxSzFoStiXdg7Mw2caPBgR1vUtN7ph/view?usp=sharing

2016, misma idea pero más RPG:
https://drive.google.com/file/d/19nSm9yXyFRMdAkkGwlxHSodIPKbNnw7L/view?usp=sharing

2016, un estilo cartas intercambiables que intenté que fuese complejo, luego realista y ahí lo dejé porque no supe. No es jugable, sólo se ven algunas cartas:
https://drive.google.com/file/d/1-us4caEiiTRAM-fWCIXqr4R8xKRWz2h7/view?usp=sharing

2016, la evolución de lo anterior, un estilo Robot Taisen pero de magos que convocan monstruos. No se puede hacer mucho, sólo con A se elige uno de tus monstruos y lo puedes mover a los casilleros. No supe mucho cómo hacer más. La máquina debía dirigirse al más cercano, las opciones deberían habilitarse si se tiene al lado, y otras cosas...
https://drive.google.com/file/d/16EjGSjFfXtlMe8EaQTFY5uaqeY9JhOT6/view?usp=sharing

Tengo alguna que otra cosa pero tengo los archivos demasiado desordenados (estoy acomodando, pero es demasiado durante años) como para encontrarlo tan rápido.
- Uno de batallas RPG, no recuerdo mucho de ese pero el personaje podía lanzar una bola hacia el enemigo. Ah, sí, se me complicó un tema de la animación, además si hay muchos enemigos en diversos lugares la bola debe variar a donde va... Uh, y el tema de los turnos, bah, es que también el tema de las estadísticas y efectos de ataques lo quise hacer medio realista y no se puede si son pocas estadísticas.
- Uno de batallas tipo Mega Man, iba bien, pero me entreveré en cuanto a los posibles estados de los personajes (saltando, agachado+atacando, quieto+lanzando, etc).
- Uno de tenis que iba bien pero intenté que fuese medio realista en cuanto a la matemática y me fue tan difícil que decidí dejarlo para más adelante. Ese lo empecé como en 2010 y lo retomé varias veces, incluyendo hace unos meses.

Si hay algún enlace mal me pueden avisar.
335  Programación / Ingeniería Inversa / Re: Introducción a Game Hacking en Game Boy con GameShark en: 16 Mayo 2024, 02:38 am
Nunca entendí el buscador de cheats en cuanto a "old value", "greater than", etc, pero no es tan necesario, simplemente buscas un valor, introduces los cheats que te aparecen, a cada uno poniéndole distinto valor, y así se ve cual es. Conviene salvar los cheats antes por las dudas, si el juego se tranca desactivas la mitad y vas desactivando cada vez menos hasta hallar el buscado.

Antes usaba No$Gb o algo así, un emulador de DOS o algo similar, que no sé si traía buscador, yo simplemente probaba de todo, metía como 16 cheats a ver si cambiaba algo, y sí llegué a encontrar mucho. Incluso teniendo Internet, no siempre se encuentra lo que uno busca en Internet.

Luego está el memory viewer o algo así que me ayudó a hallar parámetros que no se muestran en el juego, por ejemplo la fuerza de Mario en Mario Tennis GB. Pero no recuerdo mucho de eso, sólo lo usé en eso, creo que aparecen los nombres y todo claro. También hay parámetros que uno no se imagina que existen, como el alcance de los jugadores. Puedes hacer que tu compañero sólo pueda hacer saques por ejemplo, es útil si quieres jugar contra 2 sin un compañero, es como si no existiera (pero debes activarlo cuando deba devolver saques... o perder esos games). Esos sólo los puedes hallar probando códigos como loco, no se muestran esos números, y en Internet me parece que no están. Tenerlos en el bloc de notas y usar Reemplazar ahorra algo de tiempo. A veces no basta con cambiar las direcciones, hay que probar las mismas con distintos valores.

Pero hay juegos en que es más complicado, no parece haber un código para modificar algo, es como que a veces funciona y a veces no, se requiere más de uno, no sé. Eso me pareció con el Pokemon Leaf Green en cuanto a qué Pokemon salvaje aparece. Por supuesto si buscas en Internet encuentras, pero según recuerdo vienen con un código clave o no es gameshark, es más raro...
Tengo un problema así con Tsubasa 2 de NES, mira, uno pone por ejemplo esto:
036C-01-23
Y ahora uno de los jugadores tuyo es otro, pero sus stats varían mientras juegas, te pueden aparecer unos similares a los de Tsubasa, o todo 8, o los suyos reales, u otros... es un lío. No intenté arreglarlo aún ¿por casualidad sabes cómo? Uf ¿y sabes cómo ver la experiencia de los jugadores? No me refiero al LV, sino al parámetro que no se muestra en el juego, supuestamente existe. Tampoco lo busqué mucho por mi cuenta, lo más parecido que vi es un video donde se muestra un número pero no se sabe si es real y no se explica si cada vez aumenta más lento o la cantidad requerida para el LV Up aumenta, es un misterio, en guías que vi no se dice.

También me gustaría que me dijeras las fórmulas matemáticas o lo que sea que se use al realizar los tiros en Mario Tennis GB.

Ah, otra cosa que me acordé: Hacer que el juego crea que ciertas cosas ocurrieron o no ¿sabés algo de eso? Por ejemplo en Seiken Denketsu 3 (SNES) empezar desde que se rompieron los cristales ¿por qué? Quiero probar distintos personajes, stats y clases sin jugar desde el inicio cada vez... Vi un código para cambiar los personajes, etc, pero igual me gustaría poder cambiar el momento del juego, sino se puede bugear (imagina que jugué con la historia de Duran y de repente lo cambio...).
336  Foros Generales / Foro Libre / Re: GPT me trolleó. en: 16 Mayo 2024, 01:48 am
Desde hace mucho intento mejorar en eso y varias cosas, pero me parece que al final es más bien un problema del intérprete. A veces gente no entiende cosas que GPT sí y viceversa.
337  Foros Generales / Foro Libre / GPT me trolleó. en: 15 Mayo 2024, 21:52 pm
Haz esto:
X = "A"
Y = "a"
Repite:
  Dime una palabra en español o inglés que empiece con X+Y
  Si Y no es "z":
    Cámbia el contenido de Y por la siguiente letra del abecedario.
  sino
    Y = "a"
    Si X no es "Z":
      Cámbia el contenido de X por la siguiente letra del abecedario.
    sino
      X = "Finalizar"
mientras X sea distinto a "Finalizar"

Su respuesta:
Citar
Claro, puedo hacer eso. Aquí está el código:

```python
X = "A"
Y = "a"

while X != "Finalizar":
    print("Dime una palabra en español o inglés que empiece con", X + Y)
    if Y != "z":
        Y = chr(ord(Y) + 1)  # Incrementa Y a la siguiente letra del abecedario
    else:
        Y = "a"
        if X != "Z":
            X = chr(ord(X) + 1)  # Incrementa X a la siguiente letra del abecedario
        else:
            X = "Finalizar"
```

Este código utiliza un bucle `while` para repetir el proceso hasta que `X` sea igual a "Finalizar". En cada iteración, se solicita al usuario que ingrese una palabra en español o inglés que comience con `X + Y`. Luego, el código verifica si `Y` es diferente de "z". Si es así, se incrementa `Y` a la siguiente letra del abecedario utilizando la función `ord()` para obtener el valor numérico de la letra y `chr()` para convertir el valor numérico nuevamente en la letra correspondiente.

Si `Y` es igual a "z", se reinicia `Y` a "a" y se verifica si `X` es diferente de "Z". Si es así, `X` se incrementa a la siguiente letra del abecedario de manera similar a como se hizo con `Y`.

Finalmente, cuando `X` es igual a "Finalizar", el bucle se detiene y el programa termina.

No me hace gracia que me haga perder tiempo, pero a la vez sí xP Le pedí que haga eso, no que me muestre cómo escribirlo en Phyton... Además puso un Print  :xD Se pasa...


Uf... con esto perdió la gracia:
Te pedí que hagas la tarea, no que me digas el código.

Citar
Mis disculpas por la confusión. Aquí tienes los resultados de ejecutar el código paso a paso:

1. X = "A" y Y = "a"
2. Dime una palabra en español o inglés que empiece con "Aa".
3. (Supongamos que el usuario ingresa "árbol")
4. Debido a que Y no es "z", se incrementa Y a "b".
5. X sigue siendo "A" y Y ahora es "b".
6. Dime una palabra en español o inglés que empiece con "Ab".
7. (Supongamos que el usuario ingresa "animal")
8. Debido a que Y no es "z", se incrementa Y a "c".
9. X sigue siendo "A" y Y ahora es "c".
10. Dime una palabra en español o inglés que empiece con "Ac".
11. (Supongamos que el usuario ingresa "apple")
12. Debido a que Y no es "z", se incrementa Y a "d".
13. X sigue siendo "A" y Y ahora es "d".
14. Dime una palabra en español o inglés que empiece con "Ad".
15. (Supongamos que el usuario ingresa "azul")
16. Debido a que Y es "z", se reinicia Y a "a".
17. X sigue siendo "A" y Y ahora es "a".
18. Dime una palabra en español o inglés que empiece con "Aa".
19. (Supongamos que el usuario ingresa "auto")
20. Debido a que Y no es "z", se incrementa Y a "b".
21. X sigue siendo "A" y Y ahora es "b".
22. Dime una palabra en español o inglés que empiece con "Ab".
23. (Supongamos que el usuario ingresa "azúcar")
24. Debido a que Y es "z", se reinicia Y a "a".
25. X sigue siendo "A" y Y ahora es "a".
26. Dime una palabra en español o inglés que empiece con "Aa".
27. (Supongamos que el usuario ingresa "Finalizar")
28. X ahora es "Finalizar", por lo que el bucle se detiene y el programa finaliza.

Espero que eso resuelva tu solicitud. Si tienes alguna otra pregunta, no dudes en hacerla.
*~*
338  Programación / Programación General / Re: ¿Cómo promediar 2 colores? en: 13 Mayo 2024, 20:17 pm
Depende de como tomes el dato, por ejemplo CC0000 dará error porque para flash eso no es un número por lo que entenderá que es un nombre de variable que seguramente tampoco lo sea, para que Flash entienda que es un número debería ser: 0xCC0000, entonces Flash entenderá que le diste un número hexadecimal, si le das "CC0000" entenderá que es un String o Texto, en ambos no es que estás convirtiendo, solo le estás entregando los valores correctamente para que Flash lo entienda.
Ah, eso tiene mucha lógica.

Citar
Ese es código Action Script 2 o 3 por lo que se está usando declaración de variables tipadas especificando el tipo de variable (variable:String, variable:Number), se escribe la variable o función seguido de dos puntos y el tipo de dato que debe contener o devolver, quítalos para no tener problemas en Action Script 1 que es el que usas
Supuse que podía ser eso.

Citar
no sé si ya hayas visto que hay programadores que usan prefijos en sus variables para indicar que tipo de variables son para ser más legibles, por ejemplo: sNombre = "pepe"; iEdad = 17; fEstatura = 1.67; (s de String, i de Integer, f de Float)
Sí pero si lo veía sin que me lo dijeras no me daría cuenta, se me olvida, pero yo uso mCuadradito por ejemplo si me refiero al vínculo de Cuadradito (el nombre que se usa en el attach movie para indicar cual).

Citar
puedes trabajar con String que es más legible siempre y cuando ya hayas trabajado o conozcas el método SubStr y/o SubString para extraer partes de una String, supongo que parseInt y toString ya lo conoces bien, sino revisa la documentación o pregunta
Pruebo ahora, yo pensaba usar charat pero lo que dices es mejor.
339  Programación / Programación General / Re: Bot para un videojuego MMORPG por turnos. en: 13 Mayo 2024, 19:55 pm
Me parece tan difícil que no lo he intentado, pero no sabía que existía un programa capaz de facilitarlo tanto. ¿No puede leer variables en la memoria? El problema es que se guardan en distinto lado, quizá. Si puedes usar ifs podrías hacer chequos a muchos pixeles y si todos resultan como los que necesitas entonces sabes que es el dibujo que necesitas. Reducir la resolución de la pantalla quizá ayude a apuntar al pixel correcto. Eso es lo que se me ocurre...

Lo de los colores no lo entendí ¿los enemigos son del mismo color que el mapa? xP
340  Foros Generales / Foro Libre / Re: Muere el hombre que recibió el primer trasplante de riñón de cerdo en: 13 Mayo 2024, 19:42 pm
Hay que ver exactamente por qué no sirven. Este tipo de hechos pueden ser tomados como un experimento y aprender de los resultados, como dijera el inventor de las lamparitas. Modificar los órganos en otros aspectos. Y tal vez algún día se puedan hacer copias de los de quien los necesite, modificándolos para que sean saludables. Y si lo que está mal es otra cosa del cuerpo, pues eso, o también.
Páginas: 1 ... 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 46 47 48 49 ... 229
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines