¿Los exploits dependen de la plataforma?
Sí.
Al igual que en, ¿significa eso que la vulnerabilidad de IE debe desarrollarse EN ENSAMBLAJE una vez para cada SO (XP, Vista, 7, 8), duplicarse en función de 32/64 bits, y luego duplicarse nuevamente en función del orden de bytes? / p>
No.
El uso del ensamblaje no lo hace más dependiente de la plataforma. Es solo tan dependiente de la plataforma como lo sería si estuviera escrito en, por ejemplo, C, (aunque para la mayoría de los propósitos C hace que sea mucho más fácil apuntar a esas plataformas diferentes).
La página enlazada no indica en qué plataformas se encuentran los objetivos de explotación, y solo muestra el código x86. Si también apunta a x64, todavía son solo dos plataformas: x86 Windows y x64 Windows, e incluso para esas dos, el código sería en gran medida isomorfo (similar). El simple hecho de que tenga un ensamblaje no explota repentinamente la complejidad de admitir diferentes ediciones de Windows que se ejecutan en la misma arquitectura de CPU.
(Solo para resaltar el punto: el ensamblaje portátil se puede escribir y compilar una vez, de manera que el mismo blob de código de máquina se ejecutará bajo Windows, OS X, Linux y ningún sistema operativo en absoluto , en la misma arquitectura de CPU. De esta manera, el ensamblaje es menos dependiente de la plataforma que otros idiomas, ya que requiere menos de una plataforma. Los formatos de archivo ejecutables estándar que el código de máquina de la casa todavía Sin embargo, específico del sistema operativo; por ejemplo, OS X no sabrá cómo cargar un archivo .exe de Windows, incluso si el código de la máquina podría ejecutarse si estuviera cargado.)
El orden de bytes no es un problema, ya que x86 & x64 son puramente little endian.
También tenga en cuenta que el ensamblaje que está viendo tiene un desmontaje , por lo que no se escribió necesariamente en el ensamblaje; podría haber sido escrito en casi cualquier idioma. Como se trata de un exploit, y está diseñado para hacer cosas extralingüísticas extrañas, las partes de hackers habrían sido más fáciles de escribir en el propio ensamblaje, y algunas podrían haber sido escritas con más facilidad en C, y algunas podrían haberse iniciado en C, desmontadas, y adaptado en el montaje.
Entonces, la respuesta corta es que admitir diferentes versiones de Windows en el exploit no es tan difícil como te imaginas.