Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Locura_23

#51
Gracias por tu respuesta @Serapis muy informativa. Estaba tan en la oscuridad con el tema que hasta lo había puesto en la categoría hacking  :xD

Ya veo que es toda una rama nueva para aprender, muy interesante. Es cierto que los desarrolladores de videojuegos son los que más utilizan el ensamblador y tecnologías de procesador para hacer sus videojuegos  ir bien con las computadoras de esa epoca...

Crees que estudiar el lenguaje ensamblador de Intel puede ser una buena manera de comenzar? para poder orientarse a juegos de pc. Luego comence con el curso de Ricardo Narvaja que recomendaron por acá...

Saludos
#52
Buenas comunidad, siendo un completo novato en hacking, puede que esta sea una pregunta un tanto general... Como es el método para acceder al código de un videojuego ? Por ejemplo, para hacer mods, traducciones o cracks. Qué conceptos habria que investigar?
Imagino que parte del proceso es acceder al codigo fuente, reconocer el lenguaje en que esta escrito y de ahí modificarlo...
#53
Hola @LadyWin

Te dejo mis ideas jaja...Por ahi ya lo sabes pero, creo que la única forma que eso te retorna 0 es que ese if de la línea 9 es distinto de cero. Al utilizar punteros acordate que modificas el valor de la variable misma... entonces, la segunda llamada no va a devolver 1 porque se modificaron las variables en sí mismas. Osea que te está posicionando en otro casillero del tablero que no es cero...
Por ahi te interese hacer paso de parametros por valor, y vos le pasas la posición del tablero que queres evaluar.

Luego... en mi humilde opinión, te conviene hacer más descriptivos los nombres de tus variables y funciones, código aburrido y simple = código funcional y facil de mantener. Por ejemplo, la función puede llamarse: evalua_movimiento_caballo(), de un vistazo ya sabes qué hace.

PD: en el caso de que esa función busque las posibles posiciones del caballo (las que son igual a cero en la matriz), tal vez podrías hacer un while o for que recorra cada fila de la matriz hasta que encuentre una posición cero, y si no encuentra ninguna salta a la fila que viene...
#54
Cita de: MAFUS en 19 Julio 2021, 00:41 AM
No la liberas a mano. De esa se encarga C. Por eso si intentas liberar con free te saltará el error. Y no, la memoria puedes hacer una cadena tan larga como quieras. En los sistemas modernos el propio sistema no te dejará porque impide que los programas escriban o lean en direcciones de memoria que no están autorizados. En sistemas sin protección podrías escribir una cadena tan larga que podría sobreescribir cualquier parte de la memoria, y eso eran los ataques de buffer overflow.

Comprendo, quedo clarisimo.  Gracias viejo!
#55
@WHK , @MAFUS

muchas gracias por sus respuestas  :)

Entiendo que entonces no es posible liberar esa memoria ocupada por el arreglo estático auxiliar...? Me llama la atención porque aunque se quiera hacer que el usuario introduzca una cadena de cuantos caracteres quiera, al final habria un limite del estático...
#56
Tiene sentido, ya saben que tenemos la vista cansada :P

Recuerdo un tema oscuro de Windows 7 que cambiaba absolutamente todo, incluso las páginas web, era un poco bug... donde habia blanco metía negro xD
#57
Buenas genios, me surgió la siguiente duda, tal vez alguien que la tenga más clara puede ayudarme.

Es válida esta forma de asignar un string de manera dinámica ? Si o si necesito utilizar un arreglo estático auxiliar ?



#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
   char cadena_aux[100] = { 0 };
   char *cadena = NULL;
   int tam_cadena = 0;

   puts("Introducir una linea de texto.");
   fgets(cadena_aux,100,stdin);

   tam_cadena = strlen(cadena_aux);

   cadena = (char * ) malloc ( ( tam_cadena + 1 ) * sizeof(char) );

   if(cadena == NULL)
   {
       printf("Error en asignacion de memoria.\n");
       exit(EXIT_FAILURE);
   }

   strcpy(cadena,cadena_aux);

   printf("cadena = %s\n",cadena);

   free(cadena);

   return 0;
}




Luego, tras hacer la copia del estatico al dinámico, al intentar liberar la memoria utilizada en el arreglo estático me tira error...
#58
Hola, te dejaré mi humilde opinión como estudiante de Programación. La rama de ciberseguridad pienso (sin tener ninguna experiencia en esta rama, pero sí alguna en programación) es una vez sabes las bases de informática y programación. Te recomendaría primero aprender programación con algún curso (si tienes alguien que pueda responder a tus dudas en cuanto a código mejor) y mucha lectura del tema.
Si estudiaste ciencias económicas seguro tienes el background de matematica y paciencia para aprender programación...
#59
@DtxdF @tincopasan @Daniel Muchas gracias por sus respuestas!

Pues parece que hice bien entonces, en realidad empecé a ver Python para empezar con POO pero en la Universidad veremos Java. Me sorprende lo flexible que es Python viniendo de aprender el lenguaje C  :xD pero entiendo su capacidad para hacer una gran cantidad de cosas.
#60
Bueno, básicamente esa es mi duda... Puede que sea muy subjetiva.
Aprendí las bases de programación estructurada en C y ahora estoy interesado en empezar con POO. Ven a Python como una opción recomendable para empezar con orientación a objetos?
PD: me he enterado también que existe una plataforma hacer paginas web con Python llamada Django? Recomiendan esa plataforma?