Pues bien, no tengo un codigo en asm para lograrlo, al menos aun no lo he postado, pero si tenemos esta dll que hicimos en Delphi.
Exporta una sola funcion declarada asi:
DWORD GetBiosCRC(void);
que devuelve un numero identificativo unico para cada placa, al menos en teoria porque no tengo 1,000 PCs para probarla.
En todo caso, debo indicar que la ubicacion en memoria (del BIOS) del numero de serie en una placa varia no solo de acuerdo no al fabricante sino al modelo de BIOS, a la fecha del mismo, etc. Por lo que no es nada sencillo intentar extraer el numero de serie. A esto debemos sumarle el problema de las plataformas NT/XP que impiden el acceso libre a la memoria del BIOS tal como se puede hacer el Win98
Resumiendo, la dll que proporciono funciona perfectamente bajo cualquier plataforma Win9x, NT, XP SP1 y SP2, 2000 y 2003
Pueden descargarla desde aqui y ya saben como usar dll o si prefieren un ejemplo completo con ella avisenme.
http://s11.yousendit.com/d.aspx?id=1HHAHFB...XL161PWZ1J63M7L saludos y pregunten con toda confianza,
Furious Logic [aRC]
www.arc3000.com(SITIO WEB CENSURADO POR LA POLICY ITALIANDA)
No al atropeyo de la Libertad de Informacion!!!