A guide to achieve all “Exploit” achievements. You should try to get these achievements on your own because it is extra fun puzzle solving, but if you are stuck you can take a look at this guide.
How to Obtain Exploit Achievements
Here is a link to the game source code, and you will need this to solve these puzzles.
Exploit: undocumented
Call the undocumented function.
Hint: check this part of source code.
Solution: create a script file with .ns or .js file extension. Inside main function, write:
ns.exploit();
Run the script, and you should get this achievement.
Exploit: bypass
Circumventing the ram cost of document.
Hint: check this part of source code.
Hint: function calls increase memory cost, but strings do not.
Solution:
eval("ns.bypass(document)");
Exploit: prototype tampering
Tamper with the Numbers prototype.
Hint: check this part of source code.
Solution:
Number.prototype.toExponential = function() { return ""; }
You probably need to wait for a while until you get this achievement.
Exploit: unclickable
Simple script to get unclickable:
const doc = eval("document");
/** @param {NS} ns **/
export async function main(ns) {
const unclick = doc.getElementById("unclickable");
const handler = Object.keys(unclick)[1];
unclick[handler].onClick({ target: unclick, isTrusted: true });
}
Exploit: alternate reality
For alterate reality: I changed the Console.warn to a debugger function, open the debug menu and when it hits the first break point change the value of ‘e’ to true (the variable is not called x like in the source code, I think it’s obfuscated).
Thanks for the article :). The info you shared helped me figure out the alterReality one, the source code is what gives it away. I won’t spoil it for you but if you’re stuck feel free to chuck me a message.