В данной новой теме предлагаю обсуждать проблемы получения тайлов с сервера Google Earth и извлечение тайлов из кеша.
Могу выложить информацию которая у меня имеется на данный момент.
Знаете ли вы что существует например программа которая извлекает тайлы GE это программа
скачать можно по ссылке http://google-earth.narod.ru/download/G ... tractor.7z
Хочу поблагодарить Евгения Ведерникова за программу.
C помощью программы можно перевести кеш в вид пригодный для просмотра. После извлечения переименовываем папку KH в SAT, указываем тип кеша "старый" и смотрим кеш GE с помошью SAS-Planet
Только будте готовы к тому что заменить тайлы Google Map тайлами Google Earth не получится. Так как карты в разных проекциях. Google MAP в проекции Меркатора а Google Earth в проекции похожей на равновеликую цилиндрическую Бермана (или простая цилиндрическая).
Система координат Google Earth можно посмотреть на
http://google-earth.narod.ru/htm/grid2d.htm
PS
Если что кеш находися в папке
C:\Document and Settings\user\LocalSettings\Application Data\Google\Google Earth\dbCache.dat
В этой же папке лежит индексный файл dbCache.dat.index
PPS
Если кому интересно могу выложить все что есть у меня по авторизации с сервером GE
Google Earth
Модератор: Tolik
- elf
- Новичок
- Сообщения: 37
- Зарегистрирован: 12 июл 2008, 19:31
- Поблагодарили: 5 раз
- Контактная информация:
Google Earth
ciberhunter
- elf
- Новичок
- Сообщения: 37
- Зарегистрирован: 12 июл 2008, 19:31
- Поблагодарили: 5 раз
- Контактная информация:
Re: Google Earth
ciberhunter
Начну потихоньку выкладывать материалы
Вот часть README из программы GAIA по библиотеке libgefetch
Структура программы
#include <gefetch.h>
/* init library */
gefetch_t handle = gefetch_init();
/* fetch image */
gefetch_fetch_image(handle, X, Y, LEVEL);
/* get data */
size_t jpeg_size = gefetch_get_data_size(handle);
void *jpeg_ptr = gefetch_get_data_ptr(handle);
/* ...work with data... */
/* cleanup */
gefetch_cleanup(handle);
/* jpeg_ptr may NOT be used after cleanup */
<....> пропускаю там содержится инфа аналогичная http://google-earth.narod.ru/htm/grid2d.htm
Инфа по запросам на сервер
Notes on network protocol
~~~~~~~~~~~~~~~~~~~~~~~~~
Google Earth uses plain HTTP, but with it's own auth and simple
encryption.
Most common URLs include:
/geauth - handles authentication
/dbRoot.v5 - file containing key to decrypt all data + some XML
/flatfile?f1-XXX-i.YYY - crypted JPEG image (available only after
auth). XXX is (x, y, level) of an image in google's format, and YYY
is node containing image
/flatfile?q2-XXX - crypted and zlib-compressed metadata (available
only after auth). XXX is (x, y, level) of chunk in google's format.
This contain such info as availability of image and topography data,
as well as node numbers to get data from
/flatfile?f1c-XXX-t.YYY - presumably crypted and zlib-compressed
topography data in unknown format (available only after auth). XXX
is (x, y, level) in google's format, and YYY is node containing
data.
/flatfile?f1c-XXX-d.YYY.ZZZ - unknown (maybe vector data)
To access data, one need to:
1) Authenticate. Process includes two POST requests to /geauth. What
data is transferred is currently unknown (data copy-pasted from
tcpdump of real Google Earth connection just works). Second POST
request contains session id - 80 byte string (see gefetch_auth.c).
Using this string as a cookie (see gefetch_http.c) gives us access
to /flatfile urls.
2) Get /dbRoot.v5, which contains decryption key. This file is
available even without authentication. For decryption algorithm,
see gefetch_crypt.c.
After these two steps, one will have access to /flatfile urls, and
will be able to decrypt retrieved data.
JPEG's are available right after decryption. Other data is also
compressed with zlib and prepended with 8 byte header.
Example application
~~~~~~~~~~~~~~~~~~~
When building gaia, add this options to scons:
cd gaia && scons libgefetch_examples=1
this will compile sample libgefetch programs under examples/.
По поводу файла kh.google.com\ dbRoot.v5
Говорят, что там находится запакованый файл hl=ru-RU&gl=by или hl=ru-RU&gl=ru (смотря какие у вас региональные настройки)
В нем можно узнать версию кеша
- elf
- Новичок
- Сообщения: 37
- Зарегистрирован: 12 июл 2008, 19:31
- Поблагодарили: 5 раз
- Контактная информация:
Re: Google Earth
ciberhunter
На странице http://mapbuilder.by.ru/ge/ находятся утилиты
MergeGECache - утилита для объединения кэшей Google Earth
RecoverGECache - утилита для восстановления кэша Google Earth после сброса
На странице форума
http://www.gps-forum.ru/cgi-bin/forum/s ... &view=&sb=
содержится информация полученная с помощью программы-снифера tcpdump
Что-то молчание гробовое в данной теме...Такое впечатление, что я сам с собой разговариваю
Так же предлагаю в этой теме протокол/кеш NASA World Wind рассматривать.
Кто-нибудь с данной прогой разбирался?
Информация по проекции Google MAP в общих чертах. Простая цилиндрическая проекция
http://earth.google.com/intl/ru/usergui ... tdata.html
Там же показана проекция Меркатора которая используется в Google MAP
Инфа по проекции Меркатора http://ru.wikipedia.org/wiki/Проекция_Меркатора
Там же есть несколько полезных ссылок
Вот еще:
http://portvein777.narod.ru/map/project.htm
- elf
- Новичок
- Сообщения: 37
- Зарегистрирован: 12 июл 2008, 19:31
- Поблагодарили: 5 раз
- Контактная информация:
Re: Google Earth
zed
ciberhunter
zed
Вот здесь http://starmen.at.tut.by мой опыт борьбы с гуглом
Про версии кэша правильно говорят: файл hl=ru-RU&gl=by седьмой байт=версия кэша, можете любым hex-редактором поменять на какую вам больше понравиться...
Разобрался с проекциями GoogleEarth и GoogleMaps на программном уровне, т.е. могу тайлы GE разжимать чтоб картинка не казалась сжатой (тайлы извлечённые GE_JPG_extractor-ом), если кто заинтересован, могу подкинуть подробную инфу.
Интересуюсь:
- расшифровка данных, полученных от GE;
- обратная шифровка картинок, для передачи их клиенту GE;
- и как читать из кэша GE? многие умеют это делать (по-крайней мере авторы MapBuilder и GE_JPG_extractor), но делиться знаниями не желают... и проекты свои не развивают, в общем труба...
ciberhunter
Да остается пользоваться программой с http://google-earth.narod.ru/download/G ... tractor.7z
Алгоритм которым пользуется автор пока непонятен.
zed
А от GAIA толк очень даже!!!
там оказывается рабочий алгоритм дешифровки данных
так что теперь кэш гугла трещит по швам: читаем, дешифруем и делаем что хотим.
Вот алгоритм из GAIA:
unsigned int i, j;
unsigned int keystart = 16;
unsigned int keylen = 0x3f8;
for (i = 0, j = 16; i < handle->datasize; i++) {
handle->data ^= handle->key[j + 8];
j++;
if (j % 8 == 0)
j += 16;
if (j >= keylen) {
keystart = (keystart + 8) % 24;
j = keystart; }
}
Скоро свой аналог GE_JPG_extractor-а забацаю
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Google Earth
Bigbambr писал(а):Ну и?
Работаем
Только, разобравшись с кэшем, возникла идея сделать программу, которая объединяет все версии кэша в одну. Таких ещё, вроде не было... ну а уж потом будем и аналоги штамповать.
-
ciberhunter
- Новичок
- Сообщения: 25
- Зарегистрирован: 14 июл 2008, 08:31
-
zed
- Гуру
- Сообщения: 2888
- Зарегистрирован: 16 авг 2008, 20:21
- Благодарил (а): 89 раз
- Поблагодарили: 568 раз
Re: Google Earth
неа, MergeGECache лишь объеденяет несколько кэшей (и то, неправильно) в один, а я говорю про версии одного кэша...(см. http://starmen.at.tut.by/versii.html) Аналог MergeGECache (но, правильный), кстати, то же планируется.
-
ciberhunter
- Новичок
- Сообщения: 25
- Зарегистрирован: 14 июл 2008, 08:31
-
ciberhunter
- Новичок
- Сообщения: 25
- Зарегистрирован: 14 июл 2008, 08:31