Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Meta en 5 Diciembre 2016, 05:32 am



Título: Adaptar código de C++ deLinux a C# de Windows
Publicado por: Meta en 5 Diciembre 2016, 05:32 am
Hola:

Para los que entiendan bien el C++ bajoj Linux, quiero hacer esta aplicación en Windows bajo C#. Me parecemuy complicado y eso que he estado mirando archivo por archivos, no tengo conocimientos muy bien del C++ y pesco a lo lindo.

Al menos quiero saber que archivos hay que adaptarlo, haber si cojo el truco. Funciona en modo consola.
Hay partes del programa que si puedo,como los if else, switch y demás, lo sencillo, en cuanto a otros aspecto no lo veo en C# ni loco.

El programa que quiero traducir es este.

Ver enlace (https://github.com/fbriere/linux-dexdrive).

Un cordial saludos.


Título: Re: Adaptar código de C++ deLinux a C# de Windows
Publicado por: engel lex en 5 Diciembre 2016, 05:43 am
solo viendo este archivo

https://github.com/fbriere/linux-dexdrive/blob/master/dexdrive.c (https://github.com/fbriere/linux-dexdrive/blob/master/dexdrive.c)

tienes más problemas que simplemente traducirlo... y es traducir a windows las librerías base de linux o conseguir compatibles...



Título: Re: Adaptar código de C++ deLinux a C# de Windows
Publicado por: BloodSharp en 5 Diciembre 2016, 06:47 am
(...)Para los que entiendan bien el C++ bajoj Linux, quiero hacer esta aplicación en Windows bajo C#.(...)
Al menos quiero saber que archivos hay que adaptarlo, haber si cojo el truco. Funciona en modo consola.
Hay partes del programa que si puedo,como los if else, switch y demás, lo sencillo, en cuanto a otros aspecto no lo veo en C# ni loco.

solo viendo este archivo

https://github.com/fbriere/linux-dexdrive/blob/master/dexdrive.c (https://github.com/fbriere/linux-dexdrive/blob/master/dexdrive.c)

tienes más problemas que simplemente traducirlo... y es traducir a windows las librerías base de linux o conseguir compatibles...

No eso no es lo peor: uno es un ejecutable (compilando dexattach.c) que asumiendo que "pueda" convertirlo a la lógica de C# va a depender del otro archivo que es un driver de linux (compilando dexdrive.c) que a su vez lo tiene que adaptar para drivers de windows y .NET no tiene capacidad alguna de generar un driver...

Como poder adaptarlo a Windows aclaro que se puede, pero no es simplemente modificando if y elses nomás...


B#


Título: Re: Adaptar código de C++ deLinux a C# de Windows
Publicado por: Meta en 5 Diciembre 2016, 08:13 am
Buenas:

Al menos entender el protocolo de comunicación que indica aquí.

https://github.com/fbriere/linux-dexdrive/blob/master/protocol.txt

Parece ser que es suficiente para entender a programarlo a C#. Más que el driver, quiero su funcionamiento del programa.

Saludos.


Título: Re: Adaptar código de C++ deLinux a C# de Windows
Publicado por: engel lex en 5 Diciembre 2016, 08:40 am
tienes que poder leer el puerto serial... de ahí ya es sentarte, y leer bien esa documentación e ir probando


a fnal de cuentas.. para que es todo esto? por que no simplemente montas un live de linux?


Título: Re: Adaptar código de C++ deLinux a C# de Windows
Publicado por: Meta en 5 Diciembre 2016, 16:03 pm
Buenas:

Es un proyecto personal.
Lo del puerto serie no es problema para Windows bajo C#.

Tengo documentación hecha con Arduino sobre el peurto serie bajo C# y Arduino.
Tutorial 1 (http://www.slideshare.net/Metaconta2/apagar-y-encender-led-con-arduino-y-visual-studio-2015) y tutorial 2 (http://www.slideshare.net/Metaconta2/entrada-digital-con-arduino-y-visual-studio-2015).
En MSDN lo explica (https://msdn.microsoft.com/es-es/library/system.io.ports.serialport(v=vs.110).aspx) por todas partes.

Lo que hace el DexDrive es enviar comandos desde una interfaz Windows aunque sea modo consola y recibir respuestas. Precisamente lo que hace el de Linux pero lo veo más complicado de entender. La ventaja que explica su protocolo de comunicación (https://github.com/fbriere/linux-dexdrive/blob/master/protocol.txt) en cada comando, también en este otro enlace (https://web.archive.org/web/20100123200342/http://www.darklock.com/thps/dexdrive.html).

En esta ocasión solo usaré Windows con C# y sin arduino pro medio, ya tengo el DexDrive físico que funciona directamente con el puerto serie.

Parece una taera complicada, muy complicada hasta para expertos. ;)

Para empezar se necesita inicializar el DexDrive, almenos encender un Led y ver la versión, en mi caso es la 1.12 que muestar el DexDrive si envias el comando indicado, luedo podrás leer o escribir datos en ella. La idea es poder extraer datos y guardaro en el PC.

Saludos.