Jump to content
Double Fine Action Forums
Sign in to follow this  
RedLeader

HiddenJournal.txt

Recommended Posts

so it looks like it is actually gonna be possible to make our own rooms and stuff if we want. looking in the AFHack folder i can find all the room folders and other stuff. Really interesting file is the Win/Hidden/HiddenJournal.txt file. Looks like its encrypted. Im trying to decrypt it. Anyone got ideas? things ive tried so far:

1: i thought maybe i could use the decryption statue that Jinn uses... so i put the file into a folder, navigated to the directory it was in in the library, held it as my second book, put it on statue and told it to decrypt. Some warning popped up about the book being destroyed if you use the wrong key, but not sure what key so i click decrypt anyways and BAM.... game crash...

2: I thought maybe the princess room was the key so i copied it into AfHack\Win\Munged\Rooms\TKU (i created TKU) and then renamed it AGbdbzxbvxcz.lua. then walked into one of the glitched tiles in the castle entrance. it said something about couldnt read the bytes or something...

Anyone got a clue as to what to do?

Share this post


Link to post
Share on other sites

There actually is a way to get the book without hacking the data files. However, nobody I have heard of has decrypted the book. I'm fairly positive it's AES encrypted since thats what they included. I could run a brute forcer if we can't find the key, but either way would require a specially made decryption script and it would only work if I were sure of how they formatted the data. It doesn't look like an actual text file so it's probably encrypted from the binary.

Using the pedestal for actual decryption seems to crash the game due to broken code, not just a lack of knowledge of the key itself.

Share this post


Link to post
Share on other sites

Well the key that the lua code uses to call decrypt for PrincessChambers is "With this incantation the princess I do bind and protect.", however it seems like HiddenJournal.txt may have a different key. Asking the game to decrypt that file causes a crash, and I've just been trying some external decryption tools without much success so far.

Share this post


Link to post
Share on other sites

The game cannot decrypt any file at all. There are a few bugs their in the code. I could maybe fix those given a bit of time, but wanted to see what else others discovered.

Share this post


Link to post
Share on other sites

Actually the 'game' in terms of the function AFHack.decrypt is quite capable to decrypting the file as I've just found, now to see if it actually works within the normal game flow. Not too sure about the KeyRoom code.

Share this post


Link to post
Share on other sites

Yep while the game has some bugs, correctly decrypting Brandon's message is not among them. Just need to feed it the right key.

Lovely message once you do :)

Great Job Brandon, hope to see what you put in the full game :)

Share this post


Link to post
Share on other sites

Any chance you could give us an idea of where the key is located??? in game? in files? etc?

Also, did you use an external script to decrypt it or the decryption room with a key. and how do you enter the key

Share this post


Link to post
Share on other sites

