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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 ... 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 40 41 ... 54
251  Programación / Programación C/C++ / Re: Retornar punteros char? ¿Si o si memoria dinamica? en: 26 Junio 2018, 18:38 pm
BONUS- Si trabajar estrictamente con char* no es un requisito entonces usa std::string al retornar de la funcion:
Código
  1. std::string mystr = MyFunction();

Pero eso no funciona en C.
252  Programación / Programación C/C++ / Re: Necesito Ayuda sobre Interfaces Graficas en C++ y Desarrollo de Videojuegos en: 23 Junio 2018, 18:46 pm
Tengo entendido que el programador front-end es el que "se relacion con el usuario"(tipo javascript) y el back-end el que hace que lo anterior funcione, ¿es eso asi?.

No le hagas caso, yo creo que se refiere a que ahora te interesa el frontend, la parte de la interfaz con la que interacciona el usuario con la aplicación y que te aburriste de la lógica del programa que supuestamente él interpreta que es el backend. Son términos t´picos en el desarrollo Web que si se aplican en tú caso no tienen nada que ver. Me imagino que sólo bromea sin tener mucha idea.

Hola

Yo creo que, para alguien que no lleva mucho tiempo, ponerse directamente con OpenGL o similar va a ser un poco duro y te va a costar más avanzar que si usas alguna librería.

Por ejemplo, para interfaces gráficas tienes librerías como wxWidgets, GTK o Qt. Personalmente uso Qt, es mucho más que una interfaz gráfica, es un frameworks completo para desarrollar todo tipo de aplicaciones móviles o de escritorio.

Para los juegos igual, hay estupendas librerías como SDL o SFML que te van a permitir avanzar mucho más rápido. Y también los motores, que ahora están "de moda", como Unreal Engine, Unity, cocos o Godot.

Un saludo

No necesariamente, todo eso que has puesto está muy bien, pero son cosas diferentes. Si estás interesado en el desarrollo de videojuegos OpenGl y DirectX le iran muy bien aprenderlos y no tiene por que ser dificil... eso son leyendas urbanas tipo como esa de que ensamblador es un lenguaje dificil. Requiere un conocimiento, de un aprendizaje, que no necesita años y es lo mismo como si usara todas esas librerías que has mencionado, necesitas leer documentación y examinar ejemplos, pero nada que no se resuelva en poco tiempo, quizás un par de meses. Por eso digo que la mejor forma de aprender en programación siempre es la práctica ¿Qué quieres aprender a usar DirectX? pues hazte un pequeño juego/experimento primero en 2D usando un par de imágenes como un juego de ping-pong o un flappybird o cualquier cosa sencilla que puedas desarrollar en dos semanas, y ahí en el mismo desarrollo te pones aprender. Primero te encontrarás con el problema de como iniciar DirectX, la configuración de pantalla, etc... luego el funcionamiento de un juego que simplemente consiste en crear un bucle y dentro de ese bucle realizar determinados procesos o configurar los eventos para que cuando pulses una tecla u ocurra una colisión o alguna acción se redirija el flujo del programa a esa función o lo que sea, etc... Cuando encuentres una duda, consultar documentación, examinar los ejemplos, y en caso de encontrarte perdido pregunta, foro, amigo programador, maestro, etc... es simple. Si has podido aprender C++, has trabajado con punteros y los entiendes, has hecho programas en consola, que nadie te diga que hay cosas más difíciles, para un programador no hay nada difícil, simplemente hay que invertir tiempo y trabajar duro.

Un buen sitio para aprender... yo lo he usado, es un maravilloso portal de ejemplos de OpenGL y un buen lugar para aprender (si te defiendes con el inglés).
http://nehe.gamedev.net/
253  Programación / Programación C/C++ / Re: Necesito Ayuda sobre Interfaces Graficas en C++ en: 22 Junio 2018, 21:01 pm
Viendo mas he visto que en el desarrollo de videojuegos no se utiliza WinApi y viendo lo que me has dicho voy a aprender WinApi para el tema de desarrollar aplicaciones de escritorio en Windows y DirectX para videojuegos. Lo que no sé es si DirectX es todo lo que voy a tener que saber para programar juegos, ¿alguna recomendacion para programar juegos aparte de DirectX? ¿Hay mucha diferencia de programar para juegos en PC y juegos para consolas?
Por cierto, he visto un libro que parece muy bueno "C++ Deitel" ademas enseña en C++11 podrian decirme si es realmente bueno(os dejo el pdf aunque mi idea seria comprarmelo en fisico).
https://docs.google.com/file/d/0B_eXfddvHj9wekJmamR1QjNrMzQ/preview

DirectX puedes usarlo en combinación del WinApi, sobre todo para aplicaciones multimedia.

Diferencias programando en consola y PC? Si, que si programas a bajo nivel necesitas conocer la arquitectura de la consola para acceder a determinadas funciones de esta. Yo así la experiencia que he tenido programando juegos fue con diferentes tecnologías y dispositivos, por ejemplo para un SO Symbia trabajé con J2ME, para Xbox 360 con dotnet (usando C# + DirectX), para Nintendo DS con C (OpenGL), en Android con Java (OpenGL)... incluso usando ensamblador para un procesador MIPS (que solían usarse en las consolas).

Lo otro ya te lo dije, la alternativa a DirectX es OpenGL, porque OpenGL está soportado en la gran mayoría de dispositivos que no son productos de Microsoft. Luego existen otro tipo de librerías encaminadas exclusivamente al desarrollo de videojuegos, ya que DirectX y OpenGL no están enfocadas solo a los videojuegos y son muy básicas. Por ejemplo está Ogre3D, que trabaja en una capa superior (menos complciado).

https://www.ogre3d.org/

Conocimientos para juegos, pues dependerá de que juegos pero en la mayoría de casos será necesario tener un conocimiento bueno de la trigonometría, geometría(líneas de bezier, etc...), también sobre los shaders, algo de sonido, iluminación, imagen, algoritmia avanzada, etc... un programador de videojuegos debe ser alguien multidisciplinar, que tenga conocimientos en varios ámbitos aparte de la programación.

Te pondría una lista de enlaces pero me tomaría tiempo, lo mejor es que te centres en un trabajo en concreto, por ejemplo intenta desarrollar un pequeño juego un experimento, poco pretencioso que puedas acabar en dos meses y según te vayan saliendo dudas de como se hace esto o aquello acudes al foro (a este u otro) y se te vaya facilitando la información. Yo muchas cosas las aprendía así, haciendo experimentos, y es más todos los juegos que desarrollé nunca los acabé aunque eran funcionales, pero era simplemente para aprender y adquirir conocimiento, por eso no te hablo por hablar, te hablo por experiencia aunque nunca haya sido un programador de videojuegos profesional.

También trabajé con motores, que son "programas" diseñados para generar un ejecutable por medio de scripts y componentes personalizables.
254  Programación / Programación C/C++ / Re: Necesito Ayuda sobre Interfaces Graficas en C++ en: 22 Junio 2018, 02:49 am
Después de leer tú consulta pienso que no tienes un nivel de C++ medio, sino un nivel bajo de C++, incluso principiante.

¿podriais decirme para que puedo usar C++ a parte de por ejemplo juegos? Porque basicamente todo lo que estoy porgramando se basa en programas de consola y claro, me parece algo aburrido ya que quiero aprender a programar cosas que no tengan que ver con las aplicaciones de consola.

Puedes hacer todo, aparte de juegos. El límite lo pone tú imaginación, tú conocimiento del lenguaje, librerías y el ámbito del programa (si haces un programa de contabilidad necesitas saber contabilidad). Se puede hacer de todo, desde sistemas operativos, lenguajes de programación, navegadores, servidores HTTP, base de datos, herramientas de red, cualquier tipo de aplicación o programa, no hay nada que no puedas hacer en C++.

Logicamente, como no vas a programarte tu propia API ya existen montón de librerías que te facilitarán el desarrollo.

Volviendo al tema, lo que mas me ha convencido es Qt pero no tengo ni idea si al programar ahi se cambia un poco el lenguaje, no encuentro libros que expliquen desde 0 el Qt, he visto que uno dice que en Visual Studio al hacer interfaces el lenguaje cambia (C++/Cli creo que es).

Si programas en Windows deberías usar su propio API el cual está super bien documentado.

https://msdn.microsoft.com/es-es/library/bb384843.aspx

También puedes recurrir si estás en Windows a DirectX, que es una librería gráfica para trabajar a medio/bajo nivel con alto rendimiento y con aceleración por hardware (en caso de estar disponible).

https://docs.microsoft.com/en-us/previous-versions/windows/apps/hh465137(v=win.10)

Luego también tienes alternativas a DirectX, como OpenGL, que se maneja de una forma similar.

QT está pensado para la creación y gestión de interfaces en un ámbito multiplataforma. Esto significa que simplemente con el mismo código podrías portarlo a otros sistemas operativos y usando las librerías para la plataforma que quieras portar. Algunas veces esto suele pintarse muy bonito pero lo cierto es que puede dar muchos dolores de cabeza.

C++/CLI es C++ enfocado al entorno dotnet. Normalmente el Visual Studio permite elegir entre una aplicación pura de C++ (Win32) y CLR.

https://msdn.microsoft.com/es-es/library/z6ad605x.aspx

Aparte Microsoft no respeta el estándar de C++, y existen ligeros cambios que pueden tender a la confusión.

https://es.wikipedia.org/wiki/Visual_C%2B%2B

Mod: Otra pregunta es: ¿Deberia aprender de guias que tienen ya un tiempo (Ejemplo: 5-6 años) . Es que tengo un libro de C++6 y claro, en el "Hola mundo" en vez de un int main() pone un void main()(en code::blocks pongo eso y vamos, dice que me olvide) o no se usa el using namespace std; y todo lo que he aprendido tendra como 2-3 años como mucho.

El C++ está constantemente evolucionando y cada vez más rápido, es bueno que estés actualizado y sepas los cambios existentes en las versiones pero dependerá del compilador que uses.

La versión estable más reciente es la C++17.

https://es.wikipedia.org/wiki/C%2B%2B17

Pero normalmente se programa para la C++11.

https://es.wikipedia.org/wiki/C%2B%2B11
255  Programación / Programación C/C++ / Re: Como hacer un programa para hacer fuerza bruta no diccionarios en: 16 Junio 2018, 23:39 pm
Imaginé que la página podría no avisar solo con el responde del Post si los datos eran correctos y debía interactuar más con la página a nivel front-end por lo que C/C++ no sería lo ideal, incluso php queda obsoleto con páginas de más seguridad y abría que usar emuladores de navegador como PhantomJs  :xD

El servidor no va a comprobar si haces la petición o solicitud desde un programa, en este caso, o si lo hace desde el navegador. Por otro lado el fronted puede ser un programa, no necesariamente debe estar en el navegador(que es un programa también)... y como no, desde el navegador pasando por el servidor Web hasta el propio interpretador de Php están hechos, muy probablemente, en C o C++.

Al final lo que cuenta es que la respuesta sea hecha de la forma que el servidor pueda asimilarla. Muchas herramientas para esnifar o hackear suelen estar hechas en C/C++ ya que una vez compilado tienes un pequeño ejecutable de unos pocos kilobytes y un consumo de recursos bajos, alto rendimiento, así como facilita la portabilidad a otras arquitecturas o sistemas operativos.

https://github.com/JPaulMora/Pyrit
https://github.com/wiire-a/pixiewps
https://github.com/rafael-santiago/pig
https://github.com/netsniff-ng/netsniff-ng
etc...

Con esto no quiero menospreciar otros lenguajes como el propio PHP, pero cuidado al decir que C/C++ no es un lenguaje "práctico"  :xD
Salu2
256  Seguridad Informática / Hacking / Re: Necesito ayuda, apache y java en: 16 Junio 2018, 22:42 pm
A lo que voy, es que hay una página .jsp que muestra datos, esos datos algunos usuarios depende sus privilegios pueden cambiarlos. Ahora lo que necesito saber es de donde esa página saca esos datos. Si puedo ir hasta esa dirección teniendo acceso a los discos duros de el host.

Me imagino que en la base de datos tendrá alguna tabla que indique que tipo de permisos dispone o el rol del usuario.
257  Programación / Programación C/C++ / Re: Como hacer un programa para hacer fuerza bruta no diccionarios en: 16 Junio 2018, 22:33 pm
Haciendo una petición POST a la página, C/C++ no es lo más practico, aprende algo de php

Discrepo  :¬¬
258  Sistemas Operativos / GNU/Linux / Re: Instalar DNIe en Manjaro Linux en: 11 Junio 2018, 19:18 pm
Tengo el lector y tengo el DNIe, pero tengo la firma caducada... yo antes lo usaba hace años, pero lo tenía instalado en Windows. A ver si mañana que tengo que bajar hacer unas cosas paso por la comisaría y lo renuevo en la máquina, y pruebo instalarlo con el Manjaro en una máquina virtual y así a lo mejor descubro algo o consigo hacerlo funcionar ahí.

Eso si, las configuración será diferente porque seguro que no tenemos el mismo lector, el mio es un cutre Conceptronic CSMARTID, que al menos tiene driver para linux.
259  Sistemas Operativos / GNU/Linux / Re: Como se puede ejecutar un script en Raspberry desde terminal Linux en: 10 Junio 2018, 22:08 pm
Hola A.I, gracias por la pista, pero te aseguro que en español no había nada y la verdad que me he sorprendido al ver que habian muchas paginas en ingles con la solución.
Por si a alguien le puede servir dejo la solucion de 2 formas distintas:
Hola ya he descubierto la forma de hacerlo después de leer decenas de foros en ingles, y ademas sé 2 métodos:

La primera forma es de manera directa

Código:
sshpass -p contraseña ssh pi@192.168.1.40 "cd home/usuario/; tar xzvf carpetacomprimida.tgz "


El segundo método que es el que más me gusta y es creando previamente un script .sh ejecutable que tendrá una serie de comandos, por ejemplo:

script_mandar.sh

Código:
cd /home/usuario/
tar xzvf carpetacomprimida.tgz.tar
sudo rm carpeta comprimida.tgz.tar
exit ssh

y ahora con este comando lanzo el script en la raspberry de manera automática y en menos de 5 segundos realiza todas las tareas.

Código:
sshpass -p contraseña ssh pi@192.168.1.40 "$(<script_mandar.sh)"

Gracias por la ayuda y espero que le pueda servir a alguien más.

Cualquiera que conozca linux o haya trabajado lo suficiente con linux sabe que se puede hacer eso. Haces una búsqueda así y obtienes miles de resultados en español que te enseñan hacerlo :

https://www.google.es/search?q=linux+remoto+ssh&oq=linux+remoto+ssh&aqs=chrome..69i57j0l5.3536j1j7&sourceid=chrome&ie=UTF-8
260  Sistemas Operativos / GNU/Linux / Re: Instalar DNIe en Manjaro Linux en: 10 Junio 2018, 22:03 pm
Leíste la documentación sobre la instalación en sistemas bsados en unix? Quizás encuentres algo que se te ha escapado.

https://www.dnielectronico.es/PortalDNIe/PRF1_Cons02.action?pag=REF_1110
Páginas: 1 ... 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 40 41 ... 54
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines