Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 4.21 KB

WRITEUP.md

File metadata and controls

42 lines (32 loc) · 4.21 KB

Cartographer: Write-up

Даётся клон GeoGuessr — игры, в которой по Street View (панорама, по которой можно ходить) надо найти место, где эта панорама началась. Отличия в том, что в этом варианте нет системы очков, да и панорамы тоже нет. Есть только картинка в абсурдно низком разрешении, input с плейсхолдером и интерактивная карта.

Среди первых 124 картинок каждая всего лишь пятая указывает на какое-то лёгкое место. Можно попытаться протыкать их руками, но достаточно быстро начнут попадаться места, которые найти непросто — например, абстрактная дорога.

Как подсказывает интерфейс, общение с сервером происходит через плюс-коды вместо передачи float-ов широты и долготы. Можно заметить подключение внешнего скрипта OpenLocationCode и посмотреть, как координаты с карты выставляются в поле ответа.

От одной маленькой картинки не очень много толку. Поскольку написано, что сложность — «несложная», можно предположить, что решение должно быть каким-нибудь простым действием: таким простым, как, например, заглянуть в её EXIF-метаданные и найти там геометку. Отправляем картинку в любой онлайн-просмотрщик EXIF, забираем координаты и переводим их в плюс-код.

Ручной перевод немного муторный: открыть точку в картах, скопировать плюс-код с человеческим городом, перевести его в правильный через карту плюс-кодов. Как раз против ручного протыкивания и установлено ограничение в 100 метров. Автор задания считает, что страшное «2024» в самом начале должно было отпугнуть от полностью ручного решения.

Через три-четыре картинки утомляемся ручной работой и пишем простой скрипт на питоне, который выдирает геометку и переводит её в плюс-код и отправляет на сервер. Библиотеку для работы с плюс-кодами можно взять с гитхаб-репы с реализацией (там же находится JS-реализация, использованная в задании).

Дальше — дело техники; можно пока расслабиться, так как решение работает около десяти минут.

Нажимая F5, пока работает скрипт, можно заметить, что у автора лень не знает границ, и картинки начинают повторяться. Однако это не повод закидывать один и тот же ответ, так как после 124 раунда картинки выбираются так, чтобы они примерно соответствовали локации в геометке.

Когда солвер отработает, на странице с задачей нас будет ждать sticker.webp и алерт с флагом.

Флаг: ugra_i_am_the_mr_worldwide_lbzvmcrl3nef