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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 204
91  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...).
92  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.
93  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.
*~*
94  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.
95  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
96  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.
97  Media / Juegos y Consolas / Re: Videojuego retro en: 13 Mayo 2024, 18:43 pm
No conozco detalladamente el Mame, sé que emulaba juegos como Metal Slug que son de Arcade o Neo Geo, y creo que incluía juegos. Emuladores para PC hay muchos de distintas consolas, pero los juegos los tienes que descargar de a uno por ahí o en algún pack que alguien haya puesto.

Para juegos como Metal Slug yo usaba NeoRagex. Cual versión depende del Windows, a mí la que me sirvió y gustó fue la 5.0, las posteriores hacen un pitido. Puede que debas descargar también cierto archivo, si es el caso un cartel te dice cual. Y algunos roms puede que no te funcionen, debes probar descargarlos de otro lado, vienen en distintos formatos.

Este no lo probé pero se supone que incluye muchos juegos:
https://foro.elhacker.net/juegos_y_consolas/atencion_20000_juegos_del_zxspectrum_en_todos_los_windows_32_y_64-t521195.0.html

Para Playstation 1 el que uso es ePSXe (juegos descargados, originales no probé). Creo que tiene un "problema" similar al que te dije antes, y además te tomará un tiempo lograr una configuración adecuada de video y sonido, puedes buscar en Internet sobre eso, además hay plug ins que pueden descargarse, son como mejoras para las configuraciones.
98  Foros Generales / Foro Libre / Re: hola donde puedo encontrar la pelicula y si nos enfadamos en BDremux o 1080p en: 12 Mayo 2024, 10:44 am
Quizá pueda hacerle un videojuego sencillito:
https://www.amazon.es/Laudoracing-Spencer-Terence-Hill-Buggy/dp/B08MV1799P
¿cómo lo querrías? Algo visto de costado tiene que ser, otra no sé, desde arriba no tengo dibujo. Puede ser que vaya esquivando obstáculos con arriba/abajo y pisoteando matones o algo xP Para PC, celulares no sé.

En mi fiesta me pusieron al bananero cantando haceme un petardo, Perciavalle hablando de extraterrestres pero me pareció que dijo poquísimo, y a un cheto que analizaba cuan rápido camina la gente en Inglaterra. No me gustan esas cosas, por supuesto que me enfadé, el tipo se pone a mirar "analizando humanos" y conoce poquísimo al que tiene al lado, por favor.
99  Programación / Programación General / Re: ¿Cómo promediar 2 colores? en: 11 Mayo 2024, 16:35 pm
profinet:
Eso lo pensaré más adelante.

para tí son galimatías incomprensibles.
En general  :xD

Citar
0x es el prefijo para indicar que el número debe interpretarse como un valor hexadecimal.
Ya veo:
A = 0x20;
me da 32.

Así que con >> y << las operaciones funcionan más rápido... Nunca me habían dicho. Pero sólo sirven si son *2^algo o /2^algo ¿no?

Citar
El símbolo: '&' es el operador booleano AND y '0xFF' es el valor 255 expresado en hexadecimal, básicamene cuando haces un valor and 255, todos los bits por encima del 8º se ponen a cero.
toma la calculadora escribe (en decimal) 123456 (luego pulsa el botón de opción 'bin' para ver el valor en binario, luego devuélvelo a decimal pulsando el botón de opción 'dec') pulsa la tecla AND y luego escribe 255, el resultado será: 64, es decir 0100.0000 dicho de otro modo, hace que el valor esté en el rango 0-255. En definitiva tratándose del valor del canal de un píxel se asegura que el resultado no esté fuera de rango.
Esto me cuesta entenderlo ¿tiene sentido que le llaman AND? Bue, le llaman % al resto, no debería sorprender. El diccionario de Flash dice:
& (operador AND como bit)
Sintaxis

expresión1 & expresión2
Argumentos

expresión1, expresión2 Cualquier número.

Descripción

Operador (como bit); convierte expresión1 y expresión2 en números enteros de 32 bits sin signo y realiza una operación Booleana AND en cada bit de los argumentos del número entero. El resultado es un nuevo número entero de 32 bits sin signo.

Reproductor

