Hacker News new | past | comments | ask | show | jobs | submit login
Google Earth Reverse Engineering (github.com)
342 points by benzinschleuder 3 months ago | hide | past | web | favorite | 37 comments

"Reverse engineering" seems a bit pointless when Google has open sourced the code for Google Earth Enterprise:


(Update: The client was not open sourced, just the server.)

However, this doesn't give you carte blanche to use Google's own imagery:


That project seems to use some other kind of API. It does not handle real octree/3d data AFAIK. I've only seen quadtree and terrain elevation stuff there.

That's an interesting TOS.

I've never before seen "fair use" called out as an explicit allowance in terms of copyright restrictions by the part of the copyright holder. It's not entirely clear to me what that would even imply.

I suspect they're trying to give more reassurance to "personal, non-commercial use is allowed as long as you don't hit our servers too hard" --- which seems to be their stance on a lot of their other services too.

It may have implications in countries where fair use is not a thing.

I feel like it's to explicitly allow b-roll for media.

Could you point to a description of the protocols and formats for the 3D data in that documentation please?

I wonder why the latest release is over 800MB compressed... I doubt that includes the actual imagery either.

It looks like they include install files for all 3rd party dependencies like postgres, python, openssl, etc.

I hope this gets mirrored somewhere else, because I don't trust GitHub to not cave in to legal demands despite RE being legal regardless of EULA in parts of the world, and the extra attention this gets may otherwise kill it.

From what I've seen, GitHub will only respond to a DMCA request for takedown, and Google very rarely files those (I think I saw one in the GitHub DMCA notice repo for an entire internal published source repo once, could be misremembering). Google doesn't usually fight with lawyers instead of tech (e.g. making scraping more difficult).

Not saying you shouldn't fork or fear, but GitHub and Google are generally good actors compared to others.

Definitely had the same observation that Google prefers subterfuge through obscurity/difficulty as opposed to legal methods. Their open source projects are notoriously impossible to build.

Yes, but MS now owns Github and MS might have a different viewpoint in terms of copyright than GH has traditionally had.

Why do you suspect that?

I can't speak for OP, but microsoft hasn't had the best relationship with open source in the past,[1] and they are a pretty litigious company.[2] however, their strategy seems to have changed significantly in recent years and I seriously doubt they will change how github operates. if anything, github has improved since it was acquired.

1. https://en.wikipedia.org/wiki/Halloween_documents

2. https://en.wikipedia.org/wiki/Microsoft_litigation

Not OP, but I'd say because IIRC it's now a different CEO.

MS has traditionally been a software company, and has a LOT of court experience over the last 40 years regarding copyright and lawsuits when it comes to code and IP. I just think they might have a different viewpoint than GH has traditionally had, since GH's business is completely different than traditional MS businesses. The post I was responding to was talking about GH in the past and what they might do based on that. I'm just saying there's a recently new owner who might look at it differently, so past behavior might not be the best indicator for this since it's being run by a different corporation now.

Since they are a different sort of company, with another legal attack surface.

Going after GitHub means that GitHub has to shut down and the opponent sticks with their legal costs.

When attacking Microsoft they have enough cash to pay you out (in case they lose or they accept a payment to make you shut up) and the case might disrupt Microsoft enough to give you an advantage in a different field.

Not saying that Google would sue Microsoft. Would be very bad for their image. But a risk evaluation is different.

Just clone it and move on

I do that for anything that looks predictably hot

You think google is going to send a cease and desist letter to github based on someone’s work reverse engineering google’s App in Chrome?

And if they do that, nobody will have a copy of this source code?

> You think google is going to send a cease and desist letter to github

Wouldn't be the first time, either: https://www.zdnet.com/article/google-shuts-down-gaia-efforts...

TL;DR: They shut down an open source GEarth clone called Gaia a decade ago, although they managed to not to lose a lot of karma over that due to graceful handling.


NASA's WorldWind is a similar project for those interested - https://github.com/NASAWorldWind/WebWorldWind

docs - https://worldwind.arc.nasa.gov/web/

Once you have an OBJ file, you can 3D print it:


If you want a 3D model of your office building or something.

Do you have a better guide to this? The model seems to be infinitely thin, which makes it unprintable in all the slicers I've tried.

I'm so glad that this has been made, I tried working on something like this a while ago but gave up after struggling for a bit. At the time I was surprised it didn't exist yet.

I'm wondering though if Google'll eventually patch things so this doesn't work, or if they're not too bothered by people grabbing data like this.

In the “old”, initial days (circa 2005-2006) they weren’t bothered by this, I remember they released the GMaps public API back then as a result (among other factors) of some people reverse engineering the public-facing interface. If I’m not mistaken one of the first projects that was using the reverse-engineered version (before the API was made public) was the former Chicago Crime website, one of the first Django installations.

The book 'Never Lost Again' (2018) tells the keyhole/Google Maps story line. https://www.goodreads.com/book/show/35820393-never-lost-agai... Actually I left with the impression nobody involved had a good plan what Google Maps should be after launch. API was an afterthought.

Love this, but I'm getting an error:

"DeprecationWarning: Buffer() is deprecated due to security and usability issues"

Opened an issue: https://github.com/retroplasma/earth-reverse-engineering/iss...

That's not an error, just a warning. You can proceed using it just fine.

This is amazing. Would it be practical to download an entire town or small city?

Can be done, although high LOD takes a while and the current implementation might eat up all memory. You can run it in parallel though. Shard by octants :)

this is sick. how did you figure out the numeric schemes and even have the idea to look where you did?

Mainly lived inside Chrome's dev tools for many nights. Its deobfuscator and debugger is very handy. Still scratched my head lots of times along the way. Some interesting stuff is still missing, e.g. no idea yet how they get octant paths from geo coordinates.

That's kind of funny that Google wrote both the obfuscated code and the deobfuscator.

The obfuscation isn't necessarily a deliberate attempt at hindering reverse engineering, but a result of their optimizing JS compiler and Protobuf-to-JSON-bridge.

What do you mean by deobfuscator? It's de-minifier that just makes it pretty-printed (with the "{}" icon?)

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact