🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónLeer una clase decompilada de principio a fin
5 tareas · 40 min · Principiante
Con un decompilado legible el riesgo no es quedarse sin información, sino perderse en ella: cientos de líneas de ventanas, rejillas y formato que no dicen nada de la muestra. Esta sala practica un orden de lectura que sirve para cualquier programa administrado: empezar por la entrada, seguir lo que la entrada pone en marcha y leer cada clase de arriba abajo —campos, constructor, métodos— sin fiarse de los nombres. El material es el decompilado de M-4611 que la mesa B de Hilados Tausaquira guardó como texto; no se compila ni se ejecuta.
Objetivo de la sala
Con un decompilado legible el riesgo no es quedarse sin información, sino perderse en ella: cientos de líneas de ventanas, rejillas y formato que no dicen nada de la muestra. Esta sala practica un orden de lectura que sirve para cualquier programa administrado: empezar por la entrada, seguir lo que la entrada pone en marcha y leer cada clase de arriba abajo —campos, constructor, métodos— sin fiarse de los nombres. El material es el decompilado de M-4611 que la mesa B de Hilados Tausaquira guardó como texto; no se compila ni se ejecuta.Un programa de escritorio de .NET empieza en el método Main de alguna clase, que el decompilador encuentra porque el ensamblado lo declara como punto de entrada. Leer desde ahí evita el error típico: abrir la clase con el nombre más llamativo y construir una historia que el programa nunca recorre.
Desde Main se anota qué objetos se crean y qué se pone en marcha antes de lo que ve el usuario. Lo que arranca antes de la ventana corre aunque la persona cierre la ventana enseguida.
Responde para continuar
¿Qué orden de lectura propone la sala para un decompilado de .NET?
Ver pista de ayuda
Piensa en qué parte del programa se ejecuta siempre, pase lo que pase.
Una clase se lee en el mismo orden siempre. Primero los campos, que dicen qué datos guarda: una constante con una dirección o un número suelto ya cuentan mucho. Después el constructor, que dice con qué se prepara. Por último los métodos, empezando por el que se llama desde fuera.
Un temporizador cambia la lectura: el método que recibe no se llama desde ninguna otra línea del código, sino cada cierto tiempo, y por eso es fácil pasarlo por alto si solo se buscan llamadas directas.
Abre el laboratorio, entra en la carpeta del proyecto y lee la clase que Main pone en marcha.
cd TurnosHilado
cat Program.cs
cat Sincronizador.cs
Responde para continuar
Escribe el nombre del método que se ejecuta en cada vuelta del temporizador.
Ver pista de ayuda
Mira qué método recibe el temporizador que se crea en Iniciar.
Los campos constantes son a menudo lo más útil de una clase para quien defiende: son valores que no cambian entre equipos y que se pueden buscar en la red. Un intervalo de tiempo, por ejemplo, explica el ritmo de las conexiones que verá el proxy y ayuda a separar esta actividad del ruido.
En .NET los temporizadores suelen recibir el intervalo en milisegundos. Conviene pasarlo a una unidad que entienda el resto del equipo antes de escribirlo en el informe.
Responde para continuar
¿Cada cuántos minutos se repite el envío al servidor? Escribe solo el número.
Ver pista de ayuda
Convierte el valor de la constante del intervalo de milisegundos a minutos.
En Latido el programa reúne tres datos del equipo y se los pasa a otra clase. Por el nombre, esa otra clase parece un registro de actividad que escribe en un archivo. Hay que abrirla y comprobarlo, porque el nombre es lo único de una clase que su autor eligió para que lo leyeras.
ls
Responde para continuar
Escribe el nombre de la clase que de verdad hace la petición de red al servidor.
Ver pista de ayuda
Busca dónde aparece el cliente HTTP y el envío por POST.
Leída la clase de principio a fin, toca escribir una frase que se pueda sostener. Tiene que decir qué hace, con qué datos y a dónde, y no puede afirmar lo que el analista dejó fuera: el método que atiende las órdenes tiene el cuerpo omitido en este material.
Responde para continuar
¿Qué frase sobre Sincronizador se sostiene con el decompilado?
Ver pista de ayuda
Repasa qué variables entran en el cuerpo que se envía y qué pasa con la respuesta.
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
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.