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 - Foxy Rider

#131
.NET (C#, VB.NET, ASP) / Re: Programacion C#
31 Agosto 2012, 07:23 AM
C# es un estándar ECMA ... la cuestión es que no todo lo que está en .net es estándar (como WPF o Winforms), así que ojo.
C# es portable ... pero no entiendo que querés hacer (por que mencionaste lua)

Usar C# como lenguaje de scripting desde C/C++ (como sucede con squirrel, angelscript o lua), o Aprender C#?
La primera corresponde a este foro, la segunda al foro de .net (como ya te dijeron)

Saludos.
#132
Bien ... lo primero sería que no crees OTRO proceso, sino un hilo.
Acordate que fork() crea OTRO proceso que hereda los privilegios del proceso padre al momento de llamar a la syscall (y de ahí en adelante, lo que cada proceso haga con sus privilegios, le compete a cada proceso)

Si cambian los privilegios del proceso padre, no es algo de lo que el nuevo proceso (hijo) se entere.
Por lo que deberías correr el código este de verificación DENTRO del proceso que vá a escalar privilegios, y los hilos son la respuesta si no querés bloquear (igual, me la pensaría si usaría hilos y no un main loop tradicional) → http://www.thegeekstuff.com/2012/03/linux-threads-intro/

Pensá que cada proceso tiene sus privilegios, sus archivos abiertos y todo lo demás PROPIO y separado de los demás procesos (más allá de que algunas cosas las heredes con fork, las heredás al momento de la llamada nada más)

Si el proceso padre (A), crea dos hijos B y C ... y luego A escala privilegios, B y C quedan con los privilegios viejos.
Y si A es root, B y C pueden abandonar esos privilegios dejando al padre (A) con privilegios root.

¿Respecto a escalar privilegios? Tenés un montón de maneras (dependiendo si querés privilegios granulares o full, de manera gráfica o no .. de manera "legal" o no)


Saludos.

P.S → No abuses fork(), que degrada la performance !!
#133
Effective vs Real UID → http://www.lst.de/~okir/blackhats/node23.html
Si geteuid() es 0, tenés los privilegios de root (yo usaría getuid, honestly) ... por que ése es el UID que identifica SIEMPRE a root, no importa cuál sea el nombre de usuario.

Y dicho sea de paso, podés tener varias cuentas con diferentes nombres de usuario, pero que sean "root", siempre que su uid sea 0.

Saludos.

P.S → Es una a tres líneas verificar si se es root ...
#134
CitarEdit: Pues parece ser que no, ahora no coge las teclas. Ahora que le he cambiado el operador de comparacion, crea el archivo pero se queda a cero bytes.

Antes las leía? a mi nunca me las leyó ... si querés ver un fichero de texto sin sobrecargar la compu con ficheros grandes, usá el comando head (tantas líneas desde el comienzo del fichero) o tail (tantas líneas del final del fichero) ... sino less

Código (bash) [Seleccionar]
less /var/log/Xorg.0.log

Dejalo como estaba antes, y revisá así el fichero de texto ... pero me parece que el código en sí no funciona, la diferencia entre > y >= a 0 es que si chevent vale 0, eso dá verdadero y escribe al fichero ... y no es válido (significa EOF)

Saludos.

P.S → Es la única manera cuando el fichero es monstruoso ... no hay editor que aguante cuando un fichero pesa MBs
#135
CitarTambien es cierto que ya hemos visto como pedir las teclas bajo X, yo mismo trate de hacer un keylogger usando la Xlib, pero tenia demasiada poca experiencia y costumbre de leer en ingles xD. Entonces si consigo pedir las teclas usando la Xlib, el problema estaria en como saber si se esta escribiendo en la terminal o en el entorno grafico. Bueno, supongo que siempre se pueden usar threads o hacer un fork. De todas formas tengo el mismo problema, que viene a ser que el fichero ocupa entre 10 y 15 KB (aunque despues de varias pruebas he visto 120 KB) y no es accesible, me cuelga el gedit.

Por que poll() no bloquea, está escribiendo a matar en ese bucle ... cambiá el fprintf por un printf, y fijate que sucede
Si no pongo un if revisando el char, me bombardea la salida de la terminal.

Si estás en entorno gráfico, los emuladores de terminales están corriendo bajo X, así que podría decirse que ahí no vas a tener problemas, por que podés usar el método de X (ejemplo? xterm y konsole son emuladores, pero usando el keylogger de X puede leerse lo que se les escribe, por que corren sobre X)
Pensalo así: Te instalás en el .rc del usuario que te interesa, y en base a eso, vas monitoreando si se arranca X ... si no se arranca, hacés un keylogging estándar, y si se arranca, hacés un fork() y te ponés a hacerlo con la manera de X también.

*En principio*

Saludos.

P.S → Mi blog es rrré político y hace poquito lo armé ... pero no lo ando publicitando, es decir, se lo pasé a pocas personas ... fuera de eso, lo referencio cuando necesito abordar un punto (como lo de GNU/Linux). Ahora ando escribiendo una entrada llamada "Un acercamiento al derecho de autor y licenciamientos copyleft", aunque quiero escribir algo de programación !!

#136
¿Sin tener el código fuente? tendrías que tener algo que haga Direct3D→OpenGL y mapear todas las otras funciones de DirectX a funciones nativas del sistema ... y soportar el formato binario de la otra plataforma, en tu plataforma.

Es lo que hace Wine !!
Lee formato PE, e implementa todas las funciones de la API de Windows (y DirectX) en torno a POSIX, Xorg, etc ...

¿Con el código fuente? ahí depende de cuán enquistado esté a la plataforma el código ...

Saludos.
#137
¿Revisaste KMyMoney? No sé si se ajusta a lo que querés por que para el tema contabilidad salgo corriendo ... pero revisalo, creo que puede ser lo que buscás.

Saludos.
#138
La verdad es que no conozco poll(), báh, lo he visto, pero no lo he usado ... revisando la manpage veo que sirve para trabajar con descriptores de ficheros.
Puede llegar a funcionar sobre STDIN, pero tené en cuenta que stdin en entorno gráfico no sirve (sólo con terminales y emuladores de terminales)

http://pubs.opengroup.org/onlinepubs/009695399/functions/poll.html

Si vas a referenciar descriptores de ficheros bajo *nix, incluí unistd.h y usá las macros STDIN_FILENO, STDOUT_FILENO y STDERR_FILENO por motivos de limpieza visual y estilo.

En este caso, lo que hace poll() es algo parecido a lo que hice acá, fijate:

http://foro.elhacker.net/programacion_cc/como_hacer_que_un_bucle_se_ejecute_durante_x_milisegundos_en_linux-t369295.0.html;msg1775072#msg1775072

En principio sí ... podría servir para un keylogger mal hecho, pero sirve.
En entorno gráfico tendrías que usar otro método (creo que hemos visto en otros posts como pedir las teclas bajo X), por lo que ya tenés varios métodos para keylog, en diferentes entornos :D (consola y X), jugá con ellos y fijate qué limitaciones tienen y qué se ajusta más a lo que querés, pero sobretodo, nunca recaigas sobre un sólo método, siempre tené un fallback

Saludos.
#139
Programación C/C++ / Re: Instalar C++ en linux
26 Agosto 2012, 01:23 AM
http://foro.elhacker.net/gnulinux-b9.0/

Esto corresponde a ese foro ... por que no es una duda de programación en sí, sino una duda sobre cómo instalar algo en linux.
Acá hay un machete de cómo se instala software bajo linux → http://wiki.elhacker.net/sistemas-operativos/gnulinux/instalacion-de-software-bajo-linux
#140
Cita de: Jenag en 26 Agosto 2012, 00:15 AM
Yo comparto la mísma filosofía de Alex Mtx , está dejando muy buenas reflexiones y recomendaciones sobre este tema estoy con ella. :-*
Cita de: 0xDani en 26 Agosto 2012, 00:32 AM
Alex Mtx es varon.

Soy una persona transgénero -.-