As someone who has been reverse engineering since the 90s, I think this tutorial is okay for beginners, but I strongly advise against modifying assemblies physically using methods like hex editing or DnSpy. Not only does it increase risks to anti-cheat detection, but you'll also lose lots of progress when the game updates. A much safer and more effective approach is to create a .NET project that serves as a loader, utilizing HarmonyPatch and reflection to inject patches. This way, you can avoid detection by checksums on physical hard drives at least. Plus, having a repo for modifications allows for easy updating the source code if the game changes in the future.
@nordgaren23583 ай бұрын
@@Plagueheart this is way too much to start with. The point of this game is to teach beginners.
@nordgaren23583 ай бұрын
@@Plagueheart there is a challenge associated with this binary that isnbest done with harmony, though, so that's probably when that will be introduced.
@DarkForce20243 ай бұрын
Would this still apply to offline, single player only games? That's what I'd be interested in.
@Plagueheart3 ай бұрын
@@nordgaren2358 Yes, you are right about it being too much but still i did say it was okay for beginner level, but it could of atleast acknowledged for the end-user on bad practices and how this method is the wrong way of doing because of explained pitfalls
@Alfred-Neuman3 ай бұрын
I tried to do something similar with a single-player racing game by using ILSpy. I didn't even want to cheat, the game is pretty good but is a beta version and has many annoying things like hard coded keys so I wanted to fix a few things (ex. shifting gears with , and .) I don't have enough knowledge for injecting code so I used ILSpy and when I try to compile the reversed code I get one very annoying compiling error and I don't know how to fix it. I'll take a look at HarmonyPatch, seems very interresting.
@threeMetreJim3 ай бұрын
For the apple/fish, I would have tried changing an apple object into a fish object, by looking for the definitions of objects and how they are placed. Your method is much simpler. The ability to place any object anywhere, could have more 'fun' potential instead of just being a simple cheat. The 'you should play basketball' on the first flag seems to indicate the original authors envisioned people modifying the 'jump' to go much higher than usual.
Hopefully this series expands to a game compiled with il2cpp instead of mono. Mono modding is super easy, but il2cpp is a huge pain.
@penewoldahh3 ай бұрын
i really wanna see this too
@washi_dev3 ай бұрын
I would highly suggest not to rely on the C# editor when editing .NET binaries. ILSpy's engine is great, but decompilation remains an imperfect process. In this case you were lucky the decompiler produced 100% correct syntax and semantically equivalent code. This is not generalizable however for larger, more complex methods, especially for binaries with obfuscation applied. Better is to get familiar with CIL, the underlying bytecode of .NET, and edit methods that way. Not only does this prevent incorrect decompiler artifacts, you will also lay a good foundation on making tools that solely operate on this bytecode, which **will** be required for more complicated cases (e.g., for deobfuscation).
@nordgaren23583 ай бұрын
Hey Washi! We aren't really staying on .net for long, anyways. This is just the first game in the defcon challenge. I still think these tools can be good for a first pass, but it's not like Ghidra where I can also see the assembly that the de-compiler is basing it's pseudo code on, which is a bummer. I had a few times during this challenge where I would have much rather been able to look at actual instructions, rather than trusting dnspy, but, he hasn't gotten to those levels, yet.
@person-yq8di3 ай бұрын
@@nordgaren2358 dnSpy has an IL Editor, and IL view option that can view/edit the raw CIL bytecode. Washi is referring to the C# Editor used here (9:28 for example). ILSpy also has an IL view option, but no editing capability.
@hahhaahh77673 ай бұрын
Finally waiting for this topic i used this in mobile. Games its so fun changing models inside the. Game
@johndeaux88153 ай бұрын
This is what got me reinterested in programming and cybersecurity. I downloaded a game mod, realised it was just replacing one file with another similarly sized one, and thought it must just be a slightly modified version of the original, which must be decompileable. So I went looking for a DLL decompiler, found DnSpy, and was surprised to find an extra module called "Discord" floating around 😅 Glad I didn't run the original mod and just found the parts I wanted to change in the original DLL, my Discord token is safe for another day.
@Alveneb3 ай бұрын
with what game did u experience this, please? I'm trying to think of examples to study later
@Mrcool12able3 ай бұрын
I would love seeing this, and then do a comparison between this and say unreal engine. What differs. Can you use the same methods as shown here? Great video!
@trevorayala73683 ай бұрын
I'm enjoying this series, keep em coming!
@fadiallo13 ай бұрын
You Getting Better Keep Going.
@oliver-nation43773 ай бұрын
Love this, pls keep it coming.
@masterneme3 ай бұрын
I've tried this method with actual released games but never got the { } so I guess it doesn't work with IL2CPP games, right?
@Heckatomba3 ай бұрын
1:33 A platypus?
@fr34k093 ай бұрын
I love how I used cheat engine looking like Harry Potter giving himself a wedgie to fly across the hole and not know which file to modify with dnspy, thx for the vid XD
@ThisIsJustADrillBit3 ай бұрын
Perpetual POGGERS 😮❤
@MyRandomness9873 ай бұрын
This looks like so much fun!!! Can anyone do this? I did not know this was a thing!
@Kamerzystanasyt3 ай бұрын
what about unreal engine games
@wermair3 ай бұрын
Childish stuff for beginners. Unity games with Mono backend kinda rare this days. Usually I am facing il2cpp and hooking it using Frida. So maybe John will teach us this method in next video 🤔
@Net-Guru3 ай бұрын
You sir is amazing
@GodzillaJawz3 ай бұрын
Wassup dr John Hammond
@maxime_vhw3 ай бұрын
My first thought would have been to increase jumpheight. Also the "you should play basketball" makes me think that was their solution. But yea doesnt matter how you hack the system if you get the same result :p
@彼らは無生物です3 ай бұрын
hahahaahhaaha now i repeat this in cs2.
@DopeyDopesta3 ай бұрын
I know this is a troll. But DNSpy typically only works with C#. This isn't the case for CS2.
@KillianTwew3 ай бұрын
Plus they won't have a file that is basically called "modify for hacks"
@Josh-dm5sx3 ай бұрын
🤦♂️
@depsep2 ай бұрын
CS2 is made in the Source 2 engine, not the Unity engine. And it’s made with C++.
@BedirSamaАй бұрын
I ended up learning all of Unity just to change values in hentai games, ong 😭😭
@givowo3 ай бұрын
Dnspy my beloved
@juiciestlemonadeofyoutube3 ай бұрын
hows the park bro
@RuthJones-k8v3 ай бұрын
Irving Knoll
@FlazhyVR3 ай бұрын
1st before it goes viral
@Tobi147623 ай бұрын
I've never been this early
@NicolLauren-q4w3 ай бұрын
Christine Unions
@MemoriesInsideMe3 ай бұрын
john u dont need to act as the authority in categories you barely know of
@0xgodson1193 ай бұрын
Nice
@MagnaP3 ай бұрын
I thought cheat engine was deemed unsafe beyond 7.2? Between adwares in the installer and the weird antics of the dev in the code itself.
@anispinner3 ай бұрын
What is the point of the "-modified" file?.. Just keep patching the original file avoiding this redundancy.
@TrebleWing3 ай бұрын
If the game updates it can erase all your work.
@anispinner3 ай бұрын
Then save it *after* you done with it, not each of your 99 iterations.
@riashadibnekaiser86293 ай бұрын
Let's hack (or crack) denuvo DRM🤩
@thecooldudes694203 ай бұрын
Interesting.
@ModernityX3 ай бұрын
meow
@RhizGh0373 ай бұрын
Not first
@CookieGamesHD3 ай бұрын
:-)
@trxsyn3 ай бұрын
im so early bro
@nig3ldoug1as633 ай бұрын
I'm glad to hear, bro.
@pankoza33 ай бұрын
Copyright
@LukeAvedon3 ай бұрын
I love dnSpyEx so very much.
@WhiteGroyper3 ай бұрын
desktop icons not large enough, pass
@WolverineMKD3 ай бұрын
Cheaters/Hackers ruin gaming, as educational this is its more damaging than anything else. Edit: i take it back it might make more good than bad after some good explanation below in this comments comments.
@dedkeny3 ай бұрын
Salty people like you ruined the internet
@ThisIsJustADrillBit3 ай бұрын
People understanding reverse engineering is more important for society than games having cheaters. I think the intention is that reversing games is a great way to attract smart people towards these kinds of skills more broadly.
@npc_tom3 ай бұрын
It also lets (beginner) game devs understand how a cheater/hacker might go about breaking their game, so I'd argue the educational benefits outweigh the potential damage.
@delofj3 ай бұрын
I cannot disagree more on that topic I think, things like this, is the reason why modding in games exists, and the modding community can be really huge for a game And it can even keep some games alive because its servers are done and the publisher no longer cares about it
@stage6fan4753 ай бұрын
The cheaters/hackers are light years beyond this already, so don't worry.