| QUICKLY SOLVING JIGSAWEXPLORER PUZZLES
2024-03-28
BACKGROUND
I was contacted this week by a geocacher called Dominik who, like me, loves
geocaching.... but hates it when the coordinates for a cache are hidden behind
a virtual jigsaw puzzle.
A popular online jigsaw tool used by lazy geocache owners is Jigidi: I've come
up with several techniques for bypassing their puzzles or at least making them
easier.
Dominik had been looking at a geocache hidden last week in Eastern France and
had discovered that it used JigsawExplorer, not Jigidi, to conceal the
coordinates. Let's take a look...
|
|
I experimented with a few ways to work-around the jigsaw, e.g. dramatically
increasing the "snap range" so dragging a piece any distance would result in
it jumping to a neighbour, and extracting original image URLs from
localStorage. All were good, but none were perfect.
For a while, making pieces "snap" at any range seemed to be the best hacky
workaround.
Then I realised that - unlike Jigidi, where there can be a congratulatory
"completion message" (with e.g. geocache coordinates in) - in JigsawExplorer
the prize is seeing the completed jigsaw.
|
|
Let's work on attacking that bit of functionality. After all: if we can bypass
the "added challenge" we'll be able to see the finished jigsaw and, therefore,
the geocache coordinates. Like this:
HACKAROUND
Here's how it's done. Or keep reading if you just want to follow the
instructions!
* Open a jigsaw and try the "box cover" button at the top. If you get the
message "This puzzle's box top preview is disabled for added challenge.",
carry on.
* Open your browser's debug tools (F12) and navigate to the Sources tab.
* Find the jigex-prog.js file. Right-click and select Override Content (or Add
Script Override).
* In the overridden version of the file, search for the string -
e&&e.customMystery?tt.msgbox("This puzzle's box top preview is disabled for
added challenge."): - this code checks if the puzzle has the "custom mystery"
setting switched on and if so shows the message, otherwise (after the :) shows
the box cover.
* Carefully delete that entire string. It'll probably appear twice.
* Reload the page. Now the "box cover" button will work.
The moral, as always, might be: don't put functionality into the client-side
JavaScript if you don't want the user to be able to bypass it.
Or maybe the moral is: if you're going to make a puzzle geocache, put some
work in and do something clever, original, and ideally with fieldwork rather
than yet another low-effort "upload a picture and choose the highest number of
jigsaw pieces to cut it into from the dropdown".
LINKS
|