pues puedes intentar en cualquier lenguaje de programación generar numeros aleatorios y usarlos como numeros seriales, no le veo mucho problema, o si quieres un poco mas complicado pues hay funciones en delphi (me imagino que en otros lenguajes igual) para obtener el número de serie del disco...