Ir al contenido


Foto

Visor de memoria "convencional" en ASM para INT 19h (Bootstrap Loader Service)


  • Por favor identifícate para responder
6 respuestas en este tema

#1 cHackAll

cHackAll

    Advanced Member

  • Administrador
  • 599 mensajes

Escrito 17 enero 2011 - 11:52

Comparto con ustedes 450 bytes de mi nostálgica e instructiva memoria; un programa que compilado y copiado en el primer sector de un dispositivo (ej. Floopies), muestra la memoria convencional al momento en que el BIOS transfiere el control al S.O.

Saludos

Archivos adjuntos


  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 17 enero 2011 - 02:26

:o Caramba, amigo algo similar hice con discos de 5 1/4 para extraer la BIOS original antes de que el DOS la sustituyera el el arranque y así simular el estado necesario para que pudiera correr un juego de billar escrito precisamente en el sector de arranque de aquel disco. Todo escrito en asm. Rebuscaré, en algún sitio debo guardarlo.

Si que recuerdo aquellos tiempos con nostalgia, paro todo cambia.

  (b)

Saludos.

  • 0

#3 cHackAll

cHackAll

    Advanced Member

  • Administrador
  • 599 mensajes

Escrito 18 enero 2011 - 07:50

...Todo escrito en asm. Rebuscaré, en algún sitio debo guardarlo...


Esperemos lo encuentres pues despertaste mi curiosidad.

...recuerdo aquellos tiempos con nostalgia, paro todo cambia...


Mucha nostalgia estimado, aunque no estoy totalmente de acuerdo con que todo cambia porque dichos conocimientos pueden aplicarse en la actualidad para revivir aquellos equipos obsoletos convirtiéndolos por ejemplo en rockolas o cuando uno decide crear un, no se, parche para el NTLDR ;).

mov ah, 4Ch
int 21h
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 18 enero 2011 - 08:28

Mucha nostalgia estimado, aunque no estoy totalmente de acuerdo con que todo cambia porque dichos conocimientos pueden aplicarse en la actualidad para revivir aquellos equipos obsoletos convirtiéndolos por ejemplo en rockolas o cuando uno decide crear un, no se, parche para el NTLDR ;).

mov ah, 4Ch
int 21h


Siempre que veo este tipo de comentarios me quedo con la cara de What!!! :D :D :D

Salud OS
  • 0

#5 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 18 enero 2011 - 09:00

Esperemos lo encuentres pues despertaste mi curiosidad.

Si, lo encontré.
 

Mucha nostalgia estimado, aunque no estoy totalmente de acuerdo con que todo cambia porque dichos conocimientos pueden aplicarse en la actualidad para revivir aquellos equipos obsoletos convirtiéndolos por ejemplo en rockolas o cuando uno decide crear un, no se, parche para el NTLDR.

mov ah, 4Ch
int 21h



delphi
  1. mov ah, 4Ch
  2.  
  3. int 21h                    ; Terminar proceso.....

He rebuscado viejas copias de seguridad pasadas de los antiguos diskettes a CD y lo he encontrado.

Todo empezó con un disco 5 1/4 aparentemente vacío que contenía un juego de Billar de IBM. Dicho diskette era de arranque y sólo de esa manera podía funcionar, a demás tenía protecciones que entonces se la llamaba laser (cluster defectuosos). Desensamble el sector de arranque y vi lo que hacía. El guego estaba encriptado de forma que al desencriptar un fragmento encontraba el código desencriptar el siguiente. Le seguí la pista hasta desencriptarlo todo. Finalmente me faltaba tener la tabla de vectores de interrupción de la BIOS, antes de la carga del DOS. Para ello modifiqué el sector de arranque en un diskette de forma que leyera la tabla y la guardara en el mismo disco para posteriormente recuperar los datos.

Finalmente escribí un programa que reescribiera la tabla de vectores de interrupción, cargara el juego y lo ejecutara. Funcionó a la perfección. La única pega era que al terminar de jugar debía reiniciar el PC.

Pongo los archivos tal y como los tenía guardados.

El juego no funciona desde Windows XP :(  (lógico) ;)



Saludos.

Archivos adjuntos


  • 0

#6 cHackAll

cHackAll

    Advanced Member

  • Administrador
  • 599 mensajes

Escrito 18 enero 2011 - 09:05

...


Siempre que veo este tipo de comentarios me quedo con la cara de What!!! :D :D :D

Salud OS


Ya sabes lo que siento cuando hablan de Firebird y un componente X, Y, Z :p

...


...Todo empezó con un disco 5 1/4 aparentemente vacío que contenía un juego de Billar de IBM. Dicho diskette era de arranque y sólo de esa manera podía funcionar, a demás tenía protecciones que entonces se la llamaba laser (cluster defectuosos). Desensamble el sector de arranque y vi lo que hacía. El guego estaba encriptado de forma que al desencriptar un fragmento encontraba el código desencriptar el siguiente. Le seguí la pista hasta desencriptarlo todo. Finalmente me faltaba tener la tabla de vectores de interrupción de la BIOS, antes de la carga del DOS. Para ello modifiqué el sector de arranque en un diskette de forma que leyera la tabla y la guardara en el mismo disco para posteriormente recuperar los datos.

Finalmente escribí un programa que reescribiera la tabla de vectores de interrupción, cargara el juego y lo ejecutara. Funcionó a la perfección. La única pega era que al terminar de jugar debía reiniciar el PC...


Suena bien, le meto dedo esta noche :D

Salud!
  • 0

#7 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 18 enero 2011 - 03:16

Y para los mortales, ¿cómo se corre el juego? :D

Edito: con Win2000


Saludos!
  • 0




IP.Board spam blocked by CleanTalk.