Flash 5 o posterior. Si se ha utilizado el operador & en Flash 4 para concatenar cadenas. En Flash 5 el operador & es un AND como bit y los operadores add y + concatenan cadenas. Los archivos de Flash 4 que utilizan el operador & se actualizan automáticamente para utilizar add cuando se traen al entorno de autoría de Flash 5.
Hice la prueba que me dijiste pero igual no lo entendí.

A = 0 & 1;
da 0.

A = 2 & 34;
da 2.

A = 5 & 678;
da 4.

A = 9 & 1234;
da 0.

GPT:
En Macromedia Flash 5, la línea de código "A = 0 & 1;" realiza una operación de "AND" a nivel de bits entre los números 0 y 1, y el resultado se asigna a la variable A.

En lenguajes de programación como ActionScript, el operador "&" se utiliza para realizar operaciones de bits a nivel de los valores binarios de los números. En este caso, el número 0 se representa como "00000000" y el número 1 como "00000001". Al realizar el operador "&", se compara cada bit en la misma posición en ambos números y se devuelve 1 solo si ambos bits son 1. De lo contrario, se devuelve 0.

En este caso específico, el resultado de la operación es 0, porque no hay ninguna posición en la que ambos números tengan un bit 1. Por lo tanto, la variable A se asignará con el valor 0.


Otro:
La expresión "123 & 456" también realiza una operación de "AND" a nivel de bits, pero esta vez entre los números decimales 123 y 456.

Para entender el resultado, primero debemos convertir esos números a su representación binaria:

123 en binario: 1111011
456 en binario: 111001000

Luego, aplicamos el operador "&" a nivel de bits comparando cada posición:

1111011
& 111001000
111001000


O sea:
1111011
&
111001000
=
111001000
Significa escribir un nuevo número de modo que, en el lugar donde cada uno tenga un 1 va un 1 y sino un 0, hasta que sea tan largo como el nro más largo. Lo que no entiendo es lo de "convierte expresión1 y expresión2 en números enteros de 32 bits", imagino que si son números pequeños les pone 0s delante ¿y sin son largos sólo toma lo que está delante?

Cuando se dice que el operador "&" convierte las expresiones a números enteros de 32 bits, significa que toma las expresiones y las representa internamente como números enteros de 32 bits antes de realizar la operación "AND" a nivel de bits.

Un número entero de 32 bits es una representación binaria de un número que utiliza 32 posiciones o bits. Cada bit puede tener un valor de 0 o 1. La conversión a 32 bits asegura que las expresiones se traten como números enteros de longitud fija antes de realizar cualquier operación a nivel de bits.

Si las expresiones originales son números más pequeños que 32 bits, se completa el número con ceros a la izquierda para alcanzar los 32 bits. Por ejemplo, si una expresión es el número decimal 5, se representa en binario como "00000000000000000000000000000101" para ocupar 32 bits.

Una vez que ambas expresiones se han convertido a números enteros de 32 bits, el operador "&" realiza la operación "AND" a nivel de bits entre cada par de bits correspondientes en las expresiones. El resultado es un nuevo número entero de 32 bits sin signo.

En resumen, la conversión a 32 bits asegura que las expresiones se traten como números enteros de longitud fija antes de realizar la operación "AND" a nivel de bits. Esto proporciona consistencia en la representación y permite realizar la operación de manera adecuada.
Ah, ya veo, son muchos 0s, 32, me confundía con algo como esto:
Si hay 1 número son 2 posibles valores.
2 -> 4
3 -> 8
4 -> 16
5 -> 32
O no sé, tengo mucho lío, cuando busco cheats en juegos la opción 8 bits son 2 dígitos (o sea de 00 a FF), y de 32 son más pero no tantos, ah, puede ser porque eso es hexadecimal...

Entonces por ejemplo 123456 & xFF:
11110001001000000
&
00000000011111111
=
00000000001000000 = 64

¡Ok! Y esto sirve para... "tratándose del valor del canal de un píxel se asegura que el resultado no esté fuera de rango.", entiendo, pero no para qué aumentó los valores o cómo es eso.

Pero en el caso anterior no es así.
1111011
&
111001000
quedaría:
001111011
&
111001000
=
001001000

No entiendo entonces.

