Vra

'n Vriend van my grootgemaak hierdie questiont hy ander dag, hy het onlangs 'n moniter toestel Garmin hartklop wat track hou van sy hartklop en hom toelaat om sy hartklop statistieke te laai vir 'n dag na sy rekenaar gekoop.

Die enigste probleem is daar is geen linux bestuurders vir die Garmin USB-toestel, hy het daarin geslaag om 'n paar van die data, soos die model nommer en sy gebruikers besonderhede interpreteer en het geïdentifiseer dat daar is 'n paar binêre datatables wese wat ons aanvaar verteenwoordig 'n reeks van opnames van sy hartklop en die tyd van die opname is geneem.

Waar begin 'n mens wanneer reverse engineering data wanneer jy weet niks oor die struktuur?

Was dit nuttig?

Oplossing

Ek het dieselfde probleem en het aanvanklik gevind dat hierdie projek op Google Code wat daarop gemik is om 'n kruis-platform-weergawe van gereedskap te voltooi vir die Garmin-toestelle ... sien: http://code.google.com/p/garmintools/ . Daar is 'n skakel op die voorblad van die projek om die protokolle wat jy nodig het, wat Garmin was bedagsaam genoeg om in die openbaar te laat.

En hier is 'n direkte skakel na die Garmin I / O spesifikasie: http: // www.garmin.com/support/pdf/IOSDK.zip

Ander wenke

Ek wil begin kyk na die data in 'n heksadesimaal redakteur, hopelik 'n goeie een wat die mees algemene enkoderings weet (ASCII, Unicode, ens) en dan probeer om sin daarvan te maak uit die data wat jy weet dit gestoor.

As 'n ander plakkaat genoem, reverse engineering kan harige wees, nie in die praktyk maar in wettigheid.

Dit gesê, kan jy in staat wees om alles wat verband hou met jou wortel vraag aan die hand van uitcheck hierdie projek en sy "kode te vind ... en hulle doen hanteer die naaswenner se hartklop / GPS combo data sowel

http://www.gpsbabel.org/

Ek raai jy begin met die nagaan van die wettigheid van reverse engineering in jou land van herkoms. Die meeste lande het baie streng wette oor wat toegelaat word en wat nie met betrekking tot reverse engineering toestelle en kode.

Ek wil begin deur te sien watter data word deur die toestel gestuur, dan kyk hoe sulke data kan verteenwoordig en verpak.

Ek sou eerste vang baie monsters, en kyk of enige patroon hom voordoen, aangesien hartklop is iets wat gereeld en dat sou raai dit is meting wat verband hou met die hart self. Ek wil ook kyk vir bietjie velde wat Monotoon is aan die toeneem, so dat 'n soort van tyd stempel sou raai.

Met gevorm n hipotese vir wat waar, ek het 'n program om dit te toets en die grafiek van die resultate en kyk of dit sinvol sou skryf. As dit maar nie heeltemal, dan nadere ondersoek sal waarskynlik openbaar jy hier of daar moet 'n paar skalering faktore. Dit is ook heeltemal moontlik Ek moet eers die data te verwerk voordat dit iets wat hul program toon, dit wil sê dalk nodig om die data punte te integreer lyk. As ek gemors te kry, dan is dit terug na die tekenbord: -)

Ek sou ook seker die vervaardiger se webwerf, of miskien hardloop strings op hul program. Dit vind van iemand wat in die veld van biomediese ingenieurswese werk sou ook op my lys, as hulle waarskynlik sou weet wat protokolle tipies gebruik word, indien enige. Ek wil ook kyk vir hierdie protokolle en kyk of enige toegepas kan word om die data wat ek sien.

Ek sal begin deur die skep van 'n hex dump van die data. Vind dit waarskynlik geblokkeer in sommige power-van-twee-grootte stukke. Begin soek na die herhaling van patrone. Dink oor watter soort inligting wat hulle waarskynlik stuur. Óf hulle opname elke hartklop individueel, of hulle opname wat ook al die sensor stuur op vasgestelde intervalle. As dit is individuele slae, dan is daar gaan 'n tyd delta (sedert die laaste beat), 'n duur, en 'n maksimum of avg krag van 'n soort wees. As dit is n vaste intervalle, dan sal dit waarskynlik 'n eenvoudige vektor van lesings wees. Daar sal waarskynlik 'n aanhef van 'n soort, met 'n begin datum en tyd en die sampling rate wees. Jy kan probeer om te ontsyfer die tyd stempel jouself, of jy kan probeer net voed dit te ctime() en kyk of hulle met behulp van standaard absolute tyd formaat.

Hou in gedagte dat baie goedkoop A / D converters net produseer 12-bit uitgange, so jou lesings is onwaarskynlik dat groter as 16 stukkies (en die hoë-orde 4 stukkies kan gebruik word vir vlae) wees. Ek sou aanbeveel Herstel van die toestel so dat dit "leeg", storting en die stoor van die inhoud, neem dan 'n stel lesings, teken die resultate (wat ook al die toestel gewoonlik verslae), dan weer te stort die inhoud en probeer om die aangeteken resultate korreleer met alles wat data verskyn nadat die "leeg" dump.

onseker of dit is wat jy soek, maar Garmin het 'n API wat loop met die leser geskep. Dit lyk OSX ondersteun, sowel as Windows bruisers ... Ek sal probeer om dit uit Google Chroom om te sien of dit in plaas gebruik kan word van hierdie reverse engineering ...

http://developer.garmin.com/web-device/garmin -communicator-plugin /

API funksies

  

Auto-opsporing van toestelle verbind tot 'n rekenaar Toegang tot toestel   produk inligting soos naam van die produk en sagteware weergawe Lees   spore, roetes en waypoints van ondersteun ontspanningsgeriewe, fiksheid en   navigasie toestelle Skryf spore, roetes en waypoints te ondersteun   ontspanningsgeriewe, fiksheid en navigasie toestelle Lees fiksheid data uit   ondersteun fiksheid toestelle Geo-kode adres en red 'n toestel soos 'n   waypoint of gunsteling Lees en skryf Garmin XML-lêers (GPX en TCX) as   sowel as binêre lêers. Ondersteuning vir die meeste Garmin-toestelle (USB, USB   massa-opberging, die meeste seriële toestelle) Ondersteuning vir Internet Explorer,   Firefox en Chrome op Microsoft Windows. Ondersteuning vir Safari, Firefox   en Chrome op Mac OS X.

Kan jy sintetiseer n hartklop die gebruik van iets soos 'n rekenaar spreker? (Ek het geen idee hoe sulke toestelle eintlik werk). Kyk hoe die binêre resultate verander op grond van verskillende insette.

Rippen uitmekaar die toestel en uitcheck wat binne waarskynlik sal help ook.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top