Ver Mensaje Individual
  #23 (permalink)  
Antiguo 15/02/2007, 02:39
Avatar de Eternal Idol
Eternal Idol
 
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 21 años, 9 meses
Puntos: 74
Re: Uno de cada dos programas no funciona con Windows Vista

Cita:
Iniciado por alvlin Ver Mensaje
Lo que escribí es obviamente algo que no tiene fundamento, Windows y Linux son completamente diferentes en cuanto a modelos de desarrollo y funcionamiento. Aunque sí es cierto que la escusa de muchos fabricantes de hardware para no hacer controladores para linux es la forma en que cambian las api del núcleo.
El problema es que ESO es cierto en un 100%, para poder hacer un driver para Linux necesitas el codigo fuente de la version bajo la cual va a funcionar y olvidate de que lo haga en otras. En Windows podes llegar a escribir un driver que funcione en NT 3.51 en adelante, incluso en Vista si esta firmado, es cierto que hubo cambios y no seria un driver moderno que soportara un modelo WDM o WDF pero si se puede hacer un driver con la ultima tecnologia desarrollada por Microsoft que funcione en Windows 2000 en adelante. Eso es de lo que se quejan y me parece SUPER logico, es mas, es una de las cosas que mas me desalento cuando me compre un libro sobre desarrollo de drivers para Linux. Otra cosa fue obviamente la carencia de un depurador de verdad, pero bueno eso ya es otra historia.

Cita:
Iniciado por alvlin Ver Mensaje
Los desarrolladores de MS saben perfectamente que dado el modelo de privilegios de Windows (con privilegios de Sistema superiores a los privilegios de cualquier usuario), hay que hacer cosas en el núcleo, probablemente más de las que se deben hacer en otros sistemas.
¿Que de que? Voy a lo mismo, nombrame UNA cosa que se pueda hacer en otros sistemas (modernos, no MS-DOS) y no en Windows con una cuenta de administrador.

Cita:
Iniciado por alvlin Ver Mensaje
Lo que quiero decir es que, considerando el dinero que supuestamente gastaron en el desarrollo del Vista, bien podrían haber creado una APi para que los fabricantes de antivirus pudieran:
1.- hacer su trabajo sin usar funciones no documentadas
2.- tener listos sus productos para la fecha de lanzamiento del sistema.
Ojo al punto uno que yo hable de TECNICAS (metodos o como lo quieras llamar) y no de FUNCIONES indocumentadas, aunque tambien las usemos.

En cuanto al punto dos, si estos fabricantes se hubieran "puesto las pilas" con las versiones de 64 bits hubieran tenido sus productos a tiempo. Ademas la funcionalidad clasica de un anti-virus, scanner de archivos, esta totalmente garantizada y sigue funcionando tal cual ya que es un driver de tipo filtro para el filesystem (a ver donde encontramos un equivalente al modelo de pila de drivers por cierto) y no hay que tocar una linea de codigo.

Si vemos la wikipedia:
"Antivirus software made by competitors Sophos and Kaspersky Lab does not patch the kernel. These companies do not feel that Kernel Patch Protection limits the effectiveness of their software."

¿Esto que quiere decir? ¿Que Windows es perfecto y pueden meter la mano donde quieran? No, evidentemente no es perfecto y no se puede hacer cualquier cosa PERO si es cierto tambien que tienen MUCHAS formas de modificar el comportamiento del S.O., vease:

Anti-virus: como ya decia, el modelo de Windows permite insertar filtros arriba o abajo de un driver con suma facilidad, el file system no es una excepcion, pese a existir algo asi se hacen "hooks" igualmente. ¿Razon? Es mas facil ...

Firewalls: mas de lo mismo pero con un modelo de miniport, en este caso se puede hacer un driver intermedio NDIS. Idem en cuanto a los hooks.

Lo unico que sufre es la deteccion por comportamiento SI es que esta esta hecha en modo Kernel y vuelvo a tu anterior afirmacion para decirte que varias tecnologia de deteccion por comportamiento funcionan en modo Usuario, interceptando las funciones de la API de Windows para determinados procesos (por ejemplo todos los que no esten firmados digitalmente por Microsoft). Y esto lo puedo decir con experiencia en el desarrollo de las mismas (en realidad tengo vasta experiencia en el desarrollo de TODAS estas tecnologias de las que estoy hablando).

Cita:
Iniciado por alvlin Ver Mensaje
¿que no hay / hubo métodos documentados para hacer el trabajo? ese es mi punto: si se sabe necesario, ¿por qué no se creó antes?
¿Necesario para quien? Ojo que Microsoft es una empresa y su prioridad no es contentar a las empresas de anti-virus sino conseguir mayores beneficios.

Ahora doy fuentes ya muy especificas pero es posible interceptar la actividad del registro del sistema desde Windows XP en adelante:

http://msdn2.microsoft.com/en-us/library/aa906439.aspx

Es cierto, en Windows 2000 no se puede y entonces RECURRIMOS a los "hooks". Con esto vemos una CLARISIMA muestra de como Microsoft si provee este tipo de cosas.

Ya tenemos cubierto todo lo que tenga que ver con redes, archivos e incluso el registro del sistema. Pero nos falta todavia una cosa importante: creacion de procesos e hilos y carga de modulos, esto tambien se solia hacer con "hooks".

http://msdn2.microsoft.com/en-gb/library/ms802952.aspx
http://msdn2.microsoft.com/en-gb/library/ms802948.aspx
http://msdn2.microsoft.com/en-gb/library/ms802949.aspx

No recuerdo exactamente pero si la memoria no me traiciona las de procesos y modulos estan disponibles desde Windows 2000 y la de hilos desde XP, de cualquier manera desde Windows XP en adelante se pueden usar estas tres funciones sin lugar a dudas.

Cita:
Iniciado por alvlin Ver Mensaje
Saludos, y no te enerves tanto por un comentario tirado al pasar...
No me enervo pero me parece absolutamente necesario que cuando se hace una critica se den fundamentos y fuentes que la comprueben.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO