Decodificando películas que piden utilizar DomPlayer

Procedimientos:
Se copia el siguiente contenido dentro de un fichero denominado decoder.pl.
# Turn of output buffer
$|++;
# The key for XOR decryption
my $key = 'UIERYQWORTWEHLKDNKDBISGLZNCBZCVNBADFIEYLJ' . chr(0);
print "Reading from \"$ARGV[0]\":\n";
$insize = -s $ARGV[0];
# Open the bogus AVI file
open(IN, $ARGV[0]) or die $!;
binmode IN;
# Read Header to check
read(IN, $buffer, 4);
if ($buffer ne 'RIFF') {
print " ERROR: \"$ARGV[0]\" is not an AVI\n";
close IN;
exit(1);
}
# Get Length of the unencrypted movie
read(IN, $buffer, 4);
$offset = unpack 'L', $buffer;
print " End of the unencrypted movie is at byte offset $offset\n";
# Jump to the read offset
seek(IN, $offset, 0);
# The next 4 or 8 Bytes seem to be either an unsinged long
# or an unsigned quad. This is another offset to jump
# over some filler bytes. Right now I can't really tell if
# it's 4 or 8 bytes, because I only have 1 file to test with.
# I assume it's a quad.
# low word
read(IN, $buffer, 4);
$offlo = unpack 'L', $buffer;
# high word
read(IN, $buffer, 4);
$offhi = unpack 'L', $buffer;
# Calculate offset
$offset = $offhi * 4294967296 + $offlo;
print " Offset after the unencrypted movie is $offset\n";
seek(IN, $offset, 0);
# Then there seem to be another 100 filler bytes
# with value 0xff. Jump over those too, to get
# to the offset where the real movie starts.
printf " Adding extra filler bytes, final offset is %s\n", $offset+100;
seek(IN, 100, 1);
# Update the size
$insize -= $offset+100;
# Open a file for writing the decrypted data to
print "Decrypting to \"$ARGV[1]\":\n";
open(OUT, ">$ARGV[1]");
binmode OUT;
truncate OUT, 0;
$bytes = 0;
$klen = length($key);
# Read key length bytes, decrypt them and
# write them to the output file untill you reach
# the end of the file
while ( read(IN, $buffer, $klen) ) {
$buffer ^= $key;
print OUT $buffer;
$bytes += $klen;
# print the status
printf "\r %d written (% .1f %%)", $bytes, ($bytes / $insize * 100);
}
# Close both files
close OUT;
close IN;
print "\n\nDONE!\n";
Una vez creado decoder.pl, se utiliza de la siguiente forma desde cualquier terminal, y asumiendo que el vídeo a decodificar está en el directorio de trabajo actual:
perl decoder.pl pelicula_codificada.avi pelicula.avi
Luego de unos minutos, se obtendrá como resultado un vídeo que se puede visualizar con cualquier reproductor de vídeo desde Linux (Mplayer, Xine, Totem, VLC, etc.).
Fuentes: Edril Padayhag y Go iT expert.
Via | linux-tutoriales
Unidades de disco en Linux
- Acceder a unidades de disco: para acceder a una unidad de disco (partición, CD, disquete, unidad de red o imagen), hay que montarla con el comando mount. Su sintaxis es:
# mount -t
Por ejemplo:
- para montar una partición FAT de Windows:
# mount -t vfat /dev/hda1 /mnt
- para montar un disquete MS-DOS:
# mount -t msdos /dev/fd0 /media/floppy
- para montar el CD:
# mount -t iso9660 /dev/cdrom /media/cdrom
- para montar un CD-RW haremos:
# mount -t udf /dev/cdrom /media/cdrom
- para montar un archivo imagen:
# mount -o loop /home/francis/qemu.img /mnt
- para montar una partición FAT de Windows:
- Desmontar las unidades: antes de sacar el disquete o el CD debemos desmontarlo:
# umount dispositivo
Si sacamos el disquete sin desmontarlo puede que el kernel no haya volcado los últimos cambios, con lo que perderemos esos datos.
- Error ‘Device is busy’: si al intentar desmontar una unidad obtenemos el error:
No se pudo desmontar dispositivo, el dispositivo está ocupado
algún proceso está leyendo esa unidad. Para saber cuál es el proceso usaremos el comando fuser (paquete psmisc):
$ fuser -v /dev/fd0
USER PID ACCESS COMMAND
/dev/fd0: francis 265 f.... xfeVemos que el proceso 265 xfe tiene el dispositivo abierto, de manera que si queremos desmontar la unidad tendremos que dejar que termine o matarlo. El comando fuser, con la opción -k, nos permite matar directamente los procesos que están usando el dispositivo:
# fuser -k /dev/fd0
- Unidades montadas: mount sin argumentos mostrará las unidades montadas.
- Montar en el inicio: las unidades que figuran en /etc/fstab se montan automáticamente al iniciar el sistema. El contenido de /etc/fstab es:
# File_system Mount_point Type Options Dump Pass
proc /proc proc defaults 0 0
/dev/hda2 / ext3 defaults 0 1
/dev/hda5 none swap sw 0 0
/dev/hdd /media/cdrom0 iso9660 ro,user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0 - Expulsar el CD: el comando eject (paquete eject) expulsa el CD, desmontándolo si es necesario.
- Chequear y reparar un filesystem Linux: el comando fsck (file system check) permite chequear y reparar un filesystem Linux o de otro tipo.
- Espacio ocupado en el disco: el comando df (disk free) informa del espacio usado en las unidades de disco que se encuentran montadas:
$ df
S.archivos 1K-blocks Used Available Use% Montado en
/dev/hdd1 6040288 3247924 2485528 57% /
/dev/hda2 11719052 3526412 8192640 31% /home
none 128008 0 128008 0% /dev/shmY el comando du (disk usage) muestra el espacio ocupado por un directorio:
$ du /mnt
2928 /mnt - En el entorno gráfico tenemos varios frontales para mount, df y du:
Via |EstrellateYarde
Amsn 0.97.2 actualizacion

Resulta que a un amigo no le conectaba el amsn de linux. Haciendo pruebas he visto que mi tampoco me conectaba. He supuesto que seria debido a una actualizacion.
Asi que al entrar en la web de amsn veo que tiene diponible una nueva forma de instalar paquetes en linux. Packager, la cual yo no conocia. Por eso he creado este MINI-howto.
Vete a esta web http://www.amsn-project.net/linux-downloads.php
aMSN Installer for Tcl/Tk 8.5
Distribution independent installer for those who already have Tcl/Tk 8.5 final version
descargate eso al escritorio. Te vas a la amada consola. Navegas hasta tu escritorio, le damos permisos al archivo y lo ejecutamos:
cd ; cd Escritorio; chmod 775 amsn-0.97.2-1.tcl85.x86.package; sudo bash amsn-0.97.2-1.tcl85.x86.package
Te saldra en la consola dos opciones A y B y ya selecionada la B, SOLO TENEMOS QUE DAR AL "Y" .Esperamos un poco y al rato lo tendremos intalado el amsn en su nueva version con el nuevo tcl/tk ( ke es para fotos)
Un saludo

