Want early access to new videos and some behind the scenes content? Consider becoming a channel member ua-cam.com/channels/QvW_89l7f-hCMP1pzGm4xw.htmljoin
As a Finnish software engineer I can say this is the first time in my life I have seen anyone write (in production) functions or even variable names in Finnish. Like I might sometimes as a joke write some temporary debug variables in Finnish out of frustration, but this is something else entirely.
True obfuscation is being tri or more lingual and coding in all languages you know so the person who's trying to do stuff with your code cant just translate it all with 1 language :D
My guess is they simply used visual scripting. I refuse to believe a programmer would ever willingly write code with any language other than English, but I can easily see how someone had been naming nodes and transitions with Finnish words on their graphs and then Unity translated it into the code automatically.
Instead of the player being scared, the developer gets to be jumpscared by this video on his youtube feed and wondering if you're about to bully his code instead
As Finnish person, I found this episode very amusing :-D Though all the typos and inconsistent capitalizations in code hurts me! Few translations if still unclear: OlkkarinJaMakkarinOviAnim = Living room and Bed room Door Anim makkariTaulu2 = Bed room Painting 2 makkariRouva = Bed room Lady silmaMakkarissa = Eye in Bed room LisaaPahatMonsut = Add Bad Monsters
google translate give you "sausage" because the real word is "makkara". and "makkari" is the colloquial way to say "bedroom" (so probably not in its dictionary)
Finnish slang is incredibly varied across regions of Finland (and even abroad), so I get why an AI-based (I think) translator software couldn't keep up with it
@@Zooiest IDK if it's AI based. Googles translate service has been around for a long time. If they haven't changed it out to be "AI", then it's probably still not "AI" But who am I kidding, these companies will slap "AI" on everything, nowadays, because it's the thing to do.
For unity games there are so many nice tools. So if someone would like to modify a game a more realistic way you could either: - Patch the Assembly-CSharp dll with dnspy which would work but be lost after every update. - Use Harmony to patch the methods or fields at runtime and using unity doorstop to inject itself at the game start. - Use HarmonyX with a mod loader like BepInEx or MelonLoader. (Would say this is the easiest way) This is pretty easy to do when the game is not obfuscated and using normal mono. When it's using IL2Cpp there is much more work needed but can also be done with HarmonyX and BepInEx or MelonLoader. Either way nice video as always ^^
I like this idea, it's really relatable for me to be interested in a creepy game, but not liking jumpscares. Now I'm curious if you also had a bad experience with the Maze Game at some point (or another occurence of the exorcist jumpscare). That one kept haunting me throughout my teenage years. (Don't look it up if you don't know it yet!! You don't want to see that image, even outside of a jumpscare context!) I think it's the worst jumpscare of all (except maybe Escape the Ayuwoki).
9 місяців тому+1
To be clear, with “worst jumpscare” I kind of meant “best jumpscare”, so it's excellent at it's job, but horrible for everyone who hates these things.
I really enjoy this channel. Digging into the mind of some of these developers make me feel good that my game is also held together with rubber bands and chewing gum
Question: If I understood this correctly, then you wrote a program that would scan the whole (?) system memory for a specific sequence of values and then even write to that memory address. I thought there was protection in Windows against this sort of thing? Spying and writing to other processes' memory?
There not real protection for processes running at the same privilege level. You can go to Task Manager, right click any process and “Create dump file”, I just did the same thing in code
I would like to say that I enjoy your videos, but you could delivery more details of each project (maybe separated videos). I think you produce a lot in very compact videos. All very interesting, but I would love to see more how you struggle / implemented each alternative (like in the videos that you compare typescript, C++, C#, you just talked and never disclosed the full fun of building each raytracing in each platform). Thank you for sharing your work.
🙂In my opinion, you should do both! your contents remember a lot of javidx9 or Bisqwit, but I think there is a lot of space for contents on hacking, patching, like you did with old games that looses compatibility with new OS. Thanks again, hope hearing more from you in the future.@@nathanbaggs
Hi, have you seen the new UEVR virtual reality injector, it hooks Unreal engine to make thousands of UE games VR compatible - has a variety of compatibility options and motion controller inputs. Would be amazing to see you make an in depth analysis of it as it follows similar game hacking techniques.
I randomly clicked on this video in my feed and after laughing at the Finnish code, I was not expecting to see this comment (I am the UEVR dev). It would definitely be interesting to see an outsider's perspective on how I went about what I did in that project and what they think. There is an article on my site that goes into some really in-depth detail about how I achieved what I did, but this is again - still from my perspective.
This was pretty cool, but I couldn't exactly figure out what you set out to do? Did you just automate the game, like creating a TAS for speedrunning that plays through the game for you? I thought initially your plan was to detect and remove/alert before jumpscares, but it seems like you were going for something completely different, only even after watching the entire video, I couldn't quite figure out what that was. Probably because I haven't played the game, so I don't exactly know what you're supposed to do in it.
Thanks for the feedback, this is the problem when trying to make a story around a game people might not have played. It kind of ended up being a cross between automating the game and patching the memory to remove specific game events
@@nathanbaggs it was still wicked cool! I love these videos showing how you can dig into the code of existing software and mess around with it. It's like the mature version of those Cheat Engine videos I would watch as a kid trying to get free Premium on Club Penguin, haha! I don't know if it's something you'd be interested in doing, but I would love a sort of overview on how one could get into learning this sort of stuff.
ok, if I want to make reverse engineering more difficult either use unhelpful variable names, or a non english language. This is not an exclusive or. spaghetti code also seems to help
Love your vides. Please please please consinder "hacking" The Sims 2 to be playable on modern hardware if possible. PCGamingWiki has some workarounds but nothing that actually works out to be fully usable in any meaningful way.
@@nathanbaggs That's fair - I realised that that was your intention as I went further in the video. However, even for inspection I do recommmend having a look at dnSpy, I just find it much nicer to use than dotPeek - but that's just personal preference :)
kaynnistyykoItestaanUudestaan käynnistyykö Itestään Uudestaan Does it start, by itself, again. I'm Finnish, and also sorry of this finnish amator style :)
I'm fairly certain that this game had been programmed by visual scripting. I refuse to believe there exists a programmer that would code a more or less serious project using primarily their native language words as names for variables and functions. But I can see how someone had been dropping nodes onto the screen and naming them with their native words which got automatically pushed into the code by Unity.
Want early access to new videos and some behind the scenes content? Consider becoming a channel member ua-cam.com/channels/QvW_89l7f-hCMP1pzGm4xw.htmljoin
Who needs a dotfuscator license when you can just write code in Finnish, that’s genius
Agreed. No one understands our beautifull weird language. Even ChatGPT and Google have hard times with the language
2:10 Pro tip to Unity devs: You don´t need to encrypt the metadata when your code is written in Finnish.
Security through obscurity was yesterday, security through Finnish is now.
🇫🇮 Finlandia, Op.26
As a Finnish software engineer I can say this is the first time in my life I have seen anyone write (in production) functions or even variable names in Finnish. Like I might sometimes as a joke write some temporary debug variables in Finnish out of frustration, but this is something else entirely.
True obfuscation is being tri or more lingual and coding in all languages you know so the person who's trying to do stuff with your code cant just translate it all with 1 language :D
Also they should use savonian dialect for extra obfuscation.
Alao that code looks more scary than the game itself lol
My guess is they simply used visual scripting. I refuse to believe a programmer would ever willingly write code with any language other than English, but I can easily see how someone had been naming nodes and transitions with Finnish words on their graphs and then Unity translated it into the code automatically.
Instead of the player being scared, the developer gets to be jumpscared by this video on his youtube feed and wondering if you're about to bully his code instead
Did not think I'd be laughing at Finnish Spaghetti Code today, but was pleasantly surprised.
Made me laugh when I opened it up (:
As Finnish person, I found this episode very amusing :-D Though all the typos and inconsistent capitalizations in code hurts me! Few translations if still unclear:
OlkkarinJaMakkarinOviAnim = Living room and Bed room Door Anim
makkariTaulu2 = Bed room Painting 2
makkariRouva = Bed room Lady
silmaMakkarissa = Eye in Bed room
LisaaPahatMonsut = Add Bad Monsters
"If we aren't past number 6969..."
Thanks for both the reverse engineering and the dry humour, much appreciated!
The fact that you used dotPeek and it was surprise Finnish IL language is hilarious.
As a Finnish software architect this code hurts my soul.
As a horror game. I feel like the code continues to do a good job.
Please tell me “in the eye sausage” isn’t correct…
Makkara = sausage
Makkari = bedroom
:(
Sanoppa muuta
google translate give you "sausage" because the real word is "makkara". and "makkari" is the colloquial way to say "bedroom" (so probably not in its dictionary)
minirop spotted
I was hoping someone would provide some clarification, was very sceptical “in the eye sausage” was correct
@@nathanbaggs you've never heard that hit song by Survivor?
Finnish slang is incredibly varied across regions of Finland (and even abroad), so I get why an AI-based (I think) translator software couldn't keep up with it
@@Zooiest IDK if it's AI based. Googles translate service has been around for a long time. If they haven't changed it out to be "AI", then it's probably still not "AI"
But who am I kidding, these companies will slap "AI" on everything, nowadays, because it's the thing to do.
For unity games there are so many nice tools. So if someone would like to modify a game a more realistic way you could either:
- Patch the Assembly-CSharp dll with dnspy which would work but be lost after every update.
- Use Harmony to patch the methods or fields at runtime and using unity doorstop to inject itself at the game start.
- Use HarmonyX with a mod loader like BepInEx or MelonLoader. (Would say this is the easiest way)
This is pretty easy to do when the game is not obfuscated and using normal mono.
When it's using IL2Cpp there is much more work needed but can also be done with HarmonyX and BepInEx or MelonLoader.
Either way nice video as always ^^
The code is more scary than the game
You know it's got to be a great game when a variable that stores a game object is named "timothyF**k" in the developer's native language.
I can’t decide if sausage table2 or that switch statement is more frightening 😳
The beginning of Finlandia by Jean Sibelius was a nice touch
Thanks 🇫🇮
Great job. It really seems like every one of your videos just gets better and better! Continue the amazing and interesting work!!
Thanks!
aw man i was looking forward to in the eye sausage!
Great video, man. Love it!
Seeing that finnish code brings PTSD flashbacks from a legacy project I was working on some years ago
I’ve wanted to do this with phasmaphobia so badly lol, I get so scared but the game is so fun
Makkari is slang for Makuuhuone which translates to Bedroom.
Nice job Translate!
“in the eye sausage" gets me every time haha.
Might want to wear goggles
I like this idea, it's really relatable for me to be interested in a creepy game, but not liking jumpscares. Now I'm curious if you also had a bad experience with the Maze Game at some point (or another occurence of the exorcist jumpscare). That one kept haunting me throughout my teenage years. (Don't look it up if you don't know it yet!! You don't want to see that image, even outside of a jumpscare context!) I think it's the worst jumpscare of all (except maybe Escape the Ayuwoki).
To be clear, with “worst jumpscare” I kind of meant “best jumpscare”, so it's excellent at it's job, but horrible for everyone who hates these things.
I am familiar with the Maze Game. There's no single traumatic event that made me not like horror games, I've just never liked them (:
Nathan does a jumpscare by changing his white shirt to a Hawaiin shirt 😱
I really enjoy this channel. Digging into the mind of some of these developers make me feel good that my game is also held together with rubber bands and chewing gum
I like your videos. I feel like they are great for programmers who are past beginner but want to get more intermittent to advance.
Question: If I understood this correctly, then you wrote a program that would scan the whole (?) system memory for a specific sequence of values and then even write to that memory address. I thought there was protection in Windows against this sort of thing? Spying and writing to other processes' memory?
There not real protection for processes running at the same privilege level. You can go to Task Manager, right click any process and “Create dump file”, I just did the same thing in code
I would like to say that I enjoy your videos, but you could delivery more details of each project (maybe separated videos). I think you produce a lot in very compact videos. All very interesting, but I would love to see more how you struggle / implemented each alternative (like in the videos that you compare typescript, C++, C#, you just talked and never disclosed the full fun of building each raytracing in each platform).
Thank you for sharing your work.
Thanks for the feedback! It’s always a balancing act to know how much technical detail to include vs telling an entertaining story
🙂In my opinion, you should do both! your contents remember a lot of javidx9 or Bisqwit, but I think there is a lot of space for contents on hacking, patching, like you did with old games that looses compatibility with new OS. Thanks again, hope hearing more from you in the future.@@nathanbaggs
Hi, have you seen the new UEVR virtual reality injector, it hooks Unreal engine to make thousands of UE games VR compatible - has a variety of compatibility options and motion controller inputs. Would be amazing to see you make an in depth analysis of it as it follows similar game hacking techniques.
I randomly clicked on this video in my feed and after laughing at the Finnish code, I was not expecting to see this comment (I am the UEVR dev). It would definitely be interesting to see an outsider's perspective on how I went about what I did in that project and what they think.
There is an article on my site that goes into some really in-depth detail about how I achieved what I did, but this is again - still from my perspective.
The Observation games are genuinely genius. Observation Duty 5 in particular is the pinnacle, far far creepier than the likes of Resi Evil.
2:48 first look and im already scared, this is what horror games should look like
I thought you were going to change the resources, so that the jumpscare corpse would be a cute teddy bear instead
This was pretty cool, but I couldn't exactly figure out what you set out to do? Did you just automate the game, like creating a TAS for speedrunning that plays through the game for you? I thought initially your plan was to detect and remove/alert before jumpscares, but it seems like you were going for something completely different, only even after watching the entire video, I couldn't quite figure out what that was. Probably because I haven't played the game, so I don't exactly know what you're supposed to do in it.
Nice information.
Thanks for the feedback, this is the problem when trying to make a story around a game people might not have played. It kind of ended up being a cross between automating the game and patching the memory to remove specific game events
@@nathanbaggs it was still wicked cool! I love these videos showing how you can dig into the code of existing software and mess around with it. It's like the mature version of those Cheat Engine videos I would watch as a kid trying to get free Premium on Club Penguin, haha!
I don't know if it's something you'd be interested in doing, but I would love a sort of overview on how one could get into learning this sort of stuff.
I have some stuff in the pipeline for that (:
Point of order: jumpscares aren't horror, they're just lazy. Destroy this game
ok, if I want to make reverse engineering more difficult either use unhelpful variable names, or a non english language.
This is not an exclusive or.
spaghetti code also seems to help
Love your vides. Please please please consinder "hacking" The Sims 2 to be playable on modern hardware if possible. PCGamingWiki has some workarounds but nothing that actually works out to be fully usable in any meaningful way.
I remember getting sims 2 to work on Windows 10 not that long ago, not sure if I'm misremembering now
I'm almost sure you can run it on moderm PC. It just missing something.. ex. DirectX 9 or smth
TimeMovesOnAndSomethingHappens()
My favourite function
dude i love watching gab smolders play the observation duty games lmfao. would never expect you in a million years to RE this specific game! cool.
Glad you enjoyed it!
How do you do this without risking a VAC ban on your account?
The game isn't VAC-protected
I don’t know what is worst. fiinish, or obfuscation
Absolutely crazy! this was the kind of thing I always dreamed about doing. haha
8:41 In the eye sausage… 🤣
👁️🌭
How did all the Finnish programmers end up here? Suomi perkele :DDD
🇫🇮
SinäTuubi alkoritmi
Try to reverse engineer a Denuvo protected game. Thats the real fun
I’m curious why you used dotPeek instead of say dnSpy to both decompile and edit & recompile the assembly?
dotPeek is just my go to for things like this and I wanted to mess around with low level windows process hacking
@@nathanbaggs That's fair - I realised that that was your intention as I went further in the video. However, even for inspection I do recommmend having a look at dnSpy, I just find it much nicer to use than dotPeek - but that's just personal preference :)
kaynnistyykoItestaanUudestaan
käynnistyykö Itestään Uudestaan
Does it start, by itself, again.
I'm Finnish, and also sorry of this finnish amator style :)
My feeling when I try to understand a open source Chinese project hahahaahahha. The greatest anti reverse engineering
I'm fairly certain that this game had been programmed by visual scripting. I refuse to believe there exists a programmer that would code a more or less serious project using primarily their native language words as names for variables and functions. But I can see how someone had been dropping nodes onto the screen and naming them with their native words which got automatically pushed into the code by Unity.
That’s an interesting hypothesis
I love these games
this is so me fr (i also hate horror games and am coder kinda)
Sausage lady.. it's maaaam!
obfuscation through finnish
what the... i work for IT in germany and we code in english, like normal people
Epic
❤❤❤😊
"Promosm"
How about just don't play horror games?
6969 😏
Nice video - as always :)