OT: Programa para boot sector del disquete

Horst H. von Brand vonbrand en inf.utfsm.cl
Vie Oct 20 23:14:03 CLST 2006


Federico Ezequiel <ezequiel_vb en tutopia.com> wrote:
> [En HTML explica que quiere picar el codigo de booteo de un diskette]

Hum... el codigo del caso esta en el sector 0 del diskette. Con algo del
estilo:

  dd if=/dev/fd0 of=/tmp/sector-booteo bs=512 count=1

lo extraes, una dosis de ndisasm (parte del paquete nasm) te lo da en
instrucciones (lamentablemente en formato intel, que tiene notacion
incomprensible para manejo de variables y demas, y hace todo al reves). De
ahi sigues picando...

Para programar de a deveras es muy preferible gas (el ensamblador de GNU,
parte de binutils). Exposicion prolongada al formato intel de las
instrucciones i386 se ha mostrado que provoca dan~o neurologico permanente
en ratas en condiciones de laboratorio.

Lo mas facil de desmontar es el sector de booteo de un diskette /no/
booteable.  Contiene basicamente una llamada a una rutina BIOS para mostrar
un mensaje, y luego espera que el usuario presione la tecla "any" (no
cualquiera sirve, tiene que ser esa!) y reinicia el sistema. Una referencia
de las llamadas BIOS en PC (deben andar por alli en la red tambien...) es
indispensable.

Una "bromita" popular en la epoca de DOS era picar un diskette para cambiar
la version a algo "unos dos an~os en el futuro".

Otro punto de partida para esta clase de empresas es el codigo fuente de
memtest <http://www.memtest.org>, esa cosa arma diskettes booteables que
corren la prueba de memoria. O puedes partir con las cosas que hace FreeDOS
<http://www.freedos.org>, particularmente su fdisk (contiene fuentes de
sectores de booteo). Aunque en una de esas Google...
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                    Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria             +56 32 2654239
Casilla 110-V, Valparaiso, Chile               Fax:  +56 32 2797513


Más información sobre la lista de distribución Linux