I used some external hacking to help track it down at first, but that wasn't really needed, and ultimately its entirely solvable in game - if probably a bit more tedious. I'd rather not post the solution here to give others a chance to work it out since I think in some ways its the final puzzle of the game (don't think this forum has spoiler blocks does it?). But if you'd like a few hints or a full description send me a PM.

Share this post


Link to post
Share on other sites

I'm almost there, got everything, but then crashed the game when I tried to decrypt HiddenJournal.txt, I'll have another go later when I've got some time.

Amazing job Brandon and everyone else on the team, if this gets made into a full game, no hesitation I'll buy it!

- Folcon

Share this post


Link to post
Share on other sites

Phew,

that took longer than expected, but I can confirm that it is possible to solve with in-game means (though I do suggest to channel your inner Hacker, even if you have no clue about Lua - like me :D!)

And yes, it is totally worth it if you want to be called the Master of Unlocking and/or Exploring.

Thanks for this great challenge, DF!

Share this post


Link to post
Share on other sites

Just a note: there is no hint for what the "key" is in game. There is also no hint in the lua. My advice is to just try what you think is the most efficient way to find the key.

(One further note: all the "keys" are really books from the library.)

Share this post


Link to post
Share on other sites

Maybe we should make a marked spoiler thread with the solution.

It may be a shame to do that, but I have a hard time seeing that someone without some basic programming skills will be able to see the message.

On the other hand, the best online hacking challenges tend to manage to keep the solution a secret which in turn really makes one feel really proud of solving it.

Man, the text was certainly ranks up with some of the best rewards that I can remember being given in a game.

Not because it is the best thing I've ever seen, but simply because it was unexpected and quite personal.

Share this post


Link to post
Share on other sites

Yes, and really that is why I'm not going to give the answer away. I'll give hints similar to the one I got, but quite simply I don't want it to be too easy.

Share this post


Link to post
Share on other sites

Yeah I have a complete solution written up that I can send to people, but not sure if I'd want to post it for all to see. Maybe in a week or two? Or just leave it a mystery. If you guys have any ideas for hints to give people towards finding the key let me know, I haven't really been able to come up with much between something really vague and something that pretty much gives it away immediately. Maybe need to a different set of hints for programmers who can dig into the script. Although as Nikkelitous said there isn't really any hints embedded there either.

Share this post


Link to post
Share on other sites

To be honest, if they have the rest of the puzzle, giving them the key itself isn't a big deal since there are no ways to work it out on your own. The rest of the problem can be solved by thinking and exploring. The finding of the key, however, is the potential waste of MANY hours. Honestly, I could have decrypted the book after the first playthrough (maybe 1.5 hours in) if I'd known where the key was.

Share this post


Link to post
Share on other sites

Hey both kingschiebi and I worked it out on our own so it is possible. Be interested in what approach he used, and if also it came down to a dose of luck to get in done in reasonable time.

But yeah I guess that is true, the rest is reasonable puzzle solving, but not so much with the key. Would be awesome if when they rerelease with the missing CreditsRoom they embed a really subtle clue in there. Although not sure how to make a subtle clue for it... but then I'm not an awesome game developer.

Share this post


Link to post
Share on other sites

I never had any prior contact with Lua or MOAI, but I did quite a lot of reverse engineering challenges back in the day - so it was just a matter of getting things going again.

After some research, I ended up with a set of tools and went out to see what happens behind the curtain.

These are the tools used (I don't think that this qualifies as a spoiler):

unluac - Decompiler

Lua for Windows - Compiler/SciTE Editor

I do agree that finding the key took the longest time, although I have to admit that I was pretty stupid at first by playing by the games' rules and not limiting the amount of potential keys.

After that, it still took some time, but I think it is reasonable to spend half a day or even a full day on this - especially if you are not very experienced with the language at all.

While the entire thing is perfectly doable in game, without any additional tools, I can't see how someone would endure that; especially considering that the game crashes if the key is wrong.

Share this post


Link to post
Share on other sites

Yeah I've had minimal contact with lua from fiddling with WoW mods in the past but not much, and none with MOAI.

I used luadec to decompile the files, and replaced some of the original compiled files with basic non-compiled versions. Turned the Wizard at the start into a decryption bot and fed him keys in the code, he still caused the game on crash on failure, but could get back to him pretty quickly for a new run. Got a bit lucky in the order of keys I tried.

Share this post


Link to post
Share on other sites

Yep,

that is pretty much the same thing I did (also made him say dirty things - so crashing felt half as bad only)

Now that you say it, I realize that I could have skipped the re-compile step ... duh!

Share this post


Link to post
Share on other sites

Well didn't know if the non-compiled file would work until I tried. But thought might be like python and such where pre-compilation is optional and just speeds up load times. Although if that was the case then you'd expect them to compile the Munged files too, but maybe there's a workflow difference based on the tools - like that stuff might be written directly by Tiled rather than 2HB. The disadvantage to my approach is that there's no syntax checking until runtime and it doesn't write anything to the log window on fail, just fails to run the script. Still get stacktraces fine when syntax is ok.

Share this post


Link to post
Share on other sites

I also noticed that the decrypted text is too large to fit the ingame dialog window, which might be another argument to solve the entire thing by external manipulation and dumping the code out with a print

Share this post


Link to post
Share on other sites

Arg why didn't I think of a simple print() statement. Of course the game stdout is connected to that console window.

And here I was doing stuff like:

l_1_0:sayLine("Wizard", sDecryptedBook)

l_1_0:sayLine("Wizard", string.sub(sDecryptedBook, 100))

l_1_0:sayLine("Wizard", string.sub(sDecryptedBook, 200))

l_1_0:sayLine("Wizard", string.sub(sDecryptedBook, 300))

l_1_0:sayLine("Wizard", string.sub(sDecryptedBook, 400))

l_1_0:sayLine("Wizard", string.sub(sDecryptedBook, 500))

...etc

But a single

 print(sDecryptedBook) 

works perfectly

Share this post


Link to post
Share on other sites

This is such a neat puzzle, I'm trying to find the key now but I'm torn between my curiosity and my laziness.

Share this post


Link to post
Share on other sites

I've actually done some more fiddling around and it seems that it's not quite as hard in some ways than we had been assuming. But still not that easy. It's totally worth following of on imo.

Share this post


Link to post
Share on other sites

I only changed the TKU/AGbdbzxbvxcz-Exit in Overworld/Castle to point to Dungeon/PassCodeRoom and there added a new exit back at 3840/4864, so I could skip Castle/DungeonEntrance while figuring stuff out and still mostly take the normal route through the game. It took me a while to figure out how the key-selection works, mostly because I thought I would have to provide it after selecting the encrypted message. Then I got lucky by deciding to pick the most straightforward key instead of thinking too much about what would be meaningful. At this point digging through the game on various levels of abstraction was an incredible experience, I couldn't have imagined in the end the game would blend everything this way. As this topic shows it's a nonlinear way to the message, moving in and out of the game and blurring the line of what is still part of playing it.

Share this post


Link to post
Share on other sites

I get the feeling that the CreditRoom.lua will probably contain the hint towards what the key is. I havent tested it with more than the one i used to decrypt it. It may be possible to use more than one thing as the correct key depending on how the decrypt works.

Share this post


Link to post
Share on other sites
I get the feeling that the CreditRoom.lua will probably contain the hint towards what the key is. I havent tested it with more than the one i used to decrypt it. It may be possible to use more than one thing as the correct key depending on how the decrypt works.

We don't have the CreditsRoom, either ;)

Think about what things do qualify in the first place

Actions speak louder than looks

Share this post


Link to post
Share on other sites

I have the feeling that the credit room has very little in clues and was basically just an add-in for ego sake. Though maybe they will add it in no?

Share this post


Link to post
Share on other sites

Well the key is what is most logically obvious. In a number of ways, really.

It is also, technically speaking, staring you in the face the whole game.

I must say it's an interesting concept for a game, but even after playing the prototype I am unsure how it would fair as a full game. At the very least you would need more conventional weapons, because spending the whole game with the grapple would get tedious fast. It would be applauded if it happened though.

Edit: The base for the credits room is there. At the very least enough to get an idea for what is inside of it. The assets for it are even included...

Share this post


Link to post
Share on other sites

I looked inside the data folder for the credit room. looks like there is some sort of interaction with something in that room. Maybe its just talking to the pictures to find out their name, or it could be the clue that is needed. Maybe he pulled a Phil Fish and wanted us to brute force it?

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...