OVH Cloud OVH Cloud

décodage ???

18 réponses
Avatar
unbewusst.sein
j'ai, dans une base de données, une fonction : get_py_string()

dont je connais, pour certaines valeurs d'entrée, la sortie :

=> 00200 # ce premier cas est une espace
- => 002d0
A => 4e003
B => 4eb83
C => 52283
D => 575e3
E => 5b373
F => 5bea3
G => 5e6e3
H => 61b03
I => 65a51
K => 6c123
L => 6e4d3
M => 745c3
N => 77673
O => 79443
P => 79633
R => 7f923
S => 80dc3
T => 85e93
U => 89521
V => 89522
Y => 91063
Z => 98c73

qq'un connaîtrait-il cet encodage ???

--
Une Bévue

8 réponses

1 2
Avatar
Pierre Goiffon
Une Bévue wrote:
oui, j'essaie de faire une synchro entre mon gsm et mon carnet d'adresse
sur mac.



En précisant le modèle de GSM et le logiciel de carnet d'@ utilisé il y
aurait peut être des pistes à creuser ?
Je serai assez surpris qu'il n'existe aucune documentation nulle part...
Avatar
Denis
Une Bévue wrote:

Denis Beauregard
wrote:


Reverse engineering ???



oui, j'essaie de faire une synchro entre mon gsm et mon carnet d'adresse
sur mac.

jusqu'ici, j'avais "implémenté" cette fonction en retournant une string
***bidon***.

maintenant, j'ai déjà implémenté la vraie fonction get_zy_string
qui retourne le code hexa des 8 premiers caractères du nom d'une
personne concaténé avec son prénom (+upcase) en ajoutant des "00"...

par ex :

puts "'benitezcielo' => #{get_zy_string( 'benitezcielo' )}"
# => 'benitezcielo' => 00420045004e004900540045005a0043
B E N I T E Z C

get_py_string fait "un peu" la même chose sur les 8 premiers caractères
des nom et prénom MAIS l'encodage diffère.

à partir des entrées/sorties je suis parvenu à une correspondance mais
je n'ai pas trouvé le code (encodage) sur le même ex j'ai :

puts "'benitezcielo' => #{get_py_string( 'benitezcielo' )}"
# => 'benitezcielo' => 4eb835b3737767365a5185e935b37398c7352283




et si c'était quelque chose comme du MD5 ?


Denis
Avatar
unbewusst.sein
Denis wrote:


et si c'était quelque chose comme du MD5 ?



j'y ai pensé, mais bon, certains caractères restent quasiment
inchangés.... (notamment les caractères accentués)
--
Une Bévue
Avatar
unbewusst.sein
Pierre Goiffon wrote:

En précisant le modèle de GSM et le logiciel de carnet d'@ utilisé il y
aurait peut être des pistes à creuser ?



le GSM est un Twin-Tact de chez neuf, de modèle e2831 :
<http://www.e28.com/e28mobile/mobile_e2831.htm>
sous linux, la puce OMAP730 étant de TI :
<http://focus.ti.com/general/docs/wtbu/wtbuproductcontent.tsp?templateId
a23&navigationId003&contentIdF76>

Je serai assez surpris qu'il n'existe aucune documentation nulle part...



ben, j'ai regardé sur OpenTwin <http://opentwin.org/> pas grand chose
pour la synchro sur Mac OS X...

je ne suis pas parvenu à "telneter" mon TwinTact depuis mac...

mais bon je fais un save de la base depuis le twin, je connecte le twin
au mac et je récupère la base.

j'ai trouver un moyen de "fabriquer" la fonction "get_py_string" en
utilisant une table de hachage pour les caractères transcodés
"bizarement"...

pour ceux que cela intéresserait :

