TUTO : Modifier POIs Warning Alerts dans la base .db3

Les GPS embarqués sur Volkswagen : RNS510 , RNS315...
athon34
Contributeur
Contributeur
Messages : 420
Enregistré le : 02 avril 2016, 23:47
Vehicule(s) : AUDI Q5
GPS : Amundsen écran 8" ( 2 SD Card + client WLAN)
Région / département : herault

TUTO : Modifier POIs Warning Alerts dans la base .db3

Message par athon34 » 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
Modifié en dernier par athon34 le 27 février 2018, 22:28, modifié 5 fois.

Avatar du membre
inforacing
Membre
Membre
Messages : 9
Enregistré le : 12 janvier 2018, 10:04
Vehicule(s) : Skoda Otavia RS 230
GPS : Amundsen 8"
Région / département : Centre / Loiret

Re: TUTO : Modifier POIs Warning Alerts dans la base .db3

Message par inforacing » 05 février 2018, 11:58

Super travail.
Je suis propriétaire d'une Skoda Octavia RS 230 Décembre 2017, GPS Amundsen et je me lance dans la mise à jour de mon GPS.
Pour les cartes, j'ai téléchargé chez Skoda avec le numéro de châssis mais j'hésite vraiment à formater la carte SD pour tout remplacer !
Pour les alertes, j'ai lu attentivement ce tuto très bien fait. Il faut un certain niveau informatique, ce que je pense avoir !
J'ai téléchargé l'arborescence initiale, laquelle s'installe sans problème.
1) je modifie la table sqlite poidata.db3 avec "SqLiteBrowser 3.10.1" Parcourir les données -> pPoiCatégoryTable -> activationRadius
200 pour les 3 premiers et 250 pour les autres -> Enregistrer les modifications.
2) HjSplit 3.0 -> Split -> Input file poidata.db3 -> Split file size 512 -> Start. J'obtiens les 8 fichiers poidata.db3.001 à 008.
3) Quick Hash Windows 3.0.0 (64bits) -> File -> Select File -> poidata.db3.002 -> Switch case.
J'obtiens bien "5577d729fb9b2054d16b5f15b3f8c5a091db9c3f"
avec poidata.db3.001 -> J'obtiens "10f43fba05f237d096bbbbcf7efc0dc288563336"
4) Bloc-notes hashes.txt -> modification ligne 39 CheckSum = "10f43fba05f237d096bbbbcf7efc0dc288563336" -> Enregistrer.
5) Remplace mes 2 fichiers 'hashes.txt' et 'poidata.db3' sur SD\PersonalPOI\MIB2TSD\personalpoi\ppoidb\1\default\
6) GPS -> Information version -> Mise a jour -> Recherche ... -> Données disponnibles Personal POI 2018-02-03 -> Continuer ->
Erreur Mise a jour logiciel -> OK -> Redémarrage.
J'ai du louper quelque chose ?
Je suis preneur d'informations complémentaires.
Merci pour votre aide.

mytheuzen
Contributeur
Contributeur
Messages : 27
Enregistré le : 16 février 2017, 11:19
Vehicule(s) : Peugeot 508 RXH HDI180 EAT6, Toyota Auris II Hybride 136H Dynamic
GPS : SMEG+, Touch&Go 2, iGo NextGen, Sygic Premium

Re: TUTO : Modifier POIs Warning Alerts dans la base .db3

Message par mytheuzen » 06 février 2018, 16:55

Merci athon34 pour ce très bon tuto.

athon34
Contributeur
Contributeur
Messages : 420
Enregistré le : 02 avril 2016, 23:47
Vehicule(s) : AUDI Q5
GPS : Amundsen écran 8" ( 2 SD Card + client WLAN)
Région / département : herault

Re: TUTO : Modifier POIs Warning Alerts dans la base .db3

Message par athon34 » 11 février 2018, 01:03

Pour la mise à jour de la carto. il te faut après sauvegarde de l'ancienne sur ton HDD, formater (quick, FAT 32) ta carte SD card VW d'origine pour venir y dézipper dessus la nouvelle cartographie.
A priori tout semble correct sur tes manips.
Peut-être revérifier s'il ne faut pas encore modifier un autre checksum sur un autre fichier dans l'arborescence dézippée...
Je ne vois que cette possibilité...mais je n'ai pas encore eu le temps de m'y pencher dessus.
--> Mais Essaie déjà de charger dans l'Amundsen 8" l'arborescence dézippée sans toucher à la base .db3 (donc telle quelle) et dis-moi si ça marche OK.


Bon courage

Avatar du membre
inforacing
Membre
Membre
Messages : 9
Enregistré le : 12 janvier 2018, 10:04
Vehicule(s) : Skoda Otavia RS 230
GPS : Amundsen 8"
Région / département : Centre / Loiret

Re: TUTO : Modifier POIs Warning Alerts dans la base .db3

Message par inforacing » 11 février 2018, 10:18

Merci pour l'aide,
Je vais me lancer, après sauvegarde de la carte SD, format puis installation des nouvelles cartes.
Je pense que, comme avec IGO, on peut supprimer les cartes inutiles ?

Pour les alertes, l'arborescence d'origine, sans toucher à la base .db3 s'installe parfaitement.

L'avertissement étant vraiment trop tard, je vais chercher du côté des "checksums".
Peut être le fichier 'hashes.txt' lui même ?

athon34
Contributeur
Contributeur
Messages : 420
Enregistré le : 02 avril 2016, 23:47
Vehicule(s) : AUDI Q5
GPS : Amundsen écran 8" ( 2 SD Card + client WLAN)
Région / département : herault

Re: TUTO : Modifier POIs Warning Alerts dans la base .db3

Message par athon34 » 11 février 2018, 14:46

Bonjour inforacing, et autres intéressés...

Dans l'arborescence, je vois que sous \MIB2TSD, on a :

-> personalpoi (répertoire)
-> meta2info.txt (fichier)

Et dans le fichier meta2info.txt, il y a 2 autres Checksums :

Contenu de meta2info.txt

..............................
...............................
................................
[personalpoi\ppoidb\1\default\Dir]
CheckSumSize = "524288"
CheckSum = "6b25f1272016092e3362f1113814c3532ca19aae"
FileSize = "3894705"
Source = ""
Destination = "/tsd/var/nav/personalpoi/"
Version = "1"
..............................
[personalpoi\InfoFile\1\default\File]
CheckSumSize = "524288"
CheckSum = "a0e00b89384cc06aead2be38f36767f70e6d5a2b"
FileSize = "640"
Source = "Update.txt"
Destination = "/tsd/etc/PoiUpdate.txt"
Version = "1"

Pour les 2 CheckSums visibles :

1- UN est relatif à \persoinalpoi\ppoidb\1\default\dir
avec un checksum qui correspond aux fichiers qui se trouvent dans le répertoire en-dessous de \default
là ou donc on a bien modifié poidata.db3 et hashes.txt

Donc il faut surement 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é)
* \icon (là où sont les icônes) (on y a pas touché)

A mon avis c'est donc le fichier hashes.txt et pour lequel il faudra relever le nouveau Checksum

2- UN relatif relatif au fichier update.txt
Celui-là a pas été touché


Donc je chercherai à modifier le checksum suivant du fichier hashes.txt

Soit ici --> CheckSum = "6b25f1272016092e3362f1113814c3532ca19aae"

--> Or ce CheckSum = "6b25f1272016092e3362f1113814c3532ca19aae" n'est AUTRE que le checksum du fichier initial hashes.txt !!!

Il faudra donc bien aussi venir remplacer dans ce fichier meta2info.txt
cette ancienne valeur de checksum par la nouvelle valeur du chekcsum du fichier hashes.txt modifié (car la valeur activatioradius est passée de <nul> à 250...)

En outre, on note que :

Filesize ="3894705" est la somme des tailles des 2 fichiers

poidata.db3 (3 874 816 octets)
répertoire icon (19 889 octets)

Il faudra donc s'assurer que cette valeur ne change pas (vérifier cela sur les nouveaux fichiers correspondants après changements apportés).
A mon avis ça ne bouge pas.

En conclusion, c'est donc le checksum du nouveau fichier hashes.txt qu'il faudra rapporter pour remplacer l'ancien Checksum

CheckSum = "6b25f1272016092e3362f1113814c3532ca19aae" donc à remplacer par la bonne nouvelle valeur du checksum de hashes.txt


