Codigos de Barras Por Warezzman warezzman@usa.net -> Introduccion Estamos en la era de la informacion, estamos sumergidos en ella, esta informacion contribuye a (o quiza controla?) nuestra vida, los datos se encuentran codificados en casi cualquier sitio, tarjetas telefonicas, tarjetas magneticas, tarjetas inteligentes, y codigos de barras... Mira un momento a un alrededor, seguro que hay algun codigo de barras en alguna cosa junto a ti, puede que incluso decenas... Te has preguntado alguna vez como funcionan? para que sirven? o quiza has pensado alguna vez si se podrian usar en tu "provecho personal" ? -> Los Codigos de Barras (CB) Los codigos de barras son en primer lugar una forma optica para almacenar informacion reconocible por sistemas informaticos. Se usan en sistemas de control de acceso, manejo automatizado de objetos, pero quiza los mas conocidos son los usados para identificar productos de consumo, de estos ultimos se hablara en este articulo. Si quieres seguir mejor este articulo busca un CB y observalo..... Facilmente puedes distinquir dos partes diferencaidas, el CB es si mismo y un numero en la parte inferior. Cuenta las cifras de este numero... ¨tiene 13 cifas verdad? Eso es por que los CB siguen un standard llamado EAN-13 (EAN = Europen Article Numbering).... ¨como, que no tiene 13 cifras????? el EAN13 es el sistema mas comun en europa pero hay otros, el UPC (originario de USA) o el EAN8 que pese a ser minoritarios tambien se pueden encontrar en nuestro pais. Pero sigamos esas rayas que forman el CB son la codificacion optica del numero que esta a su lado, ese numero es por decirlo de alguna manera el DNI del producto, lo identifica como tal. Cuando realizas una compra, la amable cajera pasa el CB del productos comprado por un scanner, de forma automatica el numero representado en el CB es comparado con los almacenados en la base de datos y el importe de contabiliza de manera inmediata. Los CB aportan una gran cantidad de ventajas a los vendedores, algunos ejemplos son: seguimiento en tiempo real del volumen de ventas, rapidez de atencion al cliente, eliminacion de la posibilidad de error en el marcado, ahorro de tiempo y dinero en etiquetado, etc, etc -> EAN13 En el EAN13 se usa un digito de control para evitar posibles fallos de lectura en el CB, este digito de control es el ultimo digito del CB y el que se encuentra mas a la derecha. Se calcula de la siguiente manera: 1. Se suman los valores de los digitos en las pares esto es A=0+2+4+6+8+10 2. Se suman los valores de los digitos en las impares osea B=1+3+5+7+8+11 y el valor resultante se multiplica por 3 (B*3) 3. Se realiza la suma de los resultados anteriores C=A+B 4. Se calcula el modulo 10 de C, si el resultado no es 0 se resta de 10 y el numero resultante es el codigo de integridad. Ejemplo: CD-Recordable TraxData 74m. Su codigo es 5030159000106 Suma de las posiciones pares 5 + 3 + 1 + 9 + 0 + 1 = 19 Suma de las posiciones impares 0 + 0 + 5 + 0 + 0 + 0 = 5 * 3 = 15 ---- 34 34 MOD 10 = 4 10 - 4 = 6 <---- DIGITO DE CONTROL El resto de las cifras tienen tambien su significado, las 2 primeras identifican el pais de origen de la marca. En espa¤a la entidad gestora del EAN13 es AECOC, los codigos de las empresas asociadas a AECOC tienen este formato: 00 01 02 03 04 05 06 07 08 09 10 11 12 -- -- -- -- -- -- -- -- -- -- -- --- -- 8 4 X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 DC 84 Es el prefijo asignado por EAN internacional a AECOC. Esto no quiere decir necesariamente que sea un producto fabricado en espa¤a sino simplemente que la empresa fabricante usa un CB asignado por AECOC. X1..X5..X8 En este espacio aparece el codigo asignado por AECOC a la empresa propietaria de la marca del producto. Dicho codigo tendra entre 5 y 8 digitos dependiendo de las necesidades de la empresa. X6..X9.X10 Este espacio es utilizado por la empresa fabricante para identificar cada producto en particular. El posible espacio sobrante se corrige a¤adiendo los ceros necesarios a la izquierda. DC es el digito de control calculado con la formula vista antes. Ej. Gallina blanca, Sopinstant, Crema de champi¤ones 8 410300 100751 Gallina blanca, Sopinstant, Pollo con pasta 8 410300 100799 Pasemos ahora a la parte quiza mas farragosa de los CB: la representacion optica del codigo en forma de barras. Como esta pasa por ser bastante complicada solo la comentare por encima, si estais realmente interesados en conocer como funciona podria escribir una segunda parte de este articulo. En primer lugar el CB esta dividido en 2 segmentos, que agrupan cada uno a 6 digitos y forman en pareja los 12 digitos del cb, delimitados por las lineas mas largas de los extremos y centro. En el CB una barrita fina significa 1 y una en blanco 0. De esta forma las barras de calibrado dan lugar a los valores 101 en los extremos y 01010 en el centro. Los segmentos codifican los grupos de 6 cifras usando 3 tablas de codigos de 7 bits que a su vez dependen de una tabla de patrones de manera que segun el valor del digito de control se use un patron u otro. -> (IN)Seguridad de los codigos de barras Silogismo de los codigos de barras: 1 - Un CB es parte de un sistema informatico 2 - TODO sistema informatico se puede hackear/crackear De lo que deducimos que: "Un CB se puede hackear/crackear" ¨Acaso no te has dado cuenta de que cuando compras algo en el super de la esquina la informacion sobre el precio del producto se extrae del CB? Supongamos por un momento que imprimes un CB identico a una botella de vino del "Tio de la bota" y la pegas en una cara botella de vino frances cosecha del 89, la cajera pasara el cb por el scanner y en la pantalla aparecera "vino" y pagaras 130pts por una botella que vale 5000pts. Ojo todo esto es hipotetico, debe quedar claro que no pretendo incitar a cometer un delito, simplemente expongo las deficiencias de seguridad de los CB. ;-) Continuemos suponiendo, nada te impediria comprar una SB AWE 64 GOLD al precio de la 32 Value Edition. Veamos que pasos deberias seguir para "perpetrar" este tipo de acciones: - Anotar el codigo de un producto similar al que nos vamos a llevar y de un precio inferior, es recomendable comprobar que tal producto se encuentra a la venta en el lugar en cuestion. - Imprimir en casa sobre una etiqueta adesiva el cb correspondiente, existen multiples programas tanto shareware como comerciales para estos menesteres, y en inet no es dificil encontrar alguno de ellos. - Pegar dicha etiqueta sobre la original y pasar por caja. Si vas de "Hacker con buenas intenciones" puedes imprimir el mismo codigo que el original para demostrarte a ti mismo que podrias haber defraudado al sistema si hubieras querido, en algunas grandes superficies incluso hay lectores de CB a disposicion del publico para que comprueben el precio de los productos, ya que este no va etiquetado en el envase. Para finalizar agradecer a +ORC por la informacion original "How to crack barcodes" y a KazMeyer. Sed buenos y no hagais nada que yo no haria. }:)