Pregunta

Tengo una pregunta un poco inusual. Estoy ejecutando un viejo juego de DOS en DOSBOX bajo Windows XP y estoy tratando de determinar cuándo y dónde accede a su archivo de datos.

¿qué puedo usar para obtener un registro de todas las solicitudes de lectura realizadas en un archivo? Quiero saber el "cuándo", "desde" y "tamaño" de cada archivo leído.

Conozco mi ensamblaje básico 8086/8088 pero nada más. así que si no hay una herramienta de acceso directo disponible, una recomendación de una herramienta de depuración / tutorial que pueda ayudarme a seguir el camino correcto también puede ser genial.

el juego '' debajo de las raíces '', si alguien puede arrojar algo de luz sobre las partes internas de este juego, será de gran ayuda :)

¿Fue útil?

Solución

Puede intentar usar FileMon para Windows y ver qué dosbox está accediendo a través del sistema de archivos de Windows.

Otros consejos

Podrías parchear el código fuente de DOSBOX :) Solo haz que escriba algunos mensajes de depuración cuando ocurran las lecturas. ¡Si configura el nivel de depuración lo suficientemente alto, podría suceder de todos modos!

La mayoría de los programas de DOS usan interrupciones de DOS. Sin embargo, algunos usan interrupciones del BIOS o algo peor.

De todos modos, en caso de que ayude, aquí están las interrupciones de DOS de lectura de archivos que conozco:

Funciones orientadas a FCB:

  • INT 21h, AH = 14h (lectura secuencial)
  • INT 21h, AH = 21h (lectura aleatoria)
  • INT 21h, AH = 27h (lectura de bloque aleatorio, & # 224; la fread () )

Funciones orientadas a la manija:

  • INT 21h, AH = 3Fh (lectura secuencial)
  • INT 21h, AH = 42h (buscar)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top