Citar
Es una función que convierte un número decimal en una string formateado en hexadecimal y lo devuelve en mayúsculas .
Estás más verde de lo que pensaba en el lenguaje del que estás 'enamorado'...  :silbar: :silbar:
Convierte en hexadecimal el valor que contiene el parámetro de tipo numérico llamado 'decimal'.
Ya, pero es que hace mucho que no convierto algo único a String, lo más parecido que he estado haciendo es concatenar números así Dato1+" "+Dato2, y como pensaba acabo de ver que esto:
J = 3;
J = J+"";
Hace que J sea "3", string, por lo que no hay necesidad de usar String(J) parece. Pero eso de J.toString(), no sé si alguna vez lo había visto, sobre cuestiones binarias y similares aún he visto muy poco.

Citar
sería equivalente a:

Código:
color = (rojo * 65536) + (verde * 256) + azul
colorPromedio = decimalToHex(color)
Ya ¿pero por qué funciona? A ver si lo puedo entender más simple:
- Supongamos que en vez de 0 a 255 fuese de 0 a 2 y que tenemos los colores 200 y 210.
- El resultado debería ser 100 o 110 dependiendo de cómo se redondeé.
¿Cómo se llega a ese resultado? ¿algo así?
R1 = Floor(200/100) = 2
Restante = 200-100*R1 = 0
G1 = Floor(Restante/10) = 0
B1 = Restante-10*G1 = 0
R2 = Floor(210/100) = 2
Restante = 210-100*R1 = 10
G1 = Floor(Restante/10) = 1
B1 = Restante-10*G2 = 0
NuevoR = Round((R1+R2)/2)
NuevoG = Round((G1+G2)/2)
NuevoB = Round((B1+B2)/2)
NuevoColor = NuevoR+""+NuevoG+NuevoB
Se supone que eso concatena bien, sino lo cambio.

Es mejor que obtener los caracteres como había planeado. Pero explicame el método de GPT o el tuyo con un ejemplo para que yo lo pueda entender, ojalá. Una de las diferencias es que los valores originales son hexadecimales y deben ser convertidos a decimales, supongo, para poder hacer el promedio. Ah, veo que lo hiciste:
Citar
azul1 = (color1 and 255)
verde1 = ((color1 \ 256) and 255)
rojo1 = (color1 \ 65536)
Lo que no entiendo es el and 255, y creo que te faltó ponerlo en rojo1 ¿no?
Ese and 255 ¿se puede convertir en una operación normal como hiciste con los >> y << o es más bien algo lógico?

Citar
son cosas elementales de programación, te suena a chino, no solo por ser autodidacta (que no es en sí el problema), es debido quizás a ser demasiado cabezón en no haber querido aprender las cosas elementales que además son comunes e indistintas a cualquier lenguaje. El escaso tiempo que ahorraste en no aprender (3-6 mses) lo pierdes ahora (con creces) en detalles insignificantes
No sé, con ese criterio tendría que haber estudiado electrónica y física atómica que es más elemental, yo aprendí lo que me fue necesario (y que me enteré qie era posible), hasta ahora nunca había precisado esto... De hecho quiero entender si se puede hacer "normal" porque yo programo en un lenguaje "normal", ya sabes, la típica discusión de si conviene aprender lenguaje máquina o no, en mi caso no creo porque me cuesta y tengo poca memoria para ciertas cosas...
¿Te parece que pierdo más tiempo por estar unas horas intentando aprender eso, en vez de pasarme horas haciendo ejercicios? Yo quise estudiar Programación hace años pero había cupos limitados y no obtuve suficiente buena calificación (hubo gente que con 1 punto más que yo entró, pero bue), pero luego vi que a un amigo le pedían hacer cálculos de convertir a binario o cosas que me parecían raras o poco útiles... así que perdí interés. Es como en Química y Física, yo quiero hacer cosas, no cálculos. Tampoco quiero hacer las cosas haciendo malabares si se pueden hacer más simple, me refiero a no usar moles y en este caso... bue, me interesó porque dices que funciona más rápido, pero sino lo del desplazamiento no lo usaría.
100  Seguridad Informática / Hacking / Re: hacker me espia mucho tiempo programa usando para ello en: 9 Mayo 2024, 20:06 pm
No respondiste la pregunta: ¿Qué pasa si atentés los teléfonos que te vibran? Decís que es como una llamada pero no es, entonces no se entiende qué es ¿te activan el modo vibración sin que se produzca una llamada?
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ... 204
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines