January 27, 2022

42 thoughts on “Let's Hack: Terraria, Ep. 1 – .NET Hacking with Cheat Engine (Enumerate DLLs and Symbols)

  1. Hello there,
    I have a problem, i save the cheat but when i go loading it the cheats stop working, i got to do it all over again. Why this happends? can i still save and mantain the cheats in this newer updates?

  2. Perfect! Thank you very much. In the last code (999 Items Left Click) I had some problems while trying to activate the cheat without AOB Injection. I decided not to use the AOB Injection because every time I restart Terraria, some op codes values changed and that causes the AOB fail the scan. After some tests I saw that the problem with the Full Injection method was that the address "Terraria.UI.ItemSlot::LeftClick+279" was injecting at "8B 80 80 00 00 00 mov eax,[eax+00000080]", instead of injecting in "83 B8 80 00 00 00 00 cmp dword ptr [eax+00000080],00" wich is the goal of the hack. For it to work I had to use the address "Terraria.UI.ItemSlot::LeftClick+2d1", but I don´t know why, as the "Memory Viewer Window" show to us that the correct address to the instruction ""83 B8 80 00 00 00 00 cmp dword ptr [eax+00000080],00" was the address "Terraria.UI.ItemSlot::LeftClick+279". I hope you can find why this happens and share to us all. I would like to thank you again for your guied hack lessons that help me a lot thinking out of the box. 😀

  3. Yeah Terraria is a gold mine for cheating. It would be okay if it wasn't also a multiplayer game.
    You showed how to prevent being hurt, but it's more fun to put ret inside Player.KillMe. The health will become negative once you take enough damage.

  4. why you use tracer to find 395 stack of wood and not just search directly for that value, then pick new stack and search new number that your mouse holds, i think is the same but this one is faster xD
    anyway i learn a lot for your vids thank you and keep up the good work ! 🙂

  5. Your videos are so informative. This one is too advanced for me but a joy to watch anyways. BTW, if you have Gauntlet, please consider a video sometime. I've tried figuring out cooldowns, potions, etc., but no luck at my skill level. Looking forward to next videos whatever the game. Big Thanks.

  6. (disclaimer: guessing, based on a bit of experience but still guessing more than anything else lol)
    @6:35 the names before the ::s should indicate the class while the name after should indicate the actual method name. Most modern languages allow for "function overloading", ie. functions with the same name, but require they take different arguments (either number or type), so that's probably what you're seeing there.

    Since IL probably stands for intermediate language, byte code that gets compiled into assembly on your computer in other words, you may be able to look at that some how and see what the arguments are (or at least how many). Though, of course, you can also just look at how the function uses arguments and what calling it.

    C++ has a way of "mangling" symbol names such that they include the method name and the argument information (though I'm not sure how you see those raw symbol names when programs are nice enough to de-mangle them lol), no idea how either mono or .net handles it however.

  7. Instead of going through the instructions in Tracer looking for the value you could click File->Save results to disk as textfile, "name".txt, Save as type: all file (*.*) and use notepad to find the value faster


Leave a Reply

Your email address will not be published.