Difference between revisions of "Heartbound"

From Game Detectives Wiki
Jump to: navigation, search
[checked revision][checked revision]
m
Line 16: Line 16:
 
__TOC__
 
__TOC__
  
== Phase 1 ==
+
== Chapter 1 ==
  
The first page to Phase 1 can be found in the bottom-right corner of the [https://www.gopiratesoftware.com/games/Heartbound/ About], [https://www.gopiratesoftware.com/games/Heartbound/Cast/ Cast], and [https://www.gopiratesoftware.com/games/Heartbound/FAQ/ FAQ] pages of the site. Clicking on the glitched crack will take you to the first page titled [https://www.gopiratesoftware.com/games/Heartbound/TheLightBeckons/ "Glowbringer"].
+
===Glowbringer===
 +
 
 +
The first page to Chapter 1 can be found in the bottom-right corner of the [https://www.gopiratesoftware.com/games/Heartbound/ About], [https://www.gopiratesoftware.com/games/Heartbound/Cast/ Cast], and [https://www.gopiratesoftware.com/games/Heartbound/FAQ/ FAQ] pages of the site. Clicking on the glitched crack will open the first page titled [https://www.gopiratesoftware.com/games/Heartbound/TheLightBeckons/ "Glowbringer"].
 
[[Image:Guardian_Glyphs.png|thumb|300px|The translation guide for the glyphs.]]
 
[[Image:Guardian_Glyphs.png|thumb|300px|The translation guide for the glyphs.]]
 
On the page, there are 2 sets of guardian glyphs. They translate to:
 
On the page, there are 2 sets of guardian glyphs. They translate to:
Line 26: Line 28:
 
     This mind is a collective
 
     This mind is a collective
 
</pre>
 
</pre>
 +
 +
In the source code, a puzzle can be found. This sets the pattern for pages like this. The source code reads:
 +
 +
<pre>
 +
<div class="@Party | @....">
 +
    <!-- GsvWzipmvhhVmxilzxsvh -->
 +
</div>
 +
<!-- No matter how bright their hearts seem. -->
 +
<!-- Do not trust them. →
 +
</pre>
 +
 +
This can be split into 2 parts. The first part being the div class, the second being the 2 comments below. The comments don’t seem to relate to anything necessary to solve this part. The div class however is the puzzle. <code>"@Party | @...."</code> is the hint to solving the comment inside. Another word for a party, is a bash. Add @ before bash and you end up with Atbash which is the cipher used on the text in the comment. So throwing <code>GsvWzipmvhhVmxilzxsvh</code> through an atbash decoder will get <code>TheDarknessEncroaches</code>. If you add that phrase onto the end of the URL for this page, you will get [https://www.gopiratesoftware.com/games/Heartbound/TheLightBeckons/TheDarknessEncroaches/ this page] which will lead players to the next part.
 +
 +
===Darksider===
 +
 +
The second page to Chapter 1, [https://www.gopiratesoftware.com/games/Heartbound/TheLightBeckons/TheDarknessEncroaches/ “Darksider”], features the same glyphs found in the first, translating them gives the following:
 +
 +
<pre>
 +
    We are closer to the source now
 +
    Memory is the key to this mind
 +
</pre>
 +
 +
In the source code for the page, another puzzle can be found, and it reads:
 +
 +
<pre>
 +
<div class="Signal">
 +
    <!-- *%%$*$%*%*$****$%%%$%%%$***$*$%***$%%%$%$**** -->
 +
</div>
 +
<!-- Keep your head down and keep moving. -->
 +
<!-- This is the way it should be. -->
 +
</pre>
 +
 +
Just like the first page, it can be divided into 2 parts. The div class, containing the puzzle and a hint, and the 2 comments below that don’t offer help for this particular part. Taking a look at the div class, <code>”Signal”</code>, which is a hint to the two different signal durations found in morse code. Looking at  <code>*%%$*$%*%*$****$%%%$%%%$***$*$%***$%%%$%$****</code> it’s obvious that the standardized characters have been switched, with “*” being a dot, “%” being a dash, and “$” acting as a space between sequences, switching the characters for the standardized ones we get <code>.-- . -.-. .... --- --- ... . -... --- - ....</code>, running that through a morse code decoder you will get <code>WECHOOSEBOTH</code>. Like the first puzzle, adding that to the end of the URL for this page, gets [https://www.gopiratesoftware.com/games/Heartbound/TheLightBeckons/TheDarknessEncroaches/WeChooseBoth/ “Guardian”], which leads to the 3rd puzzle.
 +
 +
===Guardian===
 +
 +
[https://www.gopiratesoftware.com/games/Heartbound/TheLightBeckons/TheDarknessEncroaches/WeChooseBoth/ This page] follows the same pattern as the 2 before it.The glyphs translate to:
 +
 +
<pre>
 +
    This world is our undoing
 +
    This world is our beginning
 +
</pre>
 +
 +
The source code this time reads:
 +
 +
<pre>
 +
<div class="13 + 64">
 +
    <!-- ITuyEzylp3ECMxI2MKW5I29lMN -->
 +
</div>
 +
<!-- This will never work. -->
 +
<!-- You are making a mistake. -->
 +
</pre>
 +
 +
As before, the 2 comments below the div don’t help with the puzzle. The hint for the puzzle is <code>"13 + 64"</code>, and this is hinting towards using Rot13 and Base64 together. First, applying rot13 ,code>ITuyEzylp3ECMxI2MKW5I29lMN</code> and then putting it through a base64 decoder. The output will be <code>TheFirstOfEveryWord</code>. Once again, if adding that to the end of the URL will lead you to the [https://www.gopiratesoftware.com/games/Heartbound/TheLightBeckons/TheDarknessEncroaches/WeChooseBoth/tbiaitmiacwacttsnmitkttmtwioutwiob/ next page.]
 +
 +
===The Virtue===
 +
 +
[https://www.gopiratesoftware.com/games/Heartbound/TheLightBeckons/TheDarknessEncroaches/WeChooseBoth/tbiaitmiacwacttsnmitkttmtwioutwiob/ “The Virtue”], unlike the other pages, doesn’t feature an image but instead is completely black. This page’s source code reads:
 +
 +
<pre>
 +
<div class="Have">
 +
    <!-- 22NBK4456824048 -->
 +
    <!--  6*;48†5(7 -->
 +
</div>
 +
<!-- Will you listen to me now? →
 +
</pre>
 +
 +
This time the div class contains 3 puzzles that result in one phrase, <code>”Have”</code> is the first one and it’s exactly what it says, so the first part of the word is <code>Have</code>, taking a look at the second puzzle, <code>22NBK4456824048</code>, they can be recognized as MGRS coordinates, which is the geocoordinate standard used by NATO militaries for locating points on Earth, searching them on Google Maps takes you to “Patience”, in French Guiana, “Patience” being the solution to the second puzzle we get the second part of the word, making it <code>HavePatience</code>, the last puzzle <code>6*;48†5(7</code>, due to the use of “†” it  was identified as the Gold-Bug cipher, which was created by Edgar Allan Poe and featured in the short story by the same name, running the encrypted text through a decoder you will get <code>InTheDark</code>, this concludes the set of puzzles making the word <code>HavePatienceInTheDark</code>. Adding that to the end of the current URL will take you to the last page of Chapter 1, [https://www.gopiratesoftware.com/games/Heartbound/TheLightBeckons/TheDarknessEncroaches/WeChooseBoth/tbiaitmiacwacttsnmitkttmtwioutwiob/HavePatienceInTheDark/ “Don’t Hit That Button”].
 +
 +
===Don’t Hit That Button===
 +
 +
[https://www.gopiratesoftware.com/games/Heartbound/TheLightBeckons/TheDarknessEncroaches/WeChooseBoth/tbiaitmiacwacttsnmitkttmtwioutwiob/HavePatienceInTheDark/ This] is the final page for Chapter 1. The source code includes a puzzle again along with 2 more comments:
 +
 +
<pre>
 +
<div class="25615185 235 3151420914215>
 +
    <!-- 8592 8592 8593 8595 8594 8595 8595 8595 8592 8594 8594 8593 8593 -->
 +
</div>
 +
<!-- I had hope for this one. -->
 +
<!-- Time to start again. -->
 +
</pre>
 +
 +
This time, the hint isn’t as straightforward. The hint is a letter-number cipher and if breaking it up gets <code>2 5 6 15 18 5 / 23 5 / 3 15 14 20 9 14 21 5</code>. This then decodes into <code>Before we Continue</code> which is a hint for what to do with the next part.
 +
 +
The comment in the div shows some HTML character entities, which when decoded display a sequence of arrows: <code><big><big><big> ← ← ↑ ↓ → ↓ ↓ ↓ ← → → ↑ ↑ </big></big></big></code>.
 +
 +
==Chapter 2==
 +
 +
===See me Say me===
 +
[[Image:HB_achievement.png|thumb|300px|The achievement gained after inputting the code in the game.]]
 +
Using the code given at the end of Chapter 1 mixed with the hint leads players to input the code when first launching the game before pressing the continue button. Once the code has been successfully inputted, a faint laughter will be heard and the player will gain an achievement (steam version only) titled “Laughing Man”. After this happens, all the guardian glyphs that appear ingame will be translated so you can read them, as well as the game dropping a new file into the save directory named <code>SeeMeSayMe.thor</code>.
 +
 +
Save folder location:
 +
<pre>
 +
Windows: %localappdata%\Heartbound
 +
Linux: ~/.config/Heartbound
 +
Mac: ~/Library/ApplicationSupport/com.piratesoftware.heartbound
 +
</pre>
 +
 +
Opening this file with a text editor will show [https://pastebin.com/e83HASuk a huge string of characters].
 +
 +
The “==” at the end gives it away that it is base64 encoded, but running it through a base64 to text decoder will result in garble text. Instead, a PNG header can be found when looking at the top. With this new info, running the code through a base64 to image decoder (as opposed to text), yields this image:
 +
 +
[[Image:Index.png|thumb|300px|The image after decryption.]]
 +
 +
This puzzle is similar to another one made by Jason “Thor” Hall (The game director and founder of Pirate Studios and the person behind this ARG) in 2015, called [https://www.potatopla.net/crypto/challenges/17/ “Play Rude”]. The name of the puzzle itself is a reference to the Playfair Cipher, but this one has a couple of twists, it features 4 tables and the encrypted text is in clusters with repeated letters. Taking a look at the encrypted text, it was found that the letters repeat 4 times at max, this was used to quickly deduce that the number of times a letter repeats was a indication to what table to use out of the 4 available. Because of this, the coded text, <code>NNIII - UUUMMM - SSQQ - VVVVNNNN - YSSSS - QBBB - TIII - TTTLLL - YYXXXX</code> was translated to <code>DI - AN - RF - KL - SU - IE- DN - EC - RE</code>, reading the first letter of each grouping, then the second one or writing the sequence vertically like so:
 +
<pre>
 +
DI
 +
AN
 +
RF
 +
KL
 +
SU
 +
IE
 +
DN
 +
EC
 +
RE
 +
</pre>
 +
Will result in the string <code>Darksider Influence</code>, like in Chapter 1, putting this string right at the end of the HeartBound URL will give you a new page, in this case it’s called [https://www.gopiratesoftware.com/games/Heartbound/DARKSIDERINFLUENCE/ “Pact”].
  
 
{{WIP}}
 
{{WIP}}

Revision as of 02:59, 10 April 2019

Heartbound
Active since 2019-4-5
Heartbound poster 1mb.jpg
An ARG created around the game Heartbound.
Type Official
Creator Pirate Software
Discovered 2019-4-5

Main Page > List of Investigations > Heartbound

Heartbound is an ARG created around the game of the same name. The ARG was discovered on April 5th, 2019 which started by finding the trailhead page on any of the pages on Pirate Software's website for the game.

Chapter 1

Glowbringer

The first page to Chapter 1 can be found in the bottom-right corner of the About, Cast, and FAQ pages of the site. Clicking on the glitched crack will open the first page titled "Glowbringer".

The translation guide for the glyphs.

On the page, there are 2 sets of guardian glyphs. They translate to:

    This body is an illusion
    This mind is a collective

In the source code, a puzzle can be found. This sets the pattern for pages like this. The source code reads:

<div class="@Party | @....">
    <!-- GsvWzipmvhhVmxilzxsvh -->
</div>
<!-- No matter how bright their hearts seem. -->
<!-- Do not trust them. →

This can be split into 2 parts. The first part being the div class, the second being the 2 comments below. The comments don’t seem to relate to anything necessary to solve this part. The div class however is the puzzle. "@Party | @...." is the hint to solving the comment inside. Another word for a party, is a bash. Add @ before bash and you end up with Atbash which is the cipher used on the text in the comment. So throwing GsvWzipmvhhVmxilzxsvh through an atbash decoder will get TheDarknessEncroaches. If you add that phrase onto the end of the URL for this page, you will get this page which will lead players to the next part.

Darksider

The second page to Chapter 1, “Darksider”, features the same glyphs found in the first, translating them gives the following:

    We are closer to the source now
    Memory is the key to this mind

In the source code for the page, another puzzle can be found, and it reads:

<div class="Signal">
    <!-- *%%$*$%*%*$****$%%%$%%%$***$*$%***$%%%$%$**** -->
</div>
<!-- Keep your head down and keep moving. -->
<!-- This is the way it should be. -->

Just like the first page, it can be divided into 2 parts. The div class, containing the puzzle and a hint, and the 2 comments below that don’t offer help for this particular part. Taking a look at the div class, ”Signal”, which is a hint to the two different signal durations found in morse code. Looking at *%%$*$%*%*$****$%%%$%%%$***$*$%***$%%%$%$**** it’s obvious that the standardized characters have been switched, with “*” being a dot, “%” being a dash, and “$” acting as a space between sequences, switching the characters for the standardized ones we get .-- . -.-. .... --- --- ... . -... --- - ...., running that through a morse code decoder you will get WECHOOSEBOTH. Like the first puzzle, adding that to the end of the URL for this page, gets “Guardian”, which leads to the 3rd puzzle.

Guardian

This page follows the same pattern as the 2 before it.The glyphs translate to:

    This world is our undoing
    This world is our beginning

The source code this time reads:

<div class="13 + 64">
    <!-- ITuyEzylp3ECMxI2MKW5I29lMN -->
</div>
<!-- This will never work. -->
<!-- You are making a mistake. -->

As before, the 2 comments below the div don’t help with the puzzle. The hint for the puzzle is "13 + 64", and this is hinting towards using Rot13 and Base64 together. First, applying rot13 ,code>ITuyEzylp3ECMxI2MKW5I29lMN</code> and then putting it through a base64 decoder. The output will be TheFirstOfEveryWord. Once again, if adding that to the end of the URL will lead you to the next page.

The Virtue

“The Virtue”, unlike the other pages, doesn’t feature an image but instead is completely black. This page’s source code reads:

<div class="Have">
    <!-- 22NBK4456824048 -->
    <!--  6*;48†5(7 -->
</div>
<!-- Will you listen to me now? →

This time the div class contains 3 puzzles that result in one phrase, ”Have” is the first one and it’s exactly what it says, so the first part of the word is Have, taking a look at the second puzzle, 22NBK4456824048, they can be recognized as MGRS coordinates, which is the geocoordinate standard used by NATO militaries for locating points on Earth, searching them on Google Maps takes you to “Patience”, in French Guiana, “Patience” being the solution to the second puzzle we get the second part of the word, making it HavePatience, the last puzzle 6*;48†5(7, due to the use of “†” it was identified as the Gold-Bug cipher, which was created by Edgar Allan Poe and featured in the short story by the same name, running the encrypted text through a decoder you will get InTheDark, this concludes the set of puzzles making the word HavePatienceInTheDark. Adding that to the end of the current URL will take you to the last page of Chapter 1, “Don’t Hit That Button”.

Don’t Hit That Button

This is the final page for Chapter 1. The source code includes a puzzle again along with 2 more comments:

<div class="25615185 235 3151420914215>
    <!-- 8592 8592 8593 8595 8594 8595 8595 8595 8592 8594 8594 8593 8593 -->
</div>
<!-- I had hope for this one. -->
<!-- Time to start again. -->

This time, the hint isn’t as straightforward. The hint is a letter-number cipher and if breaking it up gets 2 5 6 15 18 5 / 23 5 / 3 15 14 20 9 14 21 5. This then decodes into Before we Continue which is a hint for what to do with the next part.

The comment in the div shows some HTML character entities, which when decoded display a sequence of arrows: ← ← ↑ ↓ → ↓ ↓ ↓ ← → → ↑ ↑ .

Chapter 2

See me Say me

The achievement gained after inputting the code in the game.

Using the code given at the end of Chapter 1 mixed with the hint leads players to input the code when first launching the game before pressing the continue button. Once the code has been successfully inputted, a faint laughter will be heard and the player will gain an achievement (steam version only) titled “Laughing Man”. After this happens, all the guardian glyphs that appear ingame will be translated so you can read them, as well as the game dropping a new file into the save directory named SeeMeSayMe.thor.

Save folder location:

Windows: %localappdata%\Heartbound
Linux: ~/.config/Heartbound
Mac: ~/Library/ApplicationSupport/com.piratesoftware.heartbound

Opening this file with a text editor will show a huge string of characters.

The “==” at the end gives it away that it is base64 encoded, but running it through a base64 to text decoder will result in garble text. Instead, a PNG header can be found when looking at the top. With this new info, running the code through a base64 to image decoder (as opposed to text), yields this image:

The image after decryption.

This puzzle is similar to another one made by Jason “Thor” Hall (The game director and founder of Pirate Studios and the person behind this ARG) in 2015, called “Play Rude”. The name of the puzzle itself is a reference to the Playfair Cipher, but this one has a couple of twists, it features 4 tables and the encrypted text is in clusters with repeated letters. Taking a look at the encrypted text, it was found that the letters repeat 4 times at max, this was used to quickly deduce that the number of times a letter repeats was a indication to what table to use out of the 4 available. Because of this, the coded text, NNIII - UUUMMM - SSQQ - VVVVNNNN - YSSSS - QBBB - TIII - TTTLLL - YYXXXX was translated to DI - AN - RF - KL - SU - IE- DN - EC - RE, reading the first letter of each grouping, then the second one or writing the sequence vertically like so:

DI
AN
RF
KL
SU
IE
DN
EC
RE

Will result in the string Darksider Influence, like in Chapter 1, putting this string right at the end of the HeartBound URL will give you a new page, in this case it’s called “Pact”.