Fixing Multiplayer Of A 25 Year Old Game

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ก.ย. 2024
  • In this video we reverse engineer the networking protocol for Worms 2 to see if we can fix it.
    For details on the community patch and accessing the official servers please join the Worms 2 community discord / discord
    💭 All views are my own 💭
    Worms 2 networking protocol: worms2d.info/N...)

ความคิดเห็น • 162

  • @keiyakins
    @keiyakins 10 หลายเดือนก่อน +415

    Team 17 apparently agreed with you that this was overly complicated, because in Worms Armageddon they ripped the whole thing out and replaced it with an IRC server with some HTTP apis

    • @RobotnikPlays
      @RobotnikPlays 10 หลายเดือนก่อน +28

      I was honestly wondering if a potential solution is to just patch out some/all of the network code with a more modern implementation, rather than trying to stand up an ancient server list/join protocol

    • @halfbakedproductions7887
      @halfbakedproductions7887 10 หลายเดือนก่อน +40

      Honestly, that is probably good enough for a simple turn-based game like Worms. There isn't any serious real-time updating required - just push the data to the other client and let the client game "play back" the action as if it were local real time. IRC is grand, as you could just encapsulate game updates as some kind of text-based chat message.
      On a game like Worms, you don't have to worry half as much about things like keeping physics in sync, client-side prediction, pings and latency management etc.

    • @keiyakins
      @keiyakins 10 หลายเดือนก่อน

      @@halfbakedproductions7887 Once you're actually in-game it uses a different protocol connecting between players directly, it's the matchmaking server that uses the IRC+HTTP thing.

    • @dieSpinnt
      @dieSpinnt 10 หลายเดือนก่อน +13

      @@RobotnikPlays Nope. Nathan's method of emulating the original server is the least invasive. Actually it is non-invasive, so no one has to patch a client or juggle some versions around or add some DLL or stuff ... which leads to all sorts of horrors and uncertainties and frustration, as we know from history.
      I believe you had good intentions, but by adding additional dependencies and excluding the original clients (and with that: time travelers .... hehehehe) you go down the path to the dark side ...:P
      P.S.: Some of those projects reviving the network capabilities of our old beloved games can take years or over a decade to get into a working state. But who cares? Let's rather pay our respect: F. Well, and at all: That is part of the reverse engineering fun;)

  • @publicacct5626
    @publicacct5626 10 หลายเดือนก่อน +318

    This is some of the most accessible reverse engineering content on TH-cam. Thanks! Do you keep any notes while you're doing this work? For me it's essential to have a text doc of discoveries and to rename things/add comments to the decompiled output.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +100

      My aim is to try and make things like this approachable, so I’m glad that comes through.
      My usual approach is to do most of the RE ahead of time and aggressively keep notes, I can then script up a video with a clearer narrative (and cut out most of the bits where I just stare blankly at a debugger hoping for inspiration)

  • @stevobox8726
    @stevobox8726 10 หลายเดือนก่อน +44

    Dude you’ve got a knack for this type of content. I could watch these all day. Please make more!

  • @Woohoojin
    @Woohoojin 10 หลายเดือนก่อน +97

    11k subs is criminally low for how entertaining you make such a frequently frustrating process look. Glad to have stumbled on your channel!

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +4

      Glad you enjoy it!

    • @pkalman2045
      @pkalman2045 10 หลายเดือนก่อน +1

      oh coach banan is also interested in comp sci? and yeah if he just keeps up this quality at least a 100k is to be expected, truly outstanding content

    • @stevobox8726
      @stevobox8726 10 หลายเดือนก่อน +1

      Sitting on 14k now, this channel could be huge

  • @HugoCornellier
    @HugoCornellier 2 หลายเดือนก่อน

    This is incredible content. Keep making videos like these!

    • @nathanbaggs
      @nathanbaggs  2 หลายเดือนก่อน

      Will do!

  • @junebug9320
    @junebug9320 10 หลายเดือนก่อน +22

    3:50, finally my go-to solution of screaming into the void has been validated

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +6

      Sometimes that’s all you can do

    • @damianabregba7476
      @damianabregba7476 10 หลายเดือนก่อน +2

      When you scream into the void, the void screams back at you

    • @Maric18
      @Maric18 10 หลายเดือนก่อน +1

      don't just scream into the void! screaming is a great catch all experimental interface method
      random people ask you to sign up for things on the street? SCREAM
      computer wont start? maybe SCREAMING fixes it
      its 2 minutes before clockout and your boss walks in with more work? GUESS WHAT

  • @santypk5
    @santypk5 10 หลายเดือนก่อน +6

    Please continue making this kind of videos, your work is truly amazing

  • @ChrisRodger87
    @ChrisRodger87 10 หลายเดือนก่อน +8

    Marvellous and inspiring. It's fascinating to see problem-solving at this level. I recall only having to produce one pretty simple program in assembly at university - we all had a mortal fear as students, lol. Most of us thought Java was a tough cookie to crack! Your fluidity and mastery blows my mind!

  • @metalpachuramon
    @metalpachuramon 10 หลายเดือนก่อน +3

    I watched the first part yesterday, so glad that the algorithm blessed me with the fresh upload! Keep up the good work mate

    • @xdan0x
      @xdan0x 10 หลายเดือนก่อน

      Met too! TH-cam at it's best

  • @Frrk
    @Frrk 10 หลายเดือนก่อน +4

    Awesome stuff. I have fond memories of playing Worms 2.
    Online, people mention Armageddon or WWP more often, but I always felt that those added too much convoluted stuff.

  • @hajimemash1375
    @hajimemash1375 10 หลายเดือนก่อน +1

    Best video that finally made RE seem practical and not some black magic! Aside, distance to camera seems decent and moving it back a bit may be even better [the closeup one].

  • @joshxwho
    @joshxwho 10 หลายเดือนก่อน +3

    This is a fantastic introduction to reverse engineering, glad TH-cam recommended me this - I already know the tools but always love a good reverse engineering story.

  • @JRDavison
    @JRDavison 10 หลายเดือนก่อน +2

    Mate, this is unreal. I've learnt so much. Thanks heaps for making it. I glad it's you and not me though, looks pretty tricky.

  • @sandwich2473
    @sandwich2473 10 หลายเดือนก่อน +4

    This is a really really interesting project, thank you for going through the process and showing it to us :O

  • @LightTheMars
    @LightTheMars 10 หลายเดือนก่อน +4

    Great channel. I've been randomly recommended your Roller Coaster Tycoon video and I can't wait for more content like this.
    I've dabbled with reverse engineering in the past with Ghidra and x64dbg, it's really interesting seeing how to use them in tandem like you do.

  • @migueldellicarpini4437
    @migueldellicarpini4437 10 หลายเดือนก่อน +1

    Wow thanks for bringing back so many good memories, besides this video encourages me to go back to low level tinkering just for fun. I'm eager to watch more content from you about this masterpiece of software.

  • @Scarhandtunes
    @Scarhandtunes 10 หลายเดือนก่อน +12

    This is unreal stuff mate, just seen the first part recently too! Subbed for sure

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +2

      Thanks!

    • @KingMoronProductions
      @KingMoronProductions 10 หลายเดือนก่อน +1

      No this is Worms, not Unreal 😆

    • @Scarhandtunes
      @Scarhandtunes 10 หลายเดือนก่อน +1

      @@KingMoronProductions any more of this and I'm unsubbing! 😂

  • @Bobbias
    @Bobbias 10 หลายเดือนก่อน +15

    I'm curious about the function you identify at ~5:40 How did you identify that it takes 2 parameters? Was it purely by looking at the assembly rather than the decomp? And is there a reason you're not renaming and correcting the decomp?

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +7

      The decompilation of the function showed two args, I think I might have cut that out to zoom into the actual code

    • @xy-box
      @xy-box 10 หลายเดือนก่อน

      He use IDA decompiler instead Hydra 🤣

    • @bobbyaremyshoes2233
      @bobbyaremyshoes2233 10 หลายเดือนก่อน

      It would probably show the real number of arguments during the actual function decompilation. Ghidra only decompiles a function if it's actually opened. What you see in the video is just a guess based on the passed arguments. To be able to see the real arguments (or rather another guess based on the internals of the function) at calling sites, you need to decompile that function and commit its parameters ('P' by default). If I remember correctly, it's done automatically while renaming a function or its parameters. It's strange he doesn't do it, being able to set comments and types is literally the best feature of tools like Ghidra and IDA

    • @Bobbias
      @Bobbias 10 หลายเดือนก่อน

      @@bobbyaremyshoes2233 I've used Ghidra myself for a little while when attempting to recover the source code to several functions in an old game (Enemy Nations), so I'm somewhat familiar with Ghidra at a basic level. I had the benefit of source code to work from, which made identifying various functions far easier, but the decomp definitely didn't always get things right. vtables in particular were a nightmare to reconstruct (I never tried automating things or using the header parsing features though).
      But yeah, it just stuck out as weird to me that there was absolutely no visible use of any of the functionality Ghidra exposes in the video.

  • @Pikmeir
    @Pikmeir 8 หลายเดือนก่อน

    I'm not a programmer so I understood close to 0% of what you were doing, but I still loved the video and especially loved how somehow this game is still being played. I'll have to dust off my Worms 2 CD and give it a try!

  • @liqzz
    @liqzz 10 หลายเดือนก่อน +1

    just saying that your work wasnt for nothing. i am currently learning about networking and IT in generall and this video really helps to understand the inner workings of a simple multiplayer funktion really good and understandable. also i really like the editing. thanks :)

  • @axelqt1
    @axelqt1 10 หลายเดือนก่อน

    i'm in a similar process with a game that closed more than a decade ago called Infinity online, thanks for all those precious informations

  • @djstrickson1284
    @djstrickson1284 10 หลายเดือนก่อน +1

    I like this video a lot. As a computer scientist with a specialization in distributed and networked systems, this is very well-explained. For me it would be more interest to see the connections between the output of the "real game" and the ghydra assembly. Maybe you can show the path, how you see the details to follow back the path and the find the values and functions that are important ? :D
    Thank you

  • @louisparry-mills9132
    @louisparry-mills9132 10 หลายเดือนก่อน

    Awesome, a really cool idea for a video. I can't wait to watch it all when I get a minute o.o

  • @lefthookouchmcarm4520
    @lefthookouchmcarm4520 8 หลายเดือนก่อน

    "We can't just stare at these bytes and try to divine some meaning from them.."
    Rofl. This was probably funnier than it was supposed to be 😂😂

  • @NeverGiveUpYo
    @NeverGiveUpYo 10 หลายเดือนก่อน

    Epic. Finally some interesting content on the tube. Thanks for this.

  • @SlothHuntOnYou
    @SlothHuntOnYou 10 หลายเดือนก่อน +2

    well, it's possible to create OnlineServer for marioKart8 on switch - for play without subscription?=)

  • @vonBlankenburgLP
    @vonBlankenburgLP 10 หลายเดือนก่อน +2

    Absolutely great content. I've never seen one presenting how to reverse engineer code on TH-cam with so much detail. Subbed!

  • @Barrytown69
    @Barrytown69 10 หลายเดือนก่อน +1

    Wonderfully enjoyable content for a programming novice like myself!

  • @Yetiwizard1
    @Yetiwizard1 10 หลายเดือนก่อน +1

    Amazing content, superbly presented! I really hope there's more to come :)
    Have you tried using Ghidra's debugger? I don't have experience with it myself but it might make it easier to debug alongside the decompiled code and all the info you've documented.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +1

      Not yet, just been sticking to what I know. I also think it provides a bit of visual variety in the video

  • @Jango1989
    @Jango1989 10 หลายเดือนก่อน +1

    Brilliant video. I love your process and your explanations are really good too

  • @vladislavkaras491
    @vladislavkaras491 22 วันที่ผ่านมา

    It was interesting to watch, thanks!

  • @robert-yates
    @robert-yates 10 หลายเดือนก่อน +4

    stare at bytes and divine some meaning from them sounds like a good job title

  • @christopherbennett1173
    @christopherbennett1173 10 หลายเดือนก่อน +1

    This channel is a true gem.

  • @nicholasholmes197
    @nicholasholmes197 10 หลายเดือนก่อน

    I would absolutely love if you could fix lego rock raiders. Such a nostalgic game that I cannot get to work for the life of me.

  • @codenamegamma
    @codenamegamma 10 หลายเดือนก่อน

    something that could really use some help is Sonic R, the main version we use from 1997 doesn't have the netcode that shipped with the original release, so the original version for networking just won't run at all, so while the game did support networking at one point, it's not something anyone is working on sadly. this is one of those things where if it could get working again the community im sure would use it.

  • @poison812
    @poison812 10 หลายเดือนก่อน

    Watching this brings back very old memories

  • @TheJaber288
    @TheJaber288 10 หลายเดือนก่อน

    What a nice channel, you deserve more subscribers, very nice explanation and very logical to follow, maybe you can show more in detail some bits of the workflow in ghidra ?

  • @JamesTDG
    @JamesTDG 8 หลายเดือนก่อน

    Kinda sucks that your journey on this project is over, but it is nice that it was finished at least

  • @snooks5607
    @snooks5607 9 หลายเดือนก่อน

    title talks about "fixing" but the video seems to be all about discovery, apparently the context for this video is in prior videos, it might be worth mentioning that somewhere

  • @zenguru84
    @zenguru84 10 หลายเดือนก่อน

    Thx for letting us in your brain and way of thinking. You are true ninja.

  • @whynotanyting
    @whynotanyting 10 หลายเดือนก่อน

    The thought of yelling at something to potentially get an answer is hilarious

  • @iamagenius2646
    @iamagenius2646 2 หลายเดือนก่อน

    I wish I was born in an era where programming passion was a thing. Inovation was something 25 years ago, now everything is standardized ...

    • @rafaelrafaelrafael
      @rafaelrafaelrafael 2 หลายเดือนก่อน

      Everything was always standardized. Innovation and passion are still a thing.

  • @injurera
    @injurera 6 หลายเดือนก่อน

    It is a lot of FUN with all those FUNctions.

  • @sanderbos4243
    @sanderbos4243 10 หลายเดือนก่อน

    Loved it, thank you for the follow-up!

  • @verm_ms
    @verm_ms 10 หลายเดือนก่อน +3

    how long have you been doing this stuff? it's so cool (sorry i don't understand this stuff so i don't know how to verbalize it)

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +1

      Ive been doing forward and reverse engineering for about a decade

  • @Diogenes_von_Sinope
    @Diogenes_von_Sinope 9 หลายเดือนก่อน

    oh the memories... in our local computer club, we had a worms 2 Lan tournament. i made 2nd place. won a copy of quake. :D

  • @shakeuk
    @shakeuk 10 หลายเดือนก่อน +1

    Love the content, keep it up

  • @HinkHall
    @HinkHall 10 หลายเดือนก่อน

    This video really makes me want to finally dive into the code of one of my old favorite now delisted/offline titles of Spartacus Legends...

  • @haxguy0
    @haxguy0 10 หลายเดือนก่อน

    Your content is marvelous

  • @xtomvideo
    @xtomvideo 10 หลายเดือนก่อน

    That's fascinating and impressive.

  • @AlexKiraly
    @AlexKiraly 10 หลายเดือนก่อน +5

    What an underrated channel - Reverse engineering has always been on my bucket list, but I never have the time to discover these things on my own. This content is literally a strong push towards my dreams, thank you!

  • @DerSolinski
    @DerSolinski 10 หลายเดือนก่อน +1

    Just for digging this old gem up you get a 👍

  • @generalkilbabathemadmansch3602
    @generalkilbabathemadmansch3602 10 หลายเดือนก่อน

    Very informative! Thanks for the video.

  • @unknowntotherestoftheworld
    @unknowntotherestoftheworld 10 หลายเดือนก่อน

    NGL i thought this was going to be about reverse engineering worms as in the malicious software type, used in the spreading of malware on networks. Even though the video is on something else entirely it was still worth the watch :)

  • @timeimp
    @timeimp 10 หลายเดือนก่อน

    Subbed. This video was great!

  • @soup9911
    @soup9911 10 หลายเดือนก่อน +4

    oh SHIT he actually did it

  • @TomWhi
    @TomWhi 10 หลายเดือนก่อน

    Mega interesting! Looking forward to watching more. Thank you algorithm.

  • @MidtownMadness1
    @MidtownMadness1 10 หลายเดือนก่อน +1

    I have yet to watch the video, but I'm sure it will be a good one. Is Midtown Madness also a childhood game of yours? A lot of the exe has already been reverse engineered (see Open1560). I have been wondering lately how difficult it would be to upgrade some of the network libraries they used back in the day. As currently, it visually appears as though the player's network data is only updated a few times a second.

  • @UndeadAlex
    @UndeadAlex 10 หลายเดือนก่อน +2

    Oh its a good day when Nathan posts ❤️

  • @xymaryai8283
    @xymaryai8283 10 หลายเดือนก่อน

    i wonder if this kind of thing is what the Northstar Server and Client team for Titanfall 2 had to do, its interesting to see the gritty details that make it clear why these things are difficult, but still possible.

  • @joachimm81
    @joachimm81 10 หลายเดือนก่อน +1

    Is it local network multiplayer? Have you tried spinning up two instances and watching how they talk to each other?

  • @halfbakedproductions7887
    @halfbakedproductions7887 10 หลายเดือนก่อน

    This looks like old fashioned, direct Winsock function calls and everything built from scratch. I can see why that made sense at the time and for this kind of application, but nobody really does that anymore.

  • @hacked2123
    @hacked2123 9 หลายเดือนก่อน +1

    I'm sure I'm not the only genius to say it...but why didn't you just spin up a couple Windows 95 VMs, install it there, and then start doing packet capture between the two?

  • @shawnio
    @shawnio 10 หลายเดือนก่อน

    I have to say this is basic stuff but it's very interesting

  • @Povilaz
    @Povilaz 10 หลายเดือนก่อน

    Very interesting!

  • @jackdeespadas
    @jackdeespadas 10 หลายเดือนก่อน

    A wizard in action. Thank you for the interesting content.

  • @TheRealZeaga
    @TheRealZeaga 10 หลายเดือนก่อน

    It's baffling to me that you only have 18K subscribers!

  • @L3D451R7
    @L3D451R7 10 หลายเดือนก่อน

    Hello. While watching your video i couldn't resist hopping on my disassembler and looking in worms main executable. There is 605 references of "OutputDebugStringA" logging which probably would be useful in your research since i noticed a bunch of DirectPlay debug strings.

  • @TheBitPunch
    @TheBitPunch 10 หลายเดือนก่อน +2

    I relate to how he looks at the end when he turns off his camera. No explanation. Deal with it.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน

      That was an accident (: just didn’t want to rerender the whole thing to cut a second off the end

  • @67steinip
    @67steinip 10 หลายเดือนก่อน

    Although I love worms and your enthusiasm and skillset in resolving Worms 2, I wonder why 2? Why not Worms Armageddon, that to me was the best Worms and only because I hated the damn Magic bullet, it was way to god damn strong. Anyway Worms Armageddon is readily available and works already for newest OS's, so is it nostalgia? or is it just the interest in getting it done, curiosity :)? love your content though.

    • @CharlesHydronium
      @CharlesHydronium 10 หลายเดือนก่อน

      Armageddon's servers are still alive, in this case it's nostalgia

  • @enterrarte
    @enterrarte 10 หลายเดือนก่อน

    thank you kindly for interesting video

  • @StatueSounds
    @StatueSounds 10 หลายเดือนก่อน +2

    If you want to have a poor round of worms 2 let me know!

  • @TeamUnpro
    @TeamUnpro 10 หลายเดือนก่อน

    nostalgia
    Before this vid: alright im done coding today, was a nice long coding session, but gotta take a break
    *sees this video*...
    Hang in there brain

  • @jamesread11
    @jamesread11 9 หลายเดือนก่อน

    So how is the discord community playing the network version? Have they all hacked the app too?

  • @velox__
    @velox__ 10 หลายเดือนก่อน

    Really great work! Both the hacking & the video.

  • @57F.K
    @57F.K 10 หลายเดือนก่อน

    Please do not stop making these videos, they are great! You will definetly get the attention you deserve 👍🏼

  • @ricardonacif5426
    @ricardonacif5426 10 หลายเดือนก่อน

    Keep it up. Great content

  • @terryjbutler
    @terryjbutler 10 หลายเดือนก่อน

    Wonderful stuff!

  • @johanngambolputty5351
    @johanngambolputty5351 10 หลายเดือนก่อน

    Hmm, I've always wanted to get into reversing, but not sure how doable it is for windows games on a freedom loving OS (and how much windows-specific knowledge is required)...

  • @SpinningPsycho
    @SpinningPsycho 10 หลายเดือนก่อน

    This. 🔥

  • @nordgaren2358
    @nordgaren2358 10 หลายเดือนก่อน

    I haven't finished the video, yet, but did you try editing the function signature of the function that was only showing you one of two arguments being passed?

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน

      Nah I just powered through (:

  • @rogo7330
    @rogo7330 10 หลายเดือนก่อน

    When you stuck at client not sending anything to server my first thought was that server must send back how many bytes of the next message it will read. This is what SSH does for its channels. But I guess it is not necessary in here since all possible data is structured and expected to be meaningfull.

  • @CoreDreamStudios
    @CoreDreamStudios 8 หลายเดือนก่อน

    Is it possible to do this for a game which has SSL cert inside it for networking ? (server-client).

  • @e102em
    @e102em 9 หลายเดือนก่อน

    Are you able to fix the de sync on cities in motion 2?

  • @LawrenceTimme
    @LawrenceTimme 10 หลายเดือนก่อน

    I used to play this game all the time when I was a kid. 😎

  • @57F.K
    @57F.K 10 หลายเดือนก่อน

    Do you have any recommended resources, for example books or websites, to learn reverse engineering?

  • @rimmersbryggeri
    @rimmersbryggeri 10 หลายเดือนก่อน

    Bought this game for my stepson. His brother wouldnt let him play the playstation so Ihad to give hime something that was his to play.

  • @waldmensch2010
    @waldmensch2010 10 หลายเดือนก่อน

    nice work

  • @Kakerate2
    @Kakerate2 10 หลายเดือนก่อน

    5:45 can you explain how you know it has 2 parameters?

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน

      I could see from the dissemblly of the function itself, sorry for not making that clear

  • @cougar-town
    @cougar-town 10 หลายเดือนก่อน +1

    You discovered the byte for the flags, that's pretty good. I'd assume it goes from 01 to 10, or longer to maybe X amount of flags so it might end up at like 20 or 30? not sure how many flags there are but, at least you've gotten some progress in. Then you could write a packet-like thing like this:
    packet {
    var flag_byte:0x02;
    type:mumbo jumbo;
    ...
    }
    This might be the way to reply to the response or something like that to ACK (acknowledge that the packet is received via TCP/UDP.

  • @Fewnity
    @Fewnity 10 หลายเดือนก่อน

    I want more videos about RE worms 2!

  • @prahjister
    @prahjister 9 หลายเดือนก่อน

    The first multiplayer game we got to work was 688 Attach Sub

  • @christianpyn
    @christianpyn 10 หลายเดือนก่อน

    Any reason you didn’t mock out a server at the same time? You already knew what the server was sending, so why not send that and trace what a correct response looks like?

  • @nn-zp4ig
    @nn-zp4ig 10 หลายเดือนก่อน

    Magic

  • @bubbleopter
    @bubbleopter 10 หลายเดือนก่อน

    I'm battling to understand how you manage to run two separate processes listening under the same port number, I'm really new to this but I've experienced issues when trying to run services on Linux at least when they share the same port number there's always been an issue.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน +2

      The server is listening on that port and the client is connecting to it, so there’s no conflict

    • @bubbleopter
      @bubbleopter 10 หลายเดือนก่อน

      @@nathanbaggs but what about the python script, how is that able to process the traffic as well?
      or is the python script acting as the server.

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน

      Yes the python script is the server

  • @Trooperos90
    @Trooperos90 12 วันที่ผ่านมา

    is it much harder to reverse engineer a modern/steam game?

    • @nathanbaggs
      @nathanbaggs  12 วันที่ผ่านมา

      Modern games do tend to be a lot more complicated

  • @fireattack1
    @fireattack1 10 หลายเดือนก่อน

    I believe you meant 20 thousand (20s) at 5:22

    • @nathanbaggs
      @nathanbaggs  10 หลายเดือนก่อน

      Good spot (:

  • @calvinthedestroyer
    @calvinthedestroyer 10 หลายเดือนก่อน

    What is geedra?

  • @mandeeprai9818
    @mandeeprai9818 10 หลายเดือนก่อน

    I don’t understanding one fucking thing but great video

  • @CharlesVanNoland
    @CharlesVanNoland 10 หลายเดือนก่อน

    ws2_32.dll is the Winsock 2 DLL.