Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Funciones, llamadas y referencias cruzadas en un listado

5 tareas · 40 min · Principiante

Un listado de siete funciones con nombres inventados por la herramienta parece ilegible, y sin embargo se ordena con tres columnas: quién llama a quién, cuántas veces la llaman y qué cadena tiene cada función a mano. Con eso se sabe por dónde empieza el programa, qué funciones son ayudas internas y en qué parte vive lo que interesa, sin entender una sola instrucción. En esta sala lees el listado de la muestra M-2411 de Molinos Cuspoca en una estación que solo lee archivos de texto, y sacas de él el orden de lectura que seguiría un analista con oficio.

0 de 5 · 0%

Objetivo de la sala

Un listado de siete funciones con nombres inventados por la herramienta parece ilegible, y sin embargo se ordena con tres columnas: quién llama a quién, cuántas veces la llaman y qué cadena tiene cada función a mano. Con eso se sabe por dónde empieza el programa, qué funciones son ayudas internas y en qué parte vive lo que interesa, sin entender una sola instrucción. En esta sala lees el listado de la muestra M-2411 de Molinos Cuspoca en una estación que solo lee archivos de texto, y sacas de él el orden de lectura que seguiría un analista con oficio.

En un listado, la columna de llamadas que recibe ordena el trabajo. Una función a la que nadie llama suele ser por donde arranca el programa o una pieza que se alcanza por un camino que la herramienta no vio. Una función a la que llaman muchas suele ser una ayuda interna: escribir una línea de registro, reservar memoria, dar formato a un texto.

Eso da un orden de lectura natural: se empieza por la que nadie llama, se baja por sus llamadas y se dejan para el final las que llaman todas, que casi nunca son lo interesante.

Responde para continuar

Escribe el nombre de la única función de M-2411 a la que no llama ninguna otra.

Ver pista de ayuda

En `listado-m2411.txt`, busca el cero en la columna de llamadas que recibe.

En el otro extremo está la función con más llamadas entrantes. En M-2411 recibe cinco y no hace ninguna, y la cadena que tiene a mano es un mensaje de error: el perfil típico de una ayuda interna que cualquier parte del programa usa cuando algo le sale mal.

Reconocerla ahorra tiempo de dos maneras: no se gasta lectura en ella y, además, se entiende que su presencia en medio de un camino no significa nada especial.

Responde para continuar

Escribe el nombre de la función de M-2411 que recibe más llamadas de otras funciones.

Ver pista de ayuda

Compara la columna «recibe» de las siete filas del listado.

Una referencia cruzada es una anotación de la herramienta: dice en qué sitios del archivo se usa un dato concreto. Cuando ese dato es una cadena —una dirección, el nombre de una clave, una plantilla de texto—, la referencia dice qué funciones la tienen a mano.

Tenerla a mano no es escribirla, ni enviarla, ni mostrarla. Es la diferencia entre «en esta parte del programa está escrita la dirección del servidor» y «el programa se conecta a ese servidor», que son dos frases distintas en un informe. Una cadena puede además aparecer referenciada desde varios sitios, y eso sí es interesante: significa que hay más de un camino que la usa, aunque el entorno aislado solo haya visto uno.

Responde para continuar

¿Desde cuántas funciones distintas se referencia la dirección del servidor externo de M-2411?

Ver pista de ayuda

En `referencias-m2411.txt`, cuenta las filas que repiten la misma dirección.

Con el grafo de llamadas y las referencias se arma el camino: desde la función de arranque hasta la que tiene la dirección del servidor. Ese camino es lo que se escribe en el informe cuando alguien pregunta «¿cómo llega el programa a conectarse?», y se escribe con los nombres que puso la herramienta, porque son los que el especialista también ve.

Lo que el camino no dice es cuándo se recorre. El listado enseña que existe; las condiciones que lo activan dependen de datos y del equipo, y no están en esta tabla.

Responde para continuar

¿Qué afirma el informe sobre el camino que une la función de arranque con la que referencia la dirección del servidor?

Ver pista de ayuda

Separa lo que la tabla demuestra de lo que haría falta observar.

A nivel de reconocimiento, el listado no se lee para entender el programa entero. Se lee para contestar tres cosas: por dónde empieza, qué partes tocan lo que preocupa —configuración, archivos, red— y qué parte conviene encargarle a alguien con más tiempo y más oficio.

Si al terminar se puede decir «esta función escribe configuración, esta otra habla con la red, y de esta no se sabe», la lectura cumplió. Pretender más con este material es donde empiezan los informes que afirman de más.

Responde para continuar

¿Cuál es el objetivo de leer un listado a nivel de reconocimiento?

Ver pista de ayuda

Piensa en qué cabe en el tiempo de un turno de análisis.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad