Noté que los exploits que usan la Programación Orientada por Devolución siempre encuentran los gadgets en las bibliotecas. Me pregunto si es posible usar gadgets desde el mismo archivo ejecutable (.exe).
Creo que la razón es que "es más fácil usar secuencias de instrucciones de las bibliotecas, porque las bibliotecas son muy comunes y ya se han escaneado".
Hay solo un puñado de archivos de biblioteca en tiempo de ejecución de C proporcionados por Microsoft. Si proporcionan un conjunto de instrucciones suficientemente completo, ¿por qué trabajar más?
Sí, absolutamente, por supuesto, es posible usar gadgets que son del mismo ejecutable. Puede usar cualquier código que se asigne al espacio de direcciones del programa en forma ejecutable (es decir, donde es posible ejecutar el código, si el sistema está utilizando DEP, esto excluye cualquier cosa que tenga el conjunto de bits no ejecutables). Eso incluye los ejecutables originales, las bibliotecas que se cargan en la memoria y cualquier otra cosa en la memoria que tenga sus permisos configurados como ejecutables.