SET 39 Call For Papers

¿Eres un hacker? Si deseas pasar a formar parte de la historia del hacking hispano, colabora con la próxima edición de SET 39 enviándonos un artículo. No esperes más, esta es tu oportunidad de demostrar lo que sabes. Ayúdanos a construir una revista de hackers para hackers. SET Staff

Noticias

      2590

Autor: SET Staff
-[ 0x02 ]--------------------------------------------------------------------
-[ Noticias ]----------------------------------------------------------------
-[ by SET Staff ]-----------------------------------------------------SET-21-


   Empezamos las noticias informando que Rufus no podra escribir mas
   esta secion por falta de tiempo material. Ahora si quereis enviar
   alguna noticia, enviadla a set-fw@bigfoot.com. Ahora a ello.
   Como viene siendo nuestra costumbre las notcias no estan ningun
   orden especial.
                          

   - El DVD crackeado (CSS)
   - Hack del Ministerio de Fomento
   - Cuelge de la Dreamcast y cosas varias
   - Microsoft es un Monopolio

   - RealAudio y la privacidad (o la falta de esta)
   - Hack made in Sweden
   - Reunion de Seguridad Europea
   - Chaos Comunication Congress 99

   - GSM : Seguro ?
   - Geografia de Internet
   - PlayStation 2 usa Linux
   - Service Pack 6 - M$ Patchea de nuevo!

   - Kernel 2.4 en Noviembre
   - Sendmail se apunta a la moda del portal
   - Reunion de FreeBSD
   - IBM dara Linux en los ThinkPad
  
   - Allaire's ColdFusion bajo Linux
   - John The Ripper v1.6 bajo Linux
   - Lineas de Actuacion en caso Redada hechas publicas
   - Intel creara una set-top box con la colaboracion de Nokia

   - IBM anuncia Java 1.1.8 para Linux
   - Domino para Linux Listo!
   - Fallos encontrados en el Openserver de SCO.
   - Avalancha de Software Comercial en Linux



 --[ CSS Crack = DVD Hack


  Mucho se ha hablado sobre el Hack del DVD en los ultimos dias, el famoso
  programa que lee un .VOB de un DVD que es lo que contiene la pelicula en
  si y salva un fichero .mpg (MPEG-2). El crack en si del CSS se realizo
  el 26 de Octubre por Frank A. Stevenson y el hizo un posting publico con
  las fuentes que demostraban la debilidad del CSS. Despues un par de hackers
  decidieron implementar estas fuentes y hacer un programa que desencripta
  los DVDs. Pero si lo que realmente quiere es sacar un DVD y hacerte un
  Video-CD por ejemplo no necesitas tener 6Gb de Hd libre. Vete a la
  alguna pagina de utilidades de dvd. Teneis las fuentes del CSS cracker al
  final de las news. No incluimos las fuentes del programa de crackeo del
  DVD por razones evidentes. Solo las del CSS.

    http://jya.com
    http://www.dvdutils.com



 --[ Hack del Ministerio de Fomento

  No le vamos a dedicar mucho tiempo a esto, otro hack de una pagina.
  Buscad por ahi. Como veis los administradores que estan al cargo de
  paginas de web de centros oficiales siguen muy ocupados parcheando
  los servidores.

   http://www.mfom.es  


 --[ Cuelge de la Dreamcast y cosas varias

  Bueno pues veamos esta nueva consola de Sega, tiene un par de fallos
  gordos. Primero si le quitas la pila podras usar el truco de toda
  la vida para usar juegos de otros paises, silver, etc..
  
  Existe tambien un exploit para el browser de la Dreamcast, que la 
  cuelga irremediablemente : solucion actualizar el software. Donde ?
  pues eso ya lo deberias de saber tu. Que por que no te damos la
  direcion del script ? ya sois mayorcitos para usar un buscador.

      http://www.sega.com


 --[ Microsoft es un Monopolio

   Si se~or parece que teniamos razon la gran M$ era un monopolio, 
   despues de muchos meses de legalidades vemos el resultado. De
   esto no hay mucho mas que decir, se supone que le aplicaran algun
   tipo de sancion, por decidir todavia.   

  http://chkpt.zdnet.com/chkpt/zdnnsec/www.zdnet.com/zdnn/special/
  msdojendgame.html


 --[ RealAudio y la privacidad (o la falta de esta)

  Sorpresa parece ser que el RealJuxeBox tiene una identificacion
  que se envia a Real con los datos de lo que escuchas sin avisar y
  asi en plan secreto. Evidentemente RealNetworks no lo podia negar
  y simplemente este Lunes ha sacado un patch para quitar este id
  de cada RealPlayer. De todas maneras podeis leer mas en las url
  que teneis abajo y tambien patchear vuestros player si es que lo
  usais. El problema tambien existe en RealPlayer.

  http://geeknews.org 
  http://www.wired.com/news/technology/0,1282,32250,00.html
  http://www.wired.com/news/technology/0,1282,32350,00.html
  http://www.real.com/rjcentral/privacyupdate.html <- Patch 67Kb
  http://newspub.hotwired.com/news/story/0,1240,32250,00.html


 --[ Hack made in Sweden

  Durante la primera semana de Noviembre exactamente del 4 al 7. Tuvo lugar
  en Suecia la conferencia anual de la zona norte, se reunio lo mejor de
  del hack y phreak de los paises escandinavos. A algun miembro del Staff
  de SET le hubiese gustado ir pero no se puede hacer todo. Otro a~o.
  No tenemos la url por que fue solo bajo invitacion y no tienen web. El
  evento fue organizado por una conocida revista underground Sueca.


 --[ Reunion de Seguridad Europea

  En Septiembre de este a~o tuvo lugar una reunion en Munchen (Munich)
  a la que fueron invitados, las policia de delitos informaticos de
  varios paises europeos, entre ellos Espa~a. Tambien estuvo la policia
  del Reino Unido y Holanda. El evento fue organizador por BND. La policia
  Alemana. El nivel de ciertas ponencias demostro ser bastante bajo.
  Gracias a nuestro contacto en CCC por la informacion. Mas infor en la
  web del CCC


 --[ Chaos Comunication Congress 99

  Como viene ocurriendo a~o tras a~o el Chaos Computer Club organiza su
  Comunication Congress en Berlin del 27 al 29 de Diciembre. Este a~o
  habra ponencias sobre Criptografia, Libertad en la Red y Lockpicking entre
  otras. Es una visita obligada y reunion de lo mejor del Hack y Phreak
  de Europa. Si todo va bien tendries un buen articulo sobre este congreso
  con SET 22.

         http://www.ccc.de


 --[ GSM : Seguro ?


  Mucho se habla de la seguridad del algoritmo GSM y blah y blah..
  En las ultimas semanas se han hecho publicos las fuentes de los algoritmos
  que faltaban. Veamos como anda este tema ultimamente..
  GSM se basa en cuatro algoritmos basicos que son :

  A3           De Autentificacion
  A5/1         Encriptacion de la voz en el aire (Fuerte)
  A5/2         Encriptacion de la voz en el aire (Debil)
  A8           Generacion de la llave del algoritmo de encriptacion aerea

  COMP128      Es el que usan la gran mayoria de companias para el A3 y A8
               es un viejo conocido y ha sido crackeado hace mucho.

  Desde 1998 hay unos elementos que han estado trabajando en la seguridad o
  la falta de esta en los algoritmos GSM. Ahora mismo solo falta parte del
  A5/2 para tenerlo todo.

  Haremos una mencion especial al A8 dado que _todas_ las compa~ias que
  se conocen debilitan _deliberadamente_ la llave de la A8 de 64bits a 54bits
  rellenando con ceros. Vamos que el cuento de que las conversaciones GSM
  son seguras que se lo cuenten a otros. Como es natural no publicaremos
  las fuentes de esto dado que el que las quiera que las busque.


          http://jya.com/crack-a5.htm
          http://www.scard.org/gsm
  

 --[ Geografia de Internet

  Como se mapea Internet ? pues si alguna vez os la habeis preguntado
  no teneis nada mas que visitad esta url, podeis incluso hacer mapa
  desde vuetra conexion. Esto ha cambiado un poco, para mejor.
  Tambien podeis ver la evolucion desde que se formo internet hasta
  ahora.

  http://www.cybergeography.org/atlas/topology.html
  http://som.csudh.edu/cis/lpress/history/arpamaps/press.jpg
  http://infoplease.lycos.com/ipa/A0193167.html
  http://dir.lycos.com/Computers/Internet/Statistics_and_Demographics/


 --[ PlayStation 2 usa Linux

  El equipo al cargo de hacer las utilidades de programacion que usara
  la PSX2 han decidido que este entorno de programacion sera Linux. Por
  ahora no hay mucha mas info pero ya os mantedremos informados.


     http://www.sony.co.jp
     http://www.davesvgc.com



 --[ SP6 - M$ Patchea de nuevo!

  M$ ataca de nuevo, el nuevo Service Pack de Windows NT acaba de salir
  ya no vamos a contar que patchea por que tardariamos horas.
  

   http://no.me.da.gana.de/hacerles/propaganda...



 --[ Kernel 2.4 en Noviembre

  Buenas noticias en la primera Linux Expo que tuvo lugar hace unas semanas
  en el Reino Unido, Alan Cox hizo publico que la version de desarollo del
  nuevo Kernel 2.4 estaria disponible en Noviembre. Lo mas importante de
  esta nueva actualizacion es que soportara aun mas hardware y placas
  multiprocesador, hasta 256. Uno de los interesados es SGi. Mas informacion
  en las proximas semanas.

        http://www.kernel.org
        http://linux.box.sk
        http://www.sgi.com


 --[ Sendmail se apunta a la moda del portal

  La compa~ia que creo el programa de correo mas usando del mundo
  anuncio el pasado 20 de Octubre sus alianzas con otras compa~ias
  y su intencion de crear un portal relacionado con SendMail y los
  distintos programas open-source relacionados. 

  
  http://www.sendmail.net   - El Portal

  http://www.cnn.com/TECH/computing/9910/20/sendmail.net.idg/index.html


 --[ Reunion de FreeBSD

  Los usuarios de FreeBSD el clon de BSD bajo x86 se reunieron el 17
  de Octubre en (como no..) Berkeley. La asistencia fue masiva algo 
  cercano al 50% mas de lo esperado. Esperaban 150 personas y 
  aparecieron algo mas de 300. 

   http://www.freebsdcon.org
   http://www.freebsd.org

   http://www.idg.net/go.cgi?id=179698
   http://www.idg.net/go.cgi?id=179700


--[ IBM dara Linux en los ThinkPads

  El ThinkPad 600E sera el primer modelo que saldra a la venta
  certificado por Red Hat para ser compatible con el Red Hat 6.0
  Para final de a~o IBM espera anunciar planes de compatibilidad
  con SUSE, Caldera y TurboLinux para funcionar en un rango mayor
  de modelos.

   http://www.ibm.com
   http://www.techweb.com

 --[ Allaire's ColdFusion bajo Linux

  El software de integracion de bases de datos en web estara
  disponible en muy breve bajo linux. Este es solo el principio,
  las grandes compa~ias se apuntan a Linux. A finales de mes una
  version de muestra estara disponible. El precio del paquete es
  de unos 1500USD el deluxe y la normal 375USD, la Express sera
  gratuita.

  http://www.allaire.com
  http://www.techweb.com
  http://www.crn.com


 --[ John The Ripper v1.6 Bajo Linux
  
  Pues si ahi lo teneis, a que esperais a bajarlo ? El de siempre.


  http://www.securityfocus.com/level2/?go=tools

 --[ Lineas de Actuacion en caso Redada hechas publicas

  Eso si esto solo se aplica a USA, pero puede ser interesante saber
  lo que se pueden y no pueden llevar y sobre todo como deben de actuar
  Se ha hecho pueblico aqui.

  http://www.usdoj.gov/criminal/cybercrime/searching.html#FED_GUID


 --[ Intel creara una set-top box con la colaboracion de Nokia

  Pero que es lo interesante ? que usara Linux como su sistema
  operativo,la cajita en si sera capaz de recibir DVB, Television
  digital (ATVEF) y Digital Video Broadcast, usara standars abiertos
  y protocolos abiertos...

   http://www.intel.com
   http://www.nokia.com


 --[ IBM anuncia Java 1.1.8 para Linux

  Este no es un simple anuncio de un release, si observamos el
  desarollo de el Java SDK la version mas rapida y que mas rapidamente
  evolucionaba era la de win32. Ahora las tablas han cambiado. Esta
  nueva version es mas rapida y ha salido antes en Linux que en win32.
  No cogeis el tema ?

 http://www.ibm.com/developer/java/
 http://www.volano.com/report.html
 http://www.ibm.com/java/jdk/118/linux/index.html
 http://www-4.ibm.com/software/developer/library/java-linux/java-linux.html


 --[ Domino para Linux Listo!

 La primera version de Lotus Domino para Linux saldra a la calle 
 a finales de este mes, la presentacion tuvo lugar en el Lotusphere
 en Berlin a finales de Octubre.

 http://www.lotus.com
 http://www.lotus.com/linux



 --[ Fallos encontrados en el Openserver de SCO.

  Si lo usas actualizate aqui > http://www.sco.com/security


 --[ Avalancha de Software Comercial en Linux

  Buscas mas software comercial en Linux pues no estaria de mas que
  visitases estas urls...
 
 http://www.freshmeat.net
 http://www.execpc.com/lsm  (Linux Software Map)


<++> news/css.c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>

unsigned int CSStab0[11]={5,0,1,2,3,4,0,1,2,3,4};

unsigned char CSStab1[256]=
{
	0x33,0x73,0x3b,0x26,0x63,0x23,0x6b,0x76,0x3e,0x7e,0x36,0x2b,0x6e,0x2e,0x66,0x7b,
	0xd3,0x93,0xdb,0x06,0x43,0x03,0x4b,0x96,0xde,0x9e,0xd6,0x0b,0x4e,0x0e,0x46,0x9b,
	0x57,0x17,0x5f,0x82,0xc7,0x87,0xcf,0x12,0x5a,0x1a,0x52,0x8f,0xca,0x8a,0xc2,0x1f,
	0xd9,0x99,0xd1,0x00,0x49,0x09,0x41,0x90,0xd8,0x98,0xd0,0x01,0x48,0x08,0x40,0x91,
	0x3d,0x7d,0x35,0x24,0x6d,0x2d,0x65,0x74,0x3c,0x7c,0x34,0x25,0x6c,0x2c,0x64,0x75,
	0xdd,0x9d,0xd5,0x04,0x4d,0x0d,0x45,0x94,0xdc,0x9c,0xd4,0x05,0x4c,0x0c,0x44,0x95,
	0x59,0x19,0x51,0x80,0xc9,0x89,0xc1,0x10,0x58,0x18,0x50,0x81,0xc8,0x88,0xc0,0x11,
	0xd7,0x97,0xdf,0x02,0x47,0x07,0x4f,0x92,0xda,0x9a,0xd2,0x0f,0x4a,0x0a,0x42,0x9f,
	0x53,0x13,0x5b,0x86,0xc3,0x83,0xcb,0x16,0x5e,0x1e,0x56,0x8b,0xce,0x8e,0xc6,0x1b,
	0xb3,0xf3,0xbb,0xa6,0xe3,0xa3,0xeb,0xf6,0xbe,0xfe,0xb6,0xab,0xee,0xae,0xe6,0xfb,
	0x37,0x77,0x3f,0x22,0x67,0x27,0x6f,0x72,0x3a,0x7a,0x32,0x2f,0x6a,0x2a,0x62,0x7f,
	0xb9,0xf9,0xb1,0xa0,0xe9,0xa9,0xe1,0xf0,0xb8,0xf8,0xb0,0xa1,0xe8,0xa8,0xe0,0xf1,
	0x5d,0x1d,0x55,0x84,0xcd,0x8d,0xc5,0x14,0x5c,0x1c,0x54,0x85,0xcc,0x8c,0xc4,0x15,
	0xbd,0xfd,0xb5,0xa4,0xed,0xad,0xe5,0xf4,0xbc,0xfc,0xb4,0xa5,0xec,0xac,0xe4,0xf5,
	0x39,0x79,0x31,0x20,0x69,0x29,0x61,0x70,0x38,0x78,0x30,0x21,0x68,0x28,0x60,0x71,
	0xb7,0xf7,0xbf,0xa2,0xe7,0xa7,0xef,0xf2,0xba,0xfa,0xb2,0xaf,0xea,0xaa,0xe2,0xff
};

unsigned char CSStab2[256]=
{
	0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x09,0x08,0x0b,0x0a,0x0d,0x0c,0x0f,0x0e,
	0x12,0x13,0x10,0x11,0x16,0x17,0x14,0x15,0x1b,0x1a,0x19,0x18,0x1f,0x1e,0x1d,0x1c,
	0x24,0x25,0x26,0x27,0x20,0x21,0x22,0x23,0x2d,0x2c,0x2f,0x2e,0x29,0x28,0x2b,0x2a,
	0x36,0x37,0x34,0x35,0x32,0x33,0x30,0x31,0x3f,0x3e,0x3d,0x3c,0x3b,0x3a,0x39,0x38,
	0x49,0x48,0x4b,0x4a,0x4d,0x4c,0x4f,0x4e,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,
	0x5b,0x5a,0x59,0x58,0x5f,0x5e,0x5d,0x5c,0x52,0x53,0x50,0x51,0x56,0x57,0x54,0x55,
	0x6d,0x6c,0x6f,0x6e,0x69,0x68,0x6b,0x6a,0x64,0x65,0x66,0x67,0x60,0x61,0x62,0x63,
	0x7f,0x7e,0x7d,0x7c,0x7b,0x7a,0x79,0x78,0x76,0x77,0x74,0x75,0x72,0x73,0x70,0x71,
	0x92,0x93,0x90,0x91,0x96,0x97,0x94,0x95,0x9b,0x9a,0x99,0x98,0x9f,0x9e,0x9d,0x9c,
	0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x89,0x88,0x8b,0x8a,0x8d,0x8c,0x8f,0x8e,
	0xb6,0xb7,0xb4,0xb5,0xb2,0xb3,0xb0,0xb1,0xbf,0xbe,0xbd,0xbc,0xbb,0xba,0xb9,0xb8,
	0xa4,0xa5,0xa6,0xa7,0xa0,0xa1,0xa2,0xa3,0xad,0xac,0xaf,0xae,0xa9,0xa8,0xab,0xaa,
	0xdb,0xda,0xd9,0xd8,0xdf,0xde,0xdd,0xdc,0xd2,0xd3,0xd0,0xd1,0xd6,0xd7,0xd4,0xd5,
	0xc9,0xc8,0xcb,0xca,0xcd,0xcc,0xcf,0xce,0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,
	0xff,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf6,0xf7,0xf4,0xf5,0xf2,0xf3,0xf0,0xf1,
	0xed,0xec,0xef,0xee,0xe9,0xe8,0xeb,0xea,0xe4,0xe5,0xe6,0xe7,0xe0,0xe1,0xe2,0xe3
};

unsigned char CSStab3[512]=
{
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,
	0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff,0x00,0x24,0x49,0x6d,0x92,0xb6,0xdb,0xff
};

unsigned char CSStab4[256]=
{
	0x00,0x80,0x40,0xc0,0x20,0xa0,0x60,0xe0,0x10,0x90,0x50,0xd0,0x30,0xb0,0x70,0xf0,
	0x08,0x88,0x48,0xc8,0x28,0xa8,0x68,0xe8,0x18,0x98,0x58,0xd8,0x38,0xb8,0x78,0xf8,
	0x04,0x84,0x44,0xc4,0x24,0xa4,0x64,0xe4,0x14,0x94,0x54,0xd4,0x34,0xb4,0x74,0xf4,
	0x0c,0x8c,0x4c,0xcc,0x2c,0xac,0x6c,0xec,0x1c,0x9c,0x5c,0xdc,0x3c,0xbc,0x7c,0xfc,
	0x02,0x82,0x42,0xc2,0x22,0xa2,0x62,0xe2,0x12,0x92,0x52,0xd2,0x32,0xb2,0x72,0xf2,
	0x0a,0x8a,0x4a,0xca,0x2a,0xaa,0x6a,0xea,0x1a,0x9a,0x5a,0xda,0x3a,0xba,0x7a,0xfa,
	0x06,0x86,0x46,0xc6,0x26,0xa6,0x66,0xe6,0x16,0x96,0x56,0xd6,0x36,0xb6,0x76,0xf6,
	0x0e,0x8e,0x4e,0xce,0x2e,0xae,0x6e,0xee,0x1e,0x9e,0x5e,0xde,0x3e,0xbe,0x7e,0xfe,
	0x01,0x81,0x41,0xc1,0x21,0xa1,0x61,0xe1,0x11,0x91,0x51,0xd1,0x31,0xb1,0x71,0xf1,
	0x09,0x89,0x49,0xc9,0x29,0xa9,0x69,0xe9,0x19,0x99,0x59,0xd9,0x39,0xb9,0x79,0xf9,
	0x05,0x85,0x45,0xc5,0x25,0xa5,0x65,0xe5,0x15,0x95,0x55,0xd5,0x35,0xb5,0x75,0xf5,
	0x0d,0x8d,0x4d,0xcd,0x2d,0xad,0x6d,0xed,0x1d,0x9d,0x5d,0xdd,0x3d,0xbd,0x7d,0xfd,
	0x03,0x83,0x43,0xc3,0x23,0xa3,0x63,0xe3,0x13,0x93,0x53,0xd3,0x33,0xb3,0x73,0xf3,
	0x0b,0x8b,0x4b,0xcb,0x2b,0xab,0x6b,0xeb,0x1b,0x9b,0x5b,0xdb,0x3b,0xbb,0x7b,0xfb,
	0x07,0x87,0x47,0xc7,0x27,0xa7,0x67,0xe7,0x17,0x97,0x57,0xd7,0x37,0xb7,0x77,0xf7,
	0x0f,0x8f,0x4f,0xcf,0x2f,0xaf,0x6f,0xef,0x1f,0x9f,0x5f,0xdf,0x3f,0xbf,0x7f,0xff
};

unsigned char CSStab5[256]=
{
	0xff,0x7f,0xbf,0x3f,0xdf,0x5f,0x9f,0x1f,0xef,0x6f,0xaf,0x2f,0xcf,0x4f,0x8f,0x0f,
	0xf7,0x77,0xb7,0x37,0xd7,0x57,0x97,0x17,0xe7,0x67,0xa7,0x27,0xc7,0x47,0x87,0x07,
	0xfb,0x7b,0xbb,0x3b,0xdb,0x5b,0x9b,0x1b,0xeb,0x6b,0xab,0x2b,0xcb,0x4b,0x8b,0x0b,
	0xf3,0x73,0xb3,0x33,0xd3,0x53,0x93,0x13,0xe3,0x63,0xa3,0x23,0xc3,0x43,0x83,0x03,
	0xfd,0x7d,0xbd,0x3d,0xdd,0x5d,0x9d,0x1d,0xed,0x6d,0xad,0x2d,0xcd,0x4d,0x8d,0x0d,
	0xf5,0x75,0xb5,0x35,0xd5,0x55,0x95,0x15,0xe5,0x65,0xa5,0x25,0xc5,0x45,0x85,0x05,
	0xf9,0x79,0xb9,0x39,0xd9,0x59,0x99,0x19,0xe9,0x69,0xa9,0x29,0xc9,0x49,0x89,0x09,
	0xf1,0x71,0xb1,0x31,0xd1,0x51,0x91,0x11,0xe1,0x61,0xa1,0x21,0xc1,0x41,0x81,0x01,
	0xfe,0x7e,0xbe,0x3e,0xde,0x5e,0x9e,0x1e,0xee,0x6e,0xae,0x2e,0xce,0x4e,0x8e,0x0e,
	0xf6,0x76,0xb6,0x36,0xd6,0x56,0x96,0x16,0xe6,0x66,0xa6,0x26,0xc6,0x46,0x86,0x06,
	0xfa,0x7a,0xba,0x3a,0xda,0x5a,0x9a,0x1a,0xea,0x6a,0xaa,0x2a,0xca,0x4a,0x8a,0x0a,
	0xf2,0x72,0xb2,0x32,0xd2,0x52,0x92,0x12,0xe2,0x62,0xa2,0x22,0xc2,0x42,0x82,0x02,
	0xfc,0x7c,0xbc,0x3c,0xdc,0x5c,0x9c,0x1c,0xec,0x6c,0xac,0x2c,0xcc,0x4c,0x8c,0x0c,
	0xf4,0x74,0xb4,0x34,0xd4,0x54,0x94,0x14,0xe4,0x64,0xa4,0x24,0xc4,0x44,0x84,0x04,
	0xf8,0x78,0xb8,0x38,0xd8,0x58,0x98,0x18,0xe8,0x68,0xa8,0x28,0xc8,0x48,0x88,0x08,
	0xf0,0x70,0xb0,0x30,0xd0,0x50,0x90,0x10,0xe0,0x60,0xa0,0x20,0xc0,0x40,0x80,0x00
};


/***********************************************
 *
 * The basic CSS cipher code
 *
 *
 * With reduced mangling in the key setup
 *
 *
 ***********************************************/

void CSSdescramble( unsigned char *key )
{
	unsigned int t1,t2,t3,t4,t5,t6;
	unsigned int i;

	t1= key[0] ^ 0x100;
	t2= key[1];
	t3=(*((unsigned int *)(key+2)));
  t4=t3&7;
	t3=t3*2+8-t4;
	t5=0;

  printf( "Keystate at start: %03x %02x %08x\n", t1, t2, t3 );
	printf( "output: " );
	for( i=0 ; i < 10 ; i++ )
	{
		t4=CSStab2[t2]^CSStab3[t1];
		t2=t1>>1;
		t1=((t1&1)<<8)^t4;
		t4=CSStab5[t4];
		t6=(((((((t3>>3)^t3)>>1)^t3)>>8)^t3)>>5)&0xff;
		t3=(t3<<8)|t6;
		t6=CSStab4[t6];
		t5+=t6+t4;
		printf( "%02x ",t5&0xff);
		t5>>=8;
	}
	printf( "\n" );
}



/********************************************************
 *
 *  The Divide and conquer attack
 *
 *  Deviced and written by Frank A. Stevenson 26 Oct 1999
 *
 *  ( frank@funcom.com )
 *  Released under the GPL license
 *
 ********************************************************/

#define KEYSTREAMBYTES 10

static unsigned char invtab4[256];

void CSScracker( unsigned char* pStream ) {
  unsigned int t1,t2,t3,t4,t5,t6;
  unsigned int nTry;
  unsigned int vCandidate;
  int i;
  unsigned int j;

  /* Test that CSStab4 is a permutation */
  memset( invtab4, 0, 256 );
  for( i = 0 ; i < 256 ; i++ ) invtab4[ CSStab4[i] ] = 1; 
  for( i = 0 ; i < 256 ; i++ ) if( invtab4[ i ] != 1 ) {
    printf( "Permutation error\n" );
    exit( -1 );
  }

  /* initialize the inverse of table4 */
  for( i = 0 ; i < 256 ; i++ ) invtab4[ CSStab4[i] ] = i;

  for( nTry = 0 ; nTry < 65536 ; nTry++ ) {
    t1 = nTry >> 8 | 0x100;
    t2 = nTry & 0xff;
    t3 = 0;   /* not needed */
    t5 = 0;

    /* iterate cipher 4 times to reconstruct LFSR2 */
    for( i = 0 ; i < 4 ; i++ ) {
      /* advance LFSR1 normaly */
      t4=CSStab2[t2]^CSStab3[t1];
      t2=t1>>1;
      t1=((t1&1)<<8)^t4;
      t4=CSStab5[t4];
      /* deduce t6 & t5 */
      t6 = pStream[ i ];    
      if( t5 ) t6 = ( t6 + 0xff )&0x0ff;
      if( t6 < t4 ) t6 += 0x100;
      t6 -= t4;
      t5 += t6 + t4;
      t6 = invtab4[ t6 ];
      /* printf( "%02x/%02x ", t4, t6 ); */
      /* feed / advance t3 / t5 */
      t3 = (t3 << 8) | t6;
      t5 >>= 8;
    }

    vCandidate = t3;

    /* iterate 6 more times to validate candidate key */
    for( ; i < KEYSTREAMBYTES ; i++ ) {
      t4=CSStab2[t2]^CSStab3[t1];
      t2=t1>>1;
      t1=((t1&1)<<8)^t4;
      t4=CSStab5[t4];
      t6=(((((((t3>>3)^t3)>>1)^t3)>>8)^t3)>>5)&0xff;
      t3=(t3<<8)|t6;
      t6=CSStab4[t6];
      t5+=t6+t4;
      if( (t5 & 0xff) != pStream[i] ) break;
      t5>>=8;
    }

    if( i == KEYSTREAMBYTES ) {
      /* Do 4 backwards steps of iterating t3 to deduce initial state */
      t3 = vCandidate;
      for( i = 0 ; i < 4 ; i++ ) {
        t1 = t3 & 0xff;
        t3 = ( t3 >> 8 );
        /* easy to code, and fast enough bruteforce search for byte shifted in */
        for( j=0 ; j < 256 ; j++ ) {
          t3 = (t3 & 0x1ffff) | ( j << 17 );
          t6=(((((((t3>>3)^t3)>>1)^t3)>>8)^t3)>>5)&0xff;
          if( t6 == t1 ) break;  
	}
      }
      printf( "Candidate: %03x %02x %08x\n", 0x100|(nTry>>8),nTry&0x0ff, t3 );
    }

  }

}


/* simple function to convert hex bytes to int */
/* note: will give random results if nonhex digits are input */

static char hexdigits[17] = "0123456789abcdef\0";

static int HexByteToInt( const char *pNumber ) {
  char ch;
  int r;

  ch = tolower( pNumber[0] );
  r = 16 * (int)( strchr( hexdigits, ch ) - hexdigits );
  ch = tolower( pNumber[1] );
  r+= (int)( strchr( hexdigits, ch ) - hexdigits );

  return r & 0x0ff;  /* invalid input will have produce garbage */
} 


/* Main function */

int main( int argc, char* argv[] ) {
  int i;
  unsigned char data[ KEYSTREAMBYTES ];


  memset( data, 0, KEYSTREAMBYTES );

  if( argc > KEYSTREAMBYTES + 1 ) {
    printf( "To many arguments\n" );
    return -1;
  }

  if( argc < 6 ) {
    printf( "Usage: %s xx xx ... ( 5 / %i hex bytes )\n", argv[0], KEYSTREAMBYTES );
    return -1;
  }

  for( i = 1; i < argc ; i++ ) {
    data[i-1] = HexByteToInt( argv[i] );
  }

  if( argc == KEYSTREAMBYTES + 1 ) {
    /* search for key */
    printf( "Attempting crack\n" );
    CSScracker( data );
  } else {
    /* Produce sample keystream */
    printf( "Doing encryption\n" );
    CSSdescramble( data );
  }

  return( 0 );
}
<-->