TUTO : Modifier POIs Warning Alerts dans la base .db3
Posté : 04 février 2018, 17:22
------------------------------------------------------------------------------------------------------------------------
***** TUTO *****
Modifier la valeur de 'activationRadius' dans 'poidata.db3' pour la porter de <Null> à 250
afin d'être averti plus précocement de la présence d'un radar par le son système "Gloup"
-----------------------------------------------------------------------------------------------------------------------
Mise à jour au 15/02/2018
Recherches non encore terminées ... Tuto en cours d'achèvement
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Préalables requis :
* Notions de base de données sous SQL
* Utilitaire 'SqLiteBrowser3' (pour modifier fichier .db3)
* Utilitaire 'Quick Hash Windows 3' (pour calculer les Checksums, de type SHA-1)
* Utilitaire 'HJSplit' (pour couper le fichier .db3 en plusieurs morceaux de 512K chacun)
Il faut donc suivre la méthode suivante :
Ainsi, pour le cas des 14 radars France (février 2018) issus de Lufop.net
L’on obtient in fine, l'arborescence :
\PersonalPoi
\metainfo2.txt
Cliquer ici pour obtenir cette arborescence initiale (pour VW DM ou VW DP écran 8")
https://drive.google.com/file/d/1aUt1TO ... sp=sharing
Laquelle est ensuite mise sur une SD Card (clé USB pour VW DP) servant à l'injecter dans le Système de Navigation de VW
Discover Media ou Discover Pro (Mise à jour des Pois ou Destinations Spéciales), mais avec un son "gloup" se déclenchant bien trop tard, quasiment à 100/150 mètres du radar, ce qu'il convient de changer.
L'on souhaite donc que ce son "gloup" se déclenche bien plus tôt...
Les 2 fichiers qui nous intéressent sont 'hashes.txt' et 'poidata.db3' qui se trouvent sous
\PersonalPOI\MIB2TSD\personalpoi\ppoidb\1\default\
La base SQL 'poidata.db3' comporte plusieurs TABLES et celle qui nous intéresse est celle nommée
'pPoiCategoryTable' et dont la structure est :
CatId = Integer Unique
Category Default Name = Text non <null>
Warning : (0= pas de son "gloup" et 1= son "gloup")
Warnmessage : text = <Null>
activationRadius : un nombre entier entre 0 et 253 (mettre par ex : 250) au lieu de <Null>
phoneticstring : text = <Null>
iSLocalCategory = <Null>
Version= <Null>
IsDirty = <Null>
Et cela pour toutes les lignes qui correspondent aux sous-catégories de POIs (par ex : pour POIS FR de lufop.net
Il y a 14 lignes ou sous-catégories : FR feu rouge, FR radar fixe 30 FR radar fixe 50,...)
Extrait du contenu initial de 'hashes.txt' (Ce sont des Checksums)
.......................................................................................................
FileName = "poidata.db3"
FileSize = "3874816"
CheckSumSize = "524288"
CheckSum = "11be31e592fb7ece94f9f4c02421f6f456f4e6b4"
CheckSum1 = "5577d729fb9b2054d16b5f15b3f8c5a091db9c3f"
CheckSum2 = "00faac8977dad95b1b872cd24ded51ba0bd18b62"
CheckSum3 = "5fa0d87a831367df485c19a3363d7ddd36c81c32"
CheckSum4 = "6095ccfe9a09d650373aca97cff75e06a31a7c94"
CheckSum5 = "84ba7e69a7b0047599fc5aa83303a9241ed60607"
CheckSum6 = "6b8b82b8a65154600c8d361bf2d4c583a64b023f"
CheckSum7 = "d456fe898e4d59a089aa171d96cb4cbe641c120e"
.....................................................................................................
On note que :
CheckSumSize = 524288 = 512 K
Et que le fichier 'poidata.db3' est donc découpable en 8 parties de 512K chacune (chaque partie correspondant à un Checksum différent).
Tous les Checksums sont de type SHA-1 (codage sur 160 octets)
La 1ère partie (512K) de 'poidata.db3' contient les paramètres des POIS qui sont dans la table nommée 'pPoiCategoryTable' de la base 'poidata.db3', table qui gère tous les paramètres liés à la gestion des POIs et notamment le rayon de déclenchement de l'alerte du son d'avertissement "gloup" (dont le champ est nommé 'activationRadius').
A cette 1ère partie est donc associé
CheckSum1 = "5577d729fb9b2054d16b5f15b3f8c5a091db9c3f"
Les autres Checksums (de Checksums 2 à Checksums 7) sont relatifs aux autres morceaux de 512K et ne nous intéressent PAS.
Une fois que l'on aura donc avec l'utilitaire 'SqLiteBrowser3' modifié (en mode ADMINISTRATEUR sous Windows) dans la table 'pPoiCategoryTable' de la base 'poidata.db3' la valeur 'activationRadius' en la passant de <Null> à 250, l'on sauvegardera donc avec ‘SqLiteBrowser3’ un nouveau fichier 'poidata.db3'
Et l'on y relèvera (pour info) son Checksum qui est évidemment différent de l'ancien.
Maintenant avec l'utilitaire windows 'HJSplit' on va découper en 8 parties de 512K chacune, le nouveau fichier poidata.db3 (contenant la valeur 'activationRadius' modée à 250)
L'on obtient les 8 fichiers suivants de 512K chacun.
poidata.db3.001
poidata.db3.002
...............
...............
poidata.db3.008
Intéressons-nous au 2ème fichier 'poidata.db3.002' et relevons son Checksum SHA-1 afin de nous assurer que celui-ci est IDENTIQUE à celui noté dans le fichier 'hashes.txt' pour la valeur 'CheckSum1' du nom de fichier 'poidata.db3'
Avec l'utilitaire 'QuickHash Windows 3' nous trouvons que ce Checksum est :
5577d729fb9b2054d16b5f15b3f8c5a091db9c3f
Soit donc identique.
Maintenant, intéressons-nous au 1er fichier 'poidata.db3.001' (celui qui nous intéresse car relatif à la table 'PpoiCategoryTable') et mesurons son Checksum (de type SHA-1)
8ef7ed7c872152b576a48c8bc07f10d86416ccd0
Et c'est donc ce Checksum que nous allons reporter dans le NOUVEAU fichier 'hashes.txt'
relativement à la ligne 'Checksum'. Les autres lignes de Checksums n’ont pas à être modifiées.
Nouvel Extrait du contenu de 'hashes.txt'
.....................................................................................................
FileName = "poidata.db3"
FileSize = "3874816"
CheckSumSize = "524288"
CheckSum = "8ef7ed7c872152b576a48c8bc07f10d86416ccd0"
CheckSum1 = "5577d729fb9b2054d16b5f15b3f8c5a091db9c3
CheckSum2 = "00faac8977dad95b1b872cd24ded51ba0bd18b62"
CheckSum3 = "5fa0d87a831367df485c19a3363d7ddd36c81c32"
CheckSum4 = "6095ccfe9a09d650373aca97cff75e06a31a7c94"
CheckSum5 = "84ba7e69a7b0047599fc5aa83303a9241ed60607"
CheckSum6 = "6b8b82b8a65154600c8d361bf2d4c583a64b023f"
CheckSum7 = "d456fe898e4d59a089aa171d96cb4cbe641c120e"
.....................................................................................................
==> Mais le travail n'est pas encore terminé....
Dans l'arborescence, on vois que sous \MIB2TSD, on a :
-> personalpoi (répertoire)
-> meta2info.txt (fichier)
Et dans le fichier meta2info.txt, il y a 1 autre Checksum à venir modifier...
Contenu de meta2info.txt
..............................
...............................
................................
[personalpoi\ppoidb\1\default\Dir]
CheckSumSize = "524288"
CheckSum = "6b25f1272016092e3362f1113814c3532ca19aae"
FileSize = "3894705"
Source = ""
Destination = "/tsd/var/nav/personalpoi/"
Version = "1"
Ce Checksum de taille 512K est relatif à \persoinalpoi\ppoidb\1\default\dir
et il correspond aux fichiers qui se trouvent dans le répertoire en-dessous de \default
là où donc on a bien modifié poidata.db3 et hashes.txt
Donc il faut maintenant venir modifier aussi ce checksum là, celui du répertoire \default qui contient 2 fichiers et 1 répertoire
* poidata.db3 (on y a touché donc checksum a changé)
* hashes.txt (on y a touché donc checksum a changé)
En fait, il faut venir remplacer ce Checksum="6b25f1272016092e3362f1113814c3532ca19aae"
par le Checksum du nouveau fichiers hashes.txt soit "1fd56c636bab7c1bade58f90fa8d6bfe701d723b"
puisque ce Checksum fait bien référence à celui du fichier hashes.txt
Nous avons donc maintenant à notre disposition :
- Le nouveau fichier 'poidata.db3' avec une alerte de son "gloup" se déclencheant plus précocement (environ 400/450 mètres)
- Le nouveau fichier 'hashes.txt'
Il faudra donc utiliser ces 2 fichiers à intégrer dans notre arborescence initiale (à la bonne place) pour effectuer la mise à jour (donc avec un ‘activationRadius’ amélioré) sur notre VW DM ou DP comme classiquement fait.
On notera, pour les plus férus, qu'il est aussi semble-t-il possible de modifier d'autres paramètres dans la table 'pPoiCategoryTable', mais je ne les ai pas essayés... (notamment 'WarnMessage' et 'PhoneticString' qui paraissent bien intéressants…).
Il est aussi recommandé de mettre une valeur de ‘activationRadius’ spécifique pour chaque type de radar.
==> Hélas, notre travail n'est pas encore terminé à ce stade !
Si nous réinjectons cette nouvelle arborescence telle quelle, nous avons toujours un message d'erreur du style "Données non reconnues..."
==> Il faut donc maintenant s'intéresser dans la racine de l'arborescence, au fichier meta2info.txt
qui comporte un Checksum et 8 signatures numériques à la fin...
==> ET là j'ai bien besoin d'aide pour continuer mes recherches...
En effet dans ce fichier meta2info.txt qui est dans la racine de l'arborescence, il y a :
- la valeur MetafileChecksum ="38c46...........1554c"
- puis une liste de signatures...in fine
Le plus important serait DEJA de savoir à quoi correspond ce MetafileChecksum="38c46......554c"
avant que de s'attaquer à l'histoire des 8 signatures ...
Peut-être ce MetafileChecksum serait-t-il le Checksum du dossier complet ?
Bonne chance
***** TUTO *****
Modifier la valeur de 'activationRadius' dans 'poidata.db3' pour la porter de <Null> à 250
afin d'être averti plus précocement de la présence d'un radar par le son système "Gloup"
-----------------------------------------------------------------------------------------------------------------------
Mise à jour au 15/02/2018
Recherches non encore terminées ... Tuto en cours d'achèvement
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Préalables requis :
* Notions de base de données sous SQL
* Utilitaire 'SqLiteBrowser3' (pour modifier fichier .db3)
* Utilitaire 'Quick Hash Windows 3' (pour calculer les Checksums, de type SHA-1)
* Utilitaire 'HJSplit' (pour couper le fichier .db3 en plusieurs morceaux de 512K chacun)
Il faut donc suivre la méthode suivante :
Ainsi, pour le cas des 14 radars France (février 2018) issus de Lufop.net
L’on obtient in fine, l'arborescence :
\PersonalPoi
\metainfo2.txt
Cliquer ici pour obtenir cette arborescence initiale (pour VW DM ou VW DP écran 8")
https://drive.google.com/file/d/1aUt1TO ... sp=sharing
Laquelle est ensuite mise sur une SD Card (clé USB pour VW DP) servant à l'injecter dans le Système de Navigation de VW
Discover Media ou Discover Pro (Mise à jour des Pois ou Destinations Spéciales), mais avec un son "gloup" se déclenchant bien trop tard, quasiment à 100/150 mètres du radar, ce qu'il convient de changer.
L'on souhaite donc que ce son "gloup" se déclenche bien plus tôt...
Les 2 fichiers qui nous intéressent sont 'hashes.txt' et 'poidata.db3' qui se trouvent sous
\PersonalPOI\MIB2TSD\personalpoi\ppoidb\1\default\
La base SQL 'poidata.db3' comporte plusieurs TABLES et celle qui nous intéresse est celle nommée
'pPoiCategoryTable' et dont la structure est :
CatId = Integer Unique
Category Default Name = Text non <null>
Warning : (0= pas de son "gloup" et 1= son "gloup")
Warnmessage : text = <Null>
activationRadius : un nombre entier entre 0 et 253 (mettre par ex : 250) au lieu de <Null>
phoneticstring : text = <Null>
iSLocalCategory = <Null>
Version= <Null>
IsDirty = <Null>
Et cela pour toutes les lignes qui correspondent aux sous-catégories de POIs (par ex : pour POIS FR de lufop.net
Il y a 14 lignes ou sous-catégories : FR feu rouge, FR radar fixe 30 FR radar fixe 50,...)
Extrait du contenu initial de 'hashes.txt' (Ce sont des Checksums)
.......................................................................................................
FileName = "poidata.db3"
FileSize = "3874816"
CheckSumSize = "524288"
CheckSum = "11be31e592fb7ece94f9f4c02421f6f456f4e6b4"
CheckSum1 = "5577d729fb9b2054d16b5f15b3f8c5a091db9c3f"
CheckSum2 = "00faac8977dad95b1b872cd24ded51ba0bd18b62"
CheckSum3 = "5fa0d87a831367df485c19a3363d7ddd36c81c32"
CheckSum4 = "6095ccfe9a09d650373aca97cff75e06a31a7c94"
CheckSum5 = "84ba7e69a7b0047599fc5aa83303a9241ed60607"
CheckSum6 = "6b8b82b8a65154600c8d361bf2d4c583a64b023f"
CheckSum7 = "d456fe898e4d59a089aa171d96cb4cbe641c120e"
.....................................................................................................
On note que :
CheckSumSize = 524288 = 512 K
Et que le fichier 'poidata.db3' est donc découpable en 8 parties de 512K chacune (chaque partie correspondant à un Checksum différent).
Tous les Checksums sont de type SHA-1 (codage sur 160 octets)
La 1ère partie (512K) de 'poidata.db3' contient les paramètres des POIS qui sont dans la table nommée 'pPoiCategoryTable' de la base 'poidata.db3', table qui gère tous les paramètres liés à la gestion des POIs et notamment le rayon de déclenchement de l'alerte du son d'avertissement "gloup" (dont le champ est nommé 'activationRadius').
A cette 1ère partie est donc associé
CheckSum1 = "5577d729fb9b2054d16b5f15b3f8c5a091db9c3f"
Les autres Checksums (de Checksums 2 à Checksums 7) sont relatifs aux autres morceaux de 512K et ne nous intéressent PAS.
Une fois que l'on aura donc avec l'utilitaire 'SqLiteBrowser3' modifié (en mode ADMINISTRATEUR sous Windows) dans la table 'pPoiCategoryTable' de la base 'poidata.db3' la valeur 'activationRadius' en la passant de <Null> à 250, l'on sauvegardera donc avec ‘SqLiteBrowser3’ un nouveau fichier 'poidata.db3'
Et l'on y relèvera (pour info) son Checksum qui est évidemment différent de l'ancien.
Maintenant avec l'utilitaire windows 'HJSplit' on va découper en 8 parties de 512K chacune, le nouveau fichier poidata.db3 (contenant la valeur 'activationRadius' modée à 250)
L'on obtient les 8 fichiers suivants de 512K chacun.
poidata.db3.001
poidata.db3.002
...............
...............
poidata.db3.008
Intéressons-nous au 2ème fichier 'poidata.db3.002' et relevons son Checksum SHA-1 afin de nous assurer que celui-ci est IDENTIQUE à celui noté dans le fichier 'hashes.txt' pour la valeur 'CheckSum1' du nom de fichier 'poidata.db3'
Avec l'utilitaire 'QuickHash Windows 3' nous trouvons que ce Checksum est :
5577d729fb9b2054d16b5f15b3f8c5a091db9c3f
Soit donc identique.
Maintenant, intéressons-nous au 1er fichier 'poidata.db3.001' (celui qui nous intéresse car relatif à la table 'PpoiCategoryTable') et mesurons son Checksum (de type SHA-1)
8ef7ed7c872152b576a48c8bc07f10d86416ccd0
Et c'est donc ce Checksum que nous allons reporter dans le NOUVEAU fichier 'hashes.txt'
relativement à la ligne 'Checksum'. Les autres lignes de Checksums n’ont pas à être modifiées.
Nouvel Extrait du contenu de 'hashes.txt'
.....................................................................................................
FileName = "poidata.db3"
FileSize = "3874816"
CheckSumSize = "524288"
CheckSum = "8ef7ed7c872152b576a48c8bc07f10d86416ccd0"
CheckSum1 = "5577d729fb9b2054d16b5f15b3f8c5a091db9c3
CheckSum2 = "00faac8977dad95b1b872cd24ded51ba0bd18b62"
CheckSum3 = "5fa0d87a831367df485c19a3363d7ddd36c81c32"
CheckSum4 = "6095ccfe9a09d650373aca97cff75e06a31a7c94"
CheckSum5 = "84ba7e69a7b0047599fc5aa83303a9241ed60607"
CheckSum6 = "6b8b82b8a65154600c8d361bf2d4c583a64b023f"
CheckSum7 = "d456fe898e4d59a089aa171d96cb4cbe641c120e"
.....................................................................................................
==> Mais le travail n'est pas encore terminé....
Dans l'arborescence, on vois que sous \MIB2TSD, on a :
-> personalpoi (répertoire)
-> meta2info.txt (fichier)
Et dans le fichier meta2info.txt, il y a 1 autre Checksum à venir modifier...
Contenu de meta2info.txt
..............................
...............................
................................
[personalpoi\ppoidb\1\default\Dir]
CheckSumSize = "524288"
CheckSum = "6b25f1272016092e3362f1113814c3532ca19aae"
FileSize = "3894705"
Source = ""
Destination = "/tsd/var/nav/personalpoi/"
Version = "1"
Ce Checksum de taille 512K est relatif à \persoinalpoi\ppoidb\1\default\dir
et il correspond aux fichiers qui se trouvent dans le répertoire en-dessous de \default
là où donc on a bien modifié poidata.db3 et hashes.txt
Donc il faut maintenant venir modifier aussi ce checksum là, celui du répertoire \default qui contient 2 fichiers et 1 répertoire
* poidata.db3 (on y a touché donc checksum a changé)
* hashes.txt (on y a touché donc checksum a changé)
En fait, il faut venir remplacer ce Checksum="6b25f1272016092e3362f1113814c3532ca19aae"
par le Checksum du nouveau fichiers hashes.txt soit "1fd56c636bab7c1bade58f90fa8d6bfe701d723b"
puisque ce Checksum fait bien référence à celui du fichier hashes.txt
Nous avons donc maintenant à notre disposition :
- Le nouveau fichier 'poidata.db3' avec une alerte de son "gloup" se déclencheant plus précocement (environ 400/450 mètres)
- Le nouveau fichier 'hashes.txt'
Il faudra donc utiliser ces 2 fichiers à intégrer dans notre arborescence initiale (à la bonne place) pour effectuer la mise à jour (donc avec un ‘activationRadius’ amélioré) sur notre VW DM ou DP comme classiquement fait.
On notera, pour les plus férus, qu'il est aussi semble-t-il possible de modifier d'autres paramètres dans la table 'pPoiCategoryTable', mais je ne les ai pas essayés... (notamment 'WarnMessage' et 'PhoneticString' qui paraissent bien intéressants…).
Il est aussi recommandé de mettre une valeur de ‘activationRadius’ spécifique pour chaque type de radar.
==> Hélas, notre travail n'est pas encore terminé à ce stade !
Si nous réinjectons cette nouvelle arborescence telle quelle, nous avons toujours un message d'erreur du style "Données non reconnues..."
==> Il faut donc maintenant s'intéresser dans la racine de l'arborescence, au fichier meta2info.txt
qui comporte un Checksum et 8 signatures numériques à la fin...
==> ET là j'ai bien besoin d'aide pour continuer mes recherches...
En effet dans ce fichier meta2info.txt qui est dans la racine de l'arborescence, il y a :
- la valeur MetafileChecksum ="38c46...........1554c"
- puis une liste de signatures...in fine
Le plus important serait DEJA de savoir à quoi correspond ce MetafileChecksum="38c46......554c"
avant que de s'attaquer à l'histoire des 8 signatures ...
Peut-être ce MetafileChecksum serait-t-il le Checksum du dossier complet ?
Bonne chance