$char_hash_py = { 'A' => '4e003', 'B' => '4eb83', 'C' => '52283',
'D' => '575e3', 'E' => '5b373', 'F' => '5bea3',
'G' => '5e6e3', 'H' => '61b03', 'I' => '65a51',
'J' => '65a53', 'K' => '6c123', 'L' => '6e4d3',
'M' => '745c3', 'N' => '77673', 'O' => '79443',
'P' => '79633', 'Q' => '7baf3', 'R' => '7f923',
'S' => '80dc3', 'T' => '85e93', 'U' => '89521',
'V' => '89522', 'W' => '89523', 'X' => '8be13',
'Y' => '91063', 'Z' => '98c73' }

(bêtement ontenu en entrant A-Z au clavier du Twin-Tact et en lisant la
base après-coup ;-)

puis la fonction :

def get_py_string( str )
str_ = str.upcase
py = ""
k = 0
for j in 0..7 do # seuls les 8 1iers caractères sont "encodés"...
if k + 1 < str_.length && str_[ k ] > 127 && str_[ k + 1 ] > 127
py << "00#{char_hex( str_[ k + 1 ] + 4 * 16)}0"
k += 2
else
c = str_[ k...( k + 1 ) ]
if $char_hash_py.has_key?( c )
py << $char_hash_py[ c ]
else
py << "00#{char_hex( str_[ k ] )}0"
end
k += 1
end
end
py
end

--
Une Bévue
Avatar
Olivier Miakinen
Le 06/12/2007 16:05, Denis a écrit :

et si c'était quelque chose comme du MD5 ?



Si MD5 était tel que MD5("A" . "B") == MD5("A") . MD5("B"), il n'aurait
jamais eu la notoriété qu'il a. Tout le monde aurait rigolé en le voyant
et serait passé à autre chose.
Avatar
Denis
Olivier Miakinen wrote:

Le 06/12/2007 16:05, Denis a écrit :

et si c'était quelque chose comme du MD5 ?



Si MD5 était tel que MD5("A" . "B") == MD5("A") . MD5("B"), il n'aurait
jamais eu la notoriété qu'il a. Tout le monde aurait rigolé en le voyant
et serait passé à autre chose.



Je voulais dire un encodage avec une sorte de check sum et non du
1 pour 1. J'utilise le MD5 dans un projet et de mémoire, on multiplie
par 3 le nombre de caractères.


Denis
Avatar
Pierre Goiffon
Une Bévue wrote:
En précisant le modèle de GSM et le logiciel de carnet d'@ utilisé il y
aurait peut être des pistes à creuser ?



le GSM est un Twin-Tact de chez neuf, de modèle e2831 :
<http://www.e28.com/e28mobile/mobile_e2831.htm>


(...)
ben, j'ai regardé sur OpenTwin <http://opentwin.org/> pas grand chose
pour la synchro sur Mac OS X...



Etonnant d'utiliser "Open" dans le nom du produit et de mettre autant en
avant l'utilisation d'un Linux si c'est pour cacher aussi bien les
informations ;)

J'avais regardé il y a 2 ou 3 ans chez Sony Ericsson, ils avaient une
doc très claire mais... impossible de retrouver ça aujourd'hui sur leur
site remis à jour :/ Bref c'était à base de commandes AT, comme pour les
modems, extremmement simple du moment que l'on avait la couche
logicielle d'émulation de port COM sur USB ou Bluetooth.
Avatar
unbewusst.sein
Pierre Goiffon wrote:


Etonnant d'utiliser "Open" dans le nom du produit et de mettre autant en
avant l'utilisation d'un Linux si c'est pour cacher aussi bien les
informations ;)

J'avais regardé il y a 2 ou 3 ans chez Sony Ericsson, ils avaient une
doc très claire mais... impossible de retrouver ça aujourd'hui sur leur
site remis à jour :/ Bref c'était à base de commandes AT, comme pour les
modems, extremmement simple du moment que l'on avait la couche
logicielle d'émulation de port COM sur USB ou Bluetooth.



Oui, OpenTwin est un cercle fermé...
--
Une Bévue
1 2