Decodificando películas que piden utilizar DomPlayer

DompPayer es un reproductor de vídeo comercial que cuesta 3 dólares y que, hasta donde nos han contado, instala spyware (a través de otro reproductor alternativo denominado 3wPlayer) al comprar una licencia fuera del país que DomPlayer.com determine. Existen una buena cantidad de vídeos en las redes entre iguales (P2P o peer-to-peer), muchos de estos interesantes, que inexplicablemente fueron codificados por alguien para obligar a los incautos a instalar y utilizar DomPlayer. Desde Windows se puede utilizar una herramienta de Wildman Productions, denominada 3wdecoder.exe, la cual requiere .Net para Windows. Desde Linux es posible decodificar estás películas con un sencillo guión en perl. Éste se utiliza de la siguiente forma.

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
  • 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.... xfe

    Vemos 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/shm

    Y 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:
    • KDiskFree (paquete kdf): frontal de df, du y mount de KDE.
    • Baobab (paquete baobab): frontal de df/du de GNOME.
    • FileLight (paquete filelight): frontal de df/du de KDE, muestra mediante segmentos concéntricos el espacio de disco usado.




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

Tira Ecol

Tira Ecol

Contabilizando Visitas..... y tu eres una de ellas.....Gracias XD

 
ir arriba