如何对 .RIB 文件进行逆向工程?
How to reverse engineer a .RIB file?
2019年我买了一个Zeal Optics Transcend GPS护目镜,价格很低
这些google是Recon Instruments生产的,后来被英特尔收购了。技术非常好,我可以在白天和家里查看我的统计数据。
因为 google 是在 2012/2013 年上市的,所以我买的时候技术有点老,但我仍然可以将数据上传到 http://reconinstruments.com/ 并且我可以在线查看我的统计数据
然后,在 2020 年左右的某一天,无法再访问仪表板,网站已关闭,所有 Zeal Optics Transcend GPS 护目镜所有者都无法将数据上传到仪表板。
但是护目镜上的监视器仍在工作,收集数据,如果我将护目镜连接到我的电脑,我可以看到我每天去滑雪时生成的 DAY08.RIB 文件。
Notepad++ 上的文件看起来像这样:
因为互联网是一个很棒的地方,所以我在我的 same situation and on the Intel blog someone suggested to use this GitHub repository 中找到了其他人,其中包含一个 .jar 和一个 .java 文件,用于将 *.RIB 转换为 *.GPX。
存储库运行良好!
但是缺少温度信息。
有什么方法可以对 .RIB 文件进行逆向工程,因为我认为在转换过程中不会获取温度信息。但他们必须在那里。某处。
编辑:如果你想下载副本,我放了其中的 3 个 here
编辑 2: 刚从冰箱中取出的新数据 here。如您所见,每天生成 2 个文件:DAY14 和 EVENT14,但第二个几乎是空的。护目镜从 14° 开始,并在冰箱中说 30 分钟。当我把它们从冰箱里拿出来时,显示器上的温度是 8°,最高达到 15°。
GPX 的第一个目标不是提供完整的 activity 格式,而是仅通过 waypoints 提供地理路由。也就是说,您可以通过与您共享的存储库相同的代码将您的温度值添加到您的 GPX 文件中(通过分叉存储库来实现它,通过提交 PR 或请求功能)。
但是,请记住
您可能会在使用它们以及在任何标准 GPX 查看器中获取温度值时遇到困难
(技术上可以使用它们,但具有自定义值的 GPX 可能会破坏其中一些解析)
最后,我认为您可以使用其他软件打开您的 RIB 文件,以在良好的字符集中获取值(没有尝试过,但看起来您在 NotePad++ 中遇到了 Windows CP1252 转换)。这可以让您更全面地了解您需要做什么来获取通过格式映射的值。
Post 脚本
恕我直言,最佳解决方案是使用另一种开箱即用的支持此类值的格式,例如 TCX(有点过时,但用例是面向体育活动的文本格式)。因此需要您自己编写一个新的 Rib 到 Tcx 转换器。
巧合的是,我刚刚在 github 上分享了一个项目,我完全按照你的要求做了这个项目,但这是为了 Recon Instruments 的 Snow2 护目镜。这是存储库:https://github.com/stevenhgs/rib-to-gpx-file-converter
在 README 中,您可以看到我是如何对其进行逆向工程的。
快速查看您的文件后,我发现您的文件数据与 Snow2 护目镜生成的文件的结构不同。所以我分享的程序不适用于你的文件。但是,我能够看到您的跟踪点大小为 20,而且我已经能够在该数据中看到时间、经度和纬度。
文件DAY05.rib的activity发生在16:48附近,纬度46.xxx,经度6.xxx是否正确?
2019年我买了一个Zeal Optics Transcend GPS护目镜,价格很低
这些google是Recon Instruments生产的,后来被英特尔收购了。技术非常好,我可以在白天和家里查看我的统计数据。
因为 google 是在 2012/2013 年上市的,所以我买的时候技术有点老,但我仍然可以将数据上传到 http://reconinstruments.com/ 并且我可以在线查看我的统计数据
然后,在 2020 年左右的某一天,无法再访问仪表板,网站已关闭,所有 Zeal Optics Transcend GPS 护目镜所有者都无法将数据上传到仪表板。
但是护目镜上的监视器仍在工作,收集数据,如果我将护目镜连接到我的电脑,我可以看到我每天去滑雪时生成的 DAY08.RIB 文件。
Notepad++ 上的文件看起来像这样:
因为互联网是一个很棒的地方,所以我在我的 same situation and on the Intel blog someone suggested to use this GitHub repository 中找到了其他人,其中包含一个 .jar 和一个 .java 文件,用于将 *.RIB 转换为 *.GPX。
存储库运行良好!
但是缺少温度信息。
有什么方法可以对 .RIB 文件进行逆向工程,因为我认为在转换过程中不会获取温度信息。但他们必须在那里。某处。
编辑:如果你想下载副本,我放了其中的 3 个 here
编辑 2: 刚从冰箱中取出的新数据 here。如您所见,每天生成 2 个文件:DAY14 和 EVENT14,但第二个几乎是空的。护目镜从 14° 开始,并在冰箱中说 30 分钟。当我把它们从冰箱里拿出来时,显示器上的温度是 8°,最高达到 15°。
GPX 的第一个目标不是提供完整的 activity 格式,而是仅通过 waypoints 提供地理路由。也就是说,您可以通过与您共享的存储库相同的代码将您的温度值添加到您的 GPX 文件中(通过分叉存储库来实现它,通过提交 PR 或请求功能)。
但是,请记住 您可能会在使用它们以及在任何标准 GPX 查看器中获取温度值时遇到困难 (技术上可以使用它们,但具有自定义值的 GPX 可能会破坏其中一些解析)
最后,我认为您可以使用其他软件打开您的 RIB 文件,以在良好的字符集中获取值(没有尝试过,但看起来您在 NotePad++ 中遇到了 Windows CP1252 转换)。这可以让您更全面地了解您需要做什么来获取通过格式映射的值。
Post 脚本
恕我直言,最佳解决方案是使用另一种开箱即用的支持此类值的格式,例如 TCX(有点过时,但用例是面向体育活动的文本格式)。因此需要您自己编写一个新的 Rib 到 Tcx 转换器。
巧合的是,我刚刚在 github 上分享了一个项目,我完全按照你的要求做了这个项目,但这是为了 Recon Instruments 的 Snow2 护目镜。这是存储库:https://github.com/stevenhgs/rib-to-gpx-file-converter
在 README 中,您可以看到我是如何对其进行逆向工程的。
快速查看您的文件后,我发现您的文件数据与 Snow2 护目镜生成的文件的结构不同。所以我分享的程序不适用于你的文件。但是,我能够看到您的跟踪点大小为 20,而且我已经能够在该数据中看到时间、经度和纬度。
文件DAY05.rib的activity发生在16:48附近,纬度46.xxx,经度6.xxx是否正确?