En attente donc de validation de mon hypothèse...
Modifié en dernier par athon34 le 15 février 2018, 18:45, modifié 1 fois.

Avatar du membre
inforacing
Membre
Membre
Messages : 9
Enregistré le : 12 janvier 2018, 10:04
Vehicule(s) : Skoda Otavia RS 230
GPS : Amundsen 8"
Région / département : Centre / Loiret

Re: TUTO : Modifier POIs Warning Alerts dans la base .db3

Message par inforacing » 12 février 2018, 09:09

Bonjour athon34,

J'ai donc fait le checksum du fichier PersonalPOI\MIB2TSD\personalpoi\ppoidb\1\default\hashes.txt modifié
résultat: "1fd56c636bab7c1bade58f90fa8d6bfe701d723b"
J'ai modifié la ligne 52 du fichier PersonalPOI\MIB2TSD\metainfo2.txt: CheckSum = "6b25f1272016092e3362f1113814c3532ca19aae"
remplacé par: "1fd56c636bab7c1bade58f90fa8d6bfe701d723b"

J'ai essayé, ça ne plante plus mais on a le message "Défaut, aucune donnée disponnible ....".
Donc la piste est bonne mais il manque une étape, ça devient un peu compliqué.

Si on remonte l'arborescence, il y a au niveau de la racine, un autre fichier metainfo2.txt,
avec une section de type .ini [common] et une valeur MetafileChecksum = "38c46b401df479f19d3f77f424f66d8f39a1554c"
une section [common_Release_3] concernant le répertoire "./PersonalPOI/MIB2TSD",
puis une liste de 8 signatures !!!
C'est peut être par là qu'il faut gratter encore un peu, faut-il le checksum des 4 metainfo ou du dossier complet ?

athon34
Contributeur
Contributeur
Messages : 420
Enregistré le : 02 avril 2016, 23:47
Vehicule(s) : AUDI Q5
GPS : Amundsen écran 8" ( 2 SD Card + client WLAN)
Région / département : herault

Re: TUTO : Modifier POIs Warning Alerts dans la base .db3

Message par athon34 » 12 février 2018, 11:38

@inforacing
@tr3m0bil

On progresse ...un peu, car il n'y a plus d'erreur majeure qui plante le GPS Amundsen 8" (Discover Media)

En effet j'avais déjà vu que dans ce fichier meta2info.txt qui est dans la racine de l'arborescence, il y avait :

- la valeur MetafileChecksum ="38c46...........1554c"

- et la section que tu dis, puis une liste de signatures...

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 comme tu le suggères le Checksum du dossier complet ? Mais alors comment faire pour calculer ce checksum là ? (celui de toute l'arborescence ...)

==> peut-être que tr30mobil a quelques idées ?

Avatar du membre
inforacing
Membre
Membre
Messages : 9
Enregistré le : 12 janvier 2018, 10:04
Vehicule(s) : Skoda Otavia RS 230
GPS : Amundsen 8"
Région / département : Centre / Loiret

Re: TUTO : Modifier POIs Warning Alerts dans la base .db3

Message par inforacing » 13 février 2018, 10:39

Après quelques essais, il semble que quelle que soit la modification du fichier metainfo2.txt de la racine ça provoque toujours la même erreur "Défaut, aucune donnée disponnible ...." !
En cherchant pour faire un checksum de répertoire, j'ai trouvé cet utilitaire https://idrassi.github.io/DirHash/ qui fonctionne en ligne de commande.
Avec un .cmd c'est plus facile, exemple dans mon test.cmd DirHash.exe "D:\VW Skoda\GPS-Speedcams\FR-LufopFev2018NORMAL" sha1 -t Test.txt
ça semble fonctionner mais pas de résultat plausible pour le moment.

athon34
Contributeur
Contributeur
Messages : 420
Enregistré le : 02 avril 2016, 23:47
Vehicule(s) : AUDI Q5
GPS : Amundsen écran 8" ( 2 SD Card + client WLAN)
Région / département : herault

Re: TUTO : Modifier POIs Warning Alerts dans la base .db3

Message par athon34 » 15 février 2018, 02:08

@inforacing

Et en modifiant MetafileCheckSum du fichier meta2info.txt qui est dans la racine (en le remplaçant par le nouveau
checksum calculé sur toute l'arborescence en dessous, ça te donne rien?

Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités