Estas son las ventajas del lenguaje ensamblador:
- Tamaño mínimo del código. Por ejemplo: un programa hello world en java tiene un tamaño de aproximadamente 4kb, mientras que en lenguaje ensamblador este tamaño estará en bytes.
- Mayor velocidad de ejecución . El código de ensamblado escrito correctamente es mucho más rápido que el código c.
- Control explícito . Puede seleccionar exactamente qué registro usar, tamaño de pila, etc. No hay un compilador entre su código y el ejecutable, solo el ensamblador, el enlazador y el cargador.
Donde sea que necesite cualquiera de las cosas anteriores, necesitará lenguaje ensamblador. Por lo tanto, se requiere conocimiento del lenguaje ensamblador en las siguientes áreas:
- Ingeniería inversa . Con la ayuda del lenguaje ensamblador puede comprender el funcionamiento del programa / ejecutable sin el código fuente, utilizando solo el ejecutable. Por lo tanto, podría escribir su propio código para la misma tarea. Esto se puede usar para descifrar cualquier mecanismo de protección en el programa. Por ejemplo: creé un pequeño script para abrir binarios ingenuamente protegidos. Esto se basa en descompilar el código. Grietas abiertas binarios ingenuamente protegidos.
- Controladores de dispositivos . Los controladores de dispositivo están escritos en lenguaje ensamblador para aumentar la velocidad y reducir el tamaño del código.
- Virus informáticos Puede escribir diablos específicos de la arquitectura que serán más difíciles de detectar debido a su tamaño reducido.
- Cargadores de arranque . Estos todavía están escritos en lenguaje ensamblador.
- Código Shell : el código Shell se utiliza para explotar los sistemas, después de que el sistema se ve comprometido. Los hackers escriben su propio código de shell personalizado, mientras que los script kiddies lo copian y pegan. Para analizar o escribir código de shell, necesita conocer el lenguaje ensamblador.
Debe tener un buen conocimiento de ensamblaje, si desea obtener un trabajo en cualquiera de las áreas anteriores.
- ¿Con qué seriedad debe considerarse alguien con el título de trabajo "gurú de las redes sociales"?
- Cómo saber qué carrera debe elegir si es inteligente pero tiende a aburrirse muy rápido y termina sin terminar nada de lo que comienza
- Cómo encontrar trabajo en el campo del arte sin experiencia laboral
- Después de trabajar como ingeniero de software durante 3 años, si hago una maestría, ¿podría postularme a Google como graduado universitario?
- ¿Es una mala idea obtener mi licenciatura en China?