FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Atacar ficheros TACOGRAFOS DIGITALES
Estoy empeñado en leer / interpretar los datos que devuelven los tacógrafos digitales de los vehículos, su extensión es '.TGD'. Pero no encuentro ninguna documentación del formato de estos ficheros, ni de como atacarlos para conocer su contenido.
Estaría muy agradecido si alguien me pudiera orientar. Si sirve de algo, estoy interesado en los tacógrafos digitales españoles. Saludos |
#2
|
||||
|
||||
Creo que en este documento tienes la información que necesitas.
Aunque debes saber que: Cita:
Más información aquí. Aquí también, muy completo con el formato del fichero t ambién. Espero que te sirva. |
#3
|
|||
|
|||
Gracias Casimiro
Toda esta documentación es amplia pero no clara, todavía estoy perdido.
Soy el típico programador que necesita que alguien le documente mejor los datos como por ejemplo abrir el fichero usa este componente, el registro es el siguiente y se divide de la siguiente manera en los estos campos. En fin este es el problema que tengo. Gracias de todos modos. Pero necesitaría algo más documentado. Porque todavía estoy pillado Os agradecería que me condujerais a un sitio o algun compañero que estuviese ya desarrollando algo sobre tacógrafos digitales para ver como nos podemos ayudar. Agradezco de antemano toda ayuda y me pongo a disposición de quien me necesite para este desarrollo. De todo lo que vaya encontrando sobre este hilo lo pondré documentado con el transcurso del tiempo aquí y sólo por su puesto si me lo permiten sus moderadores. Gracias. |
#4
|
||||
|
||||
Pa'mí que no has leido el capitulo 2, artículo 24 en adelante del último enlace de casimiro jomio
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
||||
|
||||
Cita:
|
#6
|
||||
|
||||
... y no le culpo, nada más entrar en una web del estilo BOE, yo al menos, salgo pitando .
Hice un Scroll vertical rápido y, por suerte, ví las "tablitas"... me paré un segundo y vi "extensión del archivo: TGD"... ahhh amigo Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 14-05-2007 a las 18:13:22. |
#7
|
|||
|
|||
Gracias por abrirme los ojos
Es de agradeceros que me hayais abierto los ojos sobre la información de este BOE.
Aún sigo teniendo dudas sobre como abrir estos ficheros, los voy a abrir como si fueran ficheros de texto, byte a byte, a ver si así y viendo sus datos puedo interpretar esta información. Igual iré desarrollando el código y lo iré subiendo aquí, para ver si a alguien más le interesa desarrollar algo sobre este tema. Espero no os importe si os vuelvo a pedir ayuda. Saludos.- |
#8
|
||||
|
||||
Cita:
|
#9
|
|||
|
|||
Lo he intengado pero no traga .. ¿podeis hecharme un cable?
No se en donde fallo, y lo he intentado.
He cogido la estructura del fichero de conductores que me pasastes Casimiro ... esta: a) Datos de la tarjeta de conductor: Todos los archivos elementales de la tarjeta que se transfieren en una sesión de descarga deben almacenarse en un único fichero. Cada fichero contendrá un conjunto de registros lógicos, que se corresponderán con archivos elementales de la tarjeta y que tendrán la siguiente estructura de campos: Nombre FIDLongitud (bytes) Significado o valor Tipo Longitud Datos 2 Identificador del archivo elemental1 2 [Longitud] ‘00’ (archivo elemental) ‘01’ (firma de archivo elemental) Tamaño del archivo elemental Contenido del archivo elemental Los ficheros de datos deberán contener los siguientes archivos elementales: Archivo ICCFID Descripción 0002 Identificación física de la tarjeta.IC0005 Identificación del chip.Application _identification0500 Versión, tamaño de los registros internos,….Card_CertificateC100 Certificado de la tarjeta.CA_CertificateC108 Certificado de la CIA.Identification0520 Número, CIA, fecha de validez,….Card_Download050E Fecha y hora de la última transferencia de datos de la tarjeta.Driving_license_info0521 Número, país de expedición, fecha de validez,….Events_data0502 Registro de incidentes.Faults_data0503 Registro de fallos.Driver_Activity_data0504 Actividad del conductor.Vehicles_Used0505 Vehículos utilizados.Places0506 Lugares donde comienza o termina un periodo de trabajo diario.Current_Usage0507 Fecha, hora y vehículo en que se abrió la sesión.Control_Activity_Data0508 Actividades de control sobre la tarjeta.Specific_Conditions0522 Fuera de ámbito, transbordador,….Y con estos ejemplos que os paso en el fichero 'ficheros tarjeta conductores.zip' pero no consigo que por ejemplo me diga el número de tarjeta a la que pertenece. En el ejemplo que os paso para leer estos ficheros, podreis ver que tengo que convertir los bytes que voy recogiendo a HEX pero aun así no veo la manera de seguir. Aparentemente el primer registro que cargo me dice para FID 0002 entre los dos bytes que recupero para tipo cargo 00 para longitud cargo 19, pero después el número de tarjeta no me lo devuelve bien no coincide con el que debería de poner que es el del nombre del fichero. En fin os envío también el código realizado para su lectura, si me podeis decir en que fallo os lo agradecería pues me estoy dando cabezazos contra algo que no llego a más. Saludos Última edición por socger fecha: 15-05-2007 a las 14:24:08. |
#10
|
||||
|
||||
¿de donde has sacado ese archivo tgd?
Ese, es un archivo binario (basta abrirlo con el bloc de notas para ver "caracteres extraños"). Siendo binario, no puedes usar TextFile para leerlo, más bien debes usar un file of record. El problema, es saber el tamaño de las cosas, cuando dice que un campo ocupa 2 bytes... vete a saber si son dos caracteres (letras) o un tipo integer. Para ello tienes que ir al fichero tgd, (abrirlo con el bloc de notas) y más o menos ver que guarda. Creo que sería así: mira la ayuda en delphi "File Types" para ver un ejemplo de como leer y escribir en ellos. Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#11
|
||||
|
||||
También hay que tener en cuenta que puede que sea texto, pero cifrado, porque:
Cita:
|
#12
|
|||
|
|||
Ayuda para la firma digital
Estuve probando la manera de abrir los ficheros recomendado por nuestro amigo lepe y resulta que seguimos teniendo el mismo problema que con el ejemplo anterior que os pasé.
Creo que Casimiro lleva toda la razón cuando nos dijo que eran ficheros posíblemente cifrados/encriptados con la firma digital. _______________________________________________________________________ Cita de Casimiro: También hay que tener en cuenta que puede que sea texto, pero cifrado, porque: La información contenida en los ficheros TGD viene acompañada de una firma electrónica generada por un certificado digital, el cual tiene tres propósitos:
Por eso os pediría consejo sobre como poder seguir sobre esa línea, ¿dónde creeis que debería documentarme?, o con quién debería de ponerme en contacto. Es decir, ¿podríais a un ciego guiarle en su andar?, perdón yo soy el ciego. Saludos y muchas gracias por adelantado. |
#13
|
||||
|
||||
De todas formas, el ficherito que has puesto de muestra parece que no está cifrado, se puede leer nombres y otros datos, así que en este caso es simplemente un archivo binario con una estructura que hay que conocer.
Bueno, eso es lo que parece. |
#14
|
||||
|
||||
En un primer análisis, podemos separar el archivo en lo que, según la documentación que enlazo Casimiro, se denominan "Archivos elementales". Estos están formados por una "cabecera" y un bloque de datos.
Algo así (es una aplicación de consola):
El resultado de procesar el archivo de ejemplo: Código:
FID: 0002 Descripcion: ICC Longitud: 25 Bytes FID: 0005 Descripcion: IC Longitud: 8 Bytes FID: 0501 Descripcion: Identificador desconocido Longitud: 10 Bytes FID: 0501 Descripcion: Identificador desconocido Longitud: 128 Bytes FID: 0520 Descripcion: Identification Longitud: 143 Bytes FID: 0520 Descripcion: Identification Longitud: 128 Bytes FID: 0502 Descripcion: Events data Longitud: 1728 Bytes FID: 0502 Descripcion: Events data Longitud: 128 Bytes FID: 0503 Descripcion: Faults data Longitud: 1152 Bytes FID: 0503 Descripcion: Faults data Longitud: 128 Bytes FID: 0504 Descripcion: Driver activity data Longitud: 13780 Bytes FID: 0504 Descripcion: Driver activity data Longitud: 128 Bytes FID: 0505 Descripcion: Vehicles uses Longitud: 6202 Bytes FID: 0505 Descripcion: Vehicles uses Longitud: 128 Bytes FID: 0506 Descripcion: Places Longitud: 1121 Bytes FID: 0506 Descripcion: Places Longitud: 128 Bytes FID: 0508 Descripcion: Control activity data Longitud: 46 Bytes FID: 0508 Descripcion: Control activity data Longitud: 128 Bytes FID: 0522 Descripcion: Specific conditions Longitud: 280 Bytes FID: 0522 Descripcion: Specific conditions Longitud: 128 Bytes FID: C100 Descripcion: Card certificate Longitud: 194 Bytes FID: C108 Descripcion: CA certificate Longitud: 194 Bytes Última edición por seoane fecha: 16-05-2007 a las 17:42:39. |
#15
|
||||
|
||||
Investigando un poco mas encontré esta pagina donde te puedes descargar un pdf con la estructura de cada uno de esos bloques de los que hablaba.
http://www.boe.es/g/es/bases_datos/d.../81422&codmap= Son mas de 200 paginas, así que me parece que yo lo dejo aquí. |
#16
|
|||
|
|||
Gracias seoane ... pero tengo esta duda
No he usado nunca este tipo de ficheros, lo cual es un problema para mí. Podrías documentarme ... alguna ayuda o link ... donde pueda ver como se trabajan con los ficheros de este tipo
--- cita tuya: type TCabecera = packed record FID: Word; Tipo: Byte; Longitud: Word; end; --- Y aún documentándome he visto que estos ficheros elementales que vienen ahora dependen o se crean con la longitud que se consiga en el campo Longitud de tipo Word que creastes, es decir que cambian su longitud debido al campo Longitud. ¿Serías tan amable de por lo menos decirme como crearlo en TCabecera? No se como ayudarte, en la medida que yo pudiera, pero te garantizo que esta ayuda que me prestas me va a hechar un buen cable. De todos modos me presto para lo que hiciera falta. Saludos Última edición por socger fecha: 18-05-2007 a las 09:56:45. |
#17
|
|||
|
|||
Perdón. Es un fallo
Perdón es un fallo.
Gracias a todos por la ayuda. No se por donde habría tirado sin vuestra ayuda, la de todos. Ya voy encontrando cielos abiertos gracias a vosotros. Pero como he comentado en la anterior consulta sigo con problemas. No conozco los ficheros de este tipo. Podríais ver la nota anterior y comentarme que hacer. Gracias |
#18
|
||||
|
||||
Cita:
Así que lo que hago es leer el encabezado, determinar el tamaño de los datos y leerlos. Si te fijas en la siguiente instrucción: Leemos en el buffer "Datos", el contenido de ese bloque. Una vez en memoria, ya veras tu lo que tienes que hacer con el. En el enlace que te di, parece que explican la estructura de cada uno de estos bloques, pero sus mas de 200 paginas me desaniman bastante a leerlo. Si me permites un consejo, creo que, si no estas familiarizado con el tratamiento de ficheros y el de estructuras en memoria, el proyecto puede que te resulte demasiado complicado. La parte que yo puse es lo mas básico, luego viene interpretar cada bloque, y ya no hablemos de la parte de cifrado .... |
#19
|
|||
|
|||
Gracias SEONAME
Sobre tu cita:
-------------------------------------------------------------------- Si me permites un consejo, creo que, si no estas familiarizado con el tratamiento de ficheros y el de estructuras en memoria, el proyecto puede que te resulte demasiado complicado. La parte que yo puse es lo mas básico, luego viene interpretar cada bloque, y ya no hablemos de la parte de cifrado .... --------------------------------------------------------------------- Si es cierto no estoy familiarizado con esta estructura de ficheros que usas fileStream ni con estructuras en memoria (aunque aprendo rápido), por eso te pedí algun link o documento que me familiarizase sobre esta estructura de datos. Y bueno por eso te seguiría pidiendo que me documentases el paso a seguir para aprender más sobre todo esto. En cuanto al cifrado de datos este boe que me pasastes, a poco que estoy viendo, es bastante extenso y poco documentativo. Pero espero que superando la primera parte que te comenté antes me pase rápidamente a la siguiente. Chaval, muchas gracias de todos modos y lo dicho me teneis para lo que os haga falta en este foro. De momento voy a seguir subiendo todo lo que vaya descubriendo sobre este tema. Saludos, pero antes agradezco toda ayuda suministrada. |
#20
|
||||
|
||||
Cita:
Yo me he acostumbrado a utilizarlos a la hora de tratar ficheros, son bastante cómodos. Pero hubiera sido lo mismo, si utilizáramos un fichero sin tipo, los de toda la vida, y las funciones Blockread y Blockwrite para leer y escribir. Si quieres saber como funcionan los Stream, revisa la ayuda sobre la clase TFileStream. Una explicación rápida, para empezar:
En cuanto a como analizar las diferentes estructuras, ya depende de como sean. Si tienen un tamaño fijo, a lo mejor podemos utilizar punteros. Si no, deberemos de estudiar en cada caso como hacerlo. Como ya dije no es nada fácil, pero no quería desanimarte con mi anterior mensaje, aunque leyéndolo ahora veo que me salio un poco pesimista . Yo empezaría por familiarizarme con los ficheros (leer, escribir, etc ...) para luego entrar a interpretar los datos. En cualquier caso tienes por delante muchas horas de lectura |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Huellas Digitales | Viky | Varios | 6 | 17-01-2007 18:38:18 |
Atacar el ToolBarWindows32 | mangi | API de Windows | 0 | 28-04-2006 13:07:58 |
Atacar cartografías tipo Map Point o NafTec | socger | Varios | 3 | 23-12-2005 10:04:09 |
¿Con .Net que bases de datos puedo atacar y como??? | burasu | .NET | 4 | 17-09-2005 12:16:05 |
Atacar tablas Paradox con ADO. | Chojj | Conexión con bases de datos | 2 | 02-07-2003 20:50:12 |
|