EA Won't Let Me Play This Game - So I Hacked It

Sdílet
Vložit
  • čas přidán 29. 02. 2024
  • Let's crack an old game to make it playable
    Become a member to get early access to videos - / @nathanbaggs
    Want to build cool stuff from scratch? app.codecrafters.io/join?via=...
    💭 All views are my own 💭
    Accompany me on an epic quest in "EA Won't Let Me Play This Game - So I Hacked It," as I strive to enjoy the classic God game, Black and White, despite EA's hindrances. Delve into the process of reverse engineering the key check algorithm to generate a new key and surpass the restrictions. Don't miss out on this enthralling hacking adventure - remember to subscribe for more gaming breakthroughs!

Komentáře • 817

  • @nathanbaggs
    @nathanbaggs  Před 2 měsíci +34

    Want early access to new videos and some behind the scenes content? Consider becoming a channel member czcams.com/channels/QvW_89l7f-hCMP1pzGm4xw.htmljoin

    • @Thrakus
      @Thrakus Před 2 měsíci

      Do you know if there is away to restore full screen dosmode to Windows 10/11 , You can restore dosmode to windows, however they did block full screen mode from running.

    • @Dracconus
      @Dracconus Před 2 měsíci +1

      I actually have a physical copy of Black and White if you'd like to get it we can discuss details.

    • @WildRapier
      @WildRapier Před 2 měsíci

      Black & White was a great game, so was #2. Haven't seen it's likes or any attempt at a copy. A shame... games today have a hard time not adding zombies! I still have the original discs, just have to dust off my 3200+ and 9800 AIW!

    • @francoisleveille409
      @francoisleveille409 Před měsícem +1

      EA did the same to me with Crysis 3. DVD-ROM not work!!

    • @Dracconus
      @Dracconus Před měsícem

      @@francoisleveille409 I had a similar issue with Crysis 2. Called their hotline and had it working within minutes. They'll take care of you if you call. Or..they used to.

  • @OfficialScottR
    @OfficialScottR Před 2 měsíci +2381

    Its fourtunate you didnt accidentally give out the end of the code. If fiv'e taken one thing away from this video, its the importance of keeping CD keys private. It'd be a shame four a small business like EA to lose revenue from a game they no longer sell. I eight to even think of such a thing

  • @sonarun
    @sonarun Před 2 měsíci +719

    I love that the game is reverse engineering the game, and not actually playing it. I love this channel.

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci +99

      Getting to the game is often more fun than the game itself (:

    • @johndorian4078
      @johndorian4078 Před 2 měsíci +14

      That was the fun part of a game genie, not just typing in the codes you got from the book but actually finding the codes

    • @pixelcatcher123
      @pixelcatcher123 Před 2 měsíci +3

      @@nathanbaggs or we could try and reverse out the key check algorithm and create our own key "Lets do the latter, it's a bit more challenging but could be a lot of fun". As u said :DD

    • @danquaylesitsspeltpotatoe8307
      @danquaylesitsspeltpotatoe8307 Před měsícem +1

      @@nathanbaggs Yes proving you are guilty of software fraud with a video on here is really smart! Now take the fork out of the toaster!

  • @benwafflez
    @benwafflez Před 2 měsíci +383

    That second function just converts strings to integers:
    "4444" == 0x115c
    "4548" == 0x11c4
    Subtracting 0x30 is what tipped me off, it's an easy way to go from a ASCII digit to the value (e.g. 0x35 in ASCII is '5')

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci +160

      Thanks for the insight. I got so wrapped up in the nitty gritty I forgot to take a step back and look at what it was actually doing

    • @KateGrayCode
      @KateGrayCode Před 2 měsíci +55

      @@nathanbaggs If you see 0x30 being subtracted from numeric input, it's doing ASCII to integer. If you see base 10 things being done in a start at zero, read, multiply by 10, add loop, it's doing string to integer.

    • @daftwulli6145
      @daftwulli6145 Před 2 měsíci +9

      @@nathanbaggs erm there is a read me in the stuff you ripped from the internet, usually they contain the info you need to install the game, like CD keys and how to install it (like sometimes you need to copy a crack into some specific file, stuff like that)

    • @ferrumignis
      @ferrumignis Před 2 měsíci +13

      @@daftwulli6145 Yep, as soon as I saw the files in that folder I was thinking the same. Not that I've ever seen a ripped game or anything.

    • @daftwulli6145
      @daftwulli6145 Před 2 měsíci

      @@ferrumignis Yea of course not, who would ever do that ?
      Btw quite a few studies showed that most often piracy is not done for monbetary reasons, but for reasons of convinience. If you do not give potential customers a good and simple way to pay you for the product they look for alternatives.
      Streaming plattforms are a big example. When netflix started out, and you had all the shows you want in one convinient place, TV show piracy droped by over 80%. But then more and more streaming plattforms apeared and each had less and less shows, so you had to look up everything you want to watch to see who had it, and thus had to plattform hop all the time, it went right back up. Funny how that works.
      Same goes for anti piracy meassures that are a pain in the ass for users that actually paid for the game, while pirates had no such problems. Also nobody wants minutes of unskippable adds on a dvd they paid good money for. Or why do i need to be constantly online for a single player game ? There is litjerally noi reasdon I need to be online thge whole time, and there have been so many occasions where my internet was spotty or crashed and I wanted to game till it comes back. So I will no longer buy games that demand I have to be online at all times
      I could keep going with examples all day, but it all goes back to the same nonsense : if piracy is way more convinient then buying something, and way less of a hassle, people will pirate. So companies should stop the BS on their paying customers, or they will find alternatives.

  • @rubinbingham9547
    @rubinbingham9547 Před 2 měsíci +171

    I remember "A friend" who managed to find where a key was checked for an old program and converted the Jump if equal instruction to a jump if not equal. Thus the program only worked if the wrong key was entered.

    • @derekthemagician
      @derekthemagician Před 2 měsíci

      true=false poof.

    • @craesh
      @craesh Před měsícem +8

      I did exactly the same back in the late 90's. Worked fine. With current games it won't be possible any more.

    • @PicnicAtTheTesco
      @PicnicAtTheTesco Před měsícem +1

      Don’t mess with Rick Sanchez 😂

    • @adamm.1367
      @adamm.1367 Před měsícem +9

      Yes! This was basically how I did it back in the day. Was way easier to patch the return code than to reverse engineer the algorithm. Ahh things were so much simpler back then.

    • @nathanjohnston9762
      @nathanjohnston9762 Před měsícem +2

      or you could change the elseif to return the same value as the if. That way it wouldn't matter what you put in.

  • @cigmorfil4101
    @cigmorfil4101 Před 2 měsíci +148

    Reminds me of back in the early 1990s when Lemmings and Lemmings 2 came out for the PC. To allow you to continue from a level, after each level is cleared a code is given which when entered allows you to go directly to the next level without having to play the previous levels. (It was sonething like 10-13 seemingly random letters long.)
    Lists started appearing in magazines and on bulletin boards (was pre/at start of internet).
    I noticed that different people sometimes got different codes for the same level (and sometimes a person would get different codes when replaying the same level).
    Using a few of these codes I was able to reverse engineer how they were generared and was able to create codes that worked but were impossible for the game to generate.
    Your challenge, should you wish to accept it, is to get a copy of the original PC Lemmings, get some codes (by playing it, or finding some) and workout how they work. This tape will self destruct in 5 seconds....

    • @AirbornChaos
      @AirbornChaos Před 2 měsíci

      🤯☠

    • @zerogrey3798
      @zerogrey3798 Před 2 měsíci +2

      A lot of console games did this as well.

    • @nifiga_prikolno
      @nifiga_prikolno Před 2 měsíci +2

      I remember some games were doing it, i thought that it was a gimmick which occurred when devs for some reason didn't make a saving process or it was technically impossible to handle the saving process like on cheap/bootleg disks and cartridges when it was impossible to write data on them or in the console

    • @pazsion
      @pazsion Před 2 měsíci +1

      those are actul save points for each individual player. none of them were the same unless you had the same scenario and assets... which is extreamly unlikely.
      man i miss lemmings... there are a few games today that may be better or equal to the quality... buy even their demos are paid to play.
      sorry im not paying for something before i know what im getting, blizzard taught me this.
      because of blizzard ive atopped paying for software at all without a fully unlocked version thats free.

    • @varsityathlete9927
      @varsityathlete9927 Před 2 měsíci

      @@pazsion yep that is how it worked on the Sega Mastersystem games.

  • @JeffJK000
    @JeffJK000 Před 2 měsíci +99

    "What do we do now?"
    "Now we can finally play the game"

    • @vadnegru
      @vadnegru Před 2 měsíci +3

      Not quite that...

  • @funkaddictions
    @funkaddictions Před 2 měsíci +359

    Good thing you didn't give away the numbers 😁. Cool video!

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci +137

      Would be irresponsible if I did...

    • @Edek_Zgredek800
      @Edek_Zgredek800 Před 2 měsíci +3

      @@nathanbaggssure. EA lawyers have no mercy

    • @DIREWOLFx75
      @DIREWOLFx75 Před 28 dny

      As someone has already posted, he effectively did give away the numbers, just not in decimal.

  • @brianl2607
    @brianl2607 Před 2 měsíci +54

    Underrated youtube channel... excellent blend of information, education, light humor, and blended all with smooth transitions for a good overall flow. wishing you success!

  •  Před 2 měsíci +72

    "It''s pretty cool that Ghidra managed to decompile this back to a x 10.............. anyway" That pause had me lol

  • @superfly108
    @superfly108 Před 2 měsíci +93

    I love the fact I've been watching a CZcams channel find it's niche and grow since I saw the first video and subscribed. Good job buddy!

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci +23

      Thanks for the kind words! I'm really enjoying solving puzzles and sharing that with everyone

  • @MobCat_
    @MobCat_ Před 2 měsíci +219

    Gives me flashbacks to the massive FFF keygen that could generate keys for like 200+ EA games...

    • @MerolaC
      @MerolaC Před 2 měsíci +32

      I still have it and use it to this day.
      Sometimes to install Sims 1, FIFA and NFS games.

    • @djdamagedome
      @djdamagedome Před 2 měsíci +29

      I'm still not sure that was not malware, but damn it was handy and the pieces of music on various versions rocked.

    • @kuromiLayfe
      @kuromiLayfe Před 2 měsíci +49

      @@djdamagedomeIt’s less malware than any of the DRM BS publishers put in nowadays.

    • @GoldSrc_
      @GoldSrc_ Před 2 měsíci +4

      You had that one too?
      I think I still have it in an old hard drive with windows XP lol.

    • @WhitedevilEE
      @WhitedevilEE Před 2 měsíci +7

      I can still hear the music playing

  • @gabrielex
    @gabrielex Před 2 měsíci +69

    As owner of the original DVD with original box and code I still found this extremely interesting.

    • @Gatorade69
      @Gatorade69 Před 2 měsíci +3

      It was on a CDRom not a DVD.

    • @fueledbyllama3043
      @fueledbyllama3043 Před 2 měsíci +2

      Same difference one just has more layers on the disc for storage

    • @ssokolow
      @ssokolow Před 2 měsíci +6

      @@fueledbyllama3043 No, actually. a 4.4GiB DVD is still single-layer... it just packs the spiral more tightly... though it *does* sandwich it between two half-thickness pieces of polycarbonate instead of sitting on top of a full-thickness one with only a layer of lacquer to protect it.

    • @limpbiskit66
      @limpbiskit66 Před 2 měsíci

      As a non owner without any of that shit, so did I

    • @banedon8087
      @banedon8087 Před 2 měsíci +1

      Yep. Still got mine.

  • @annekedebruyn7797
    @annekedebruyn7797 Před 2 měsíci +56

    Can we just take a moment to appreciate the backwards compatibility of windows?
    Being able run code from '99 without any issue is insane.
    On MacOS even pre M1/2/3 chips, I weren't allowed to update the OS until the all the apps supported that version or it would break.
    It's insane.

    • @vadnegru
      @vadnegru Před 2 měsíci +8

      Even more, windows has some apps that wasn't updated since win 95 or even 3.1.

    • @darrennew8211
      @darrennew8211 Před 2 měsíci +22

      It's pretty much the selling point for Windows at this point. They even have patches for broken games. If you're running the old Sims games, the kernel will allocate memory differently because the Sims has bugs in their memory usage.

    • @Dome98Otaku
      @Dome98Otaku Před 2 měsíci +4

      The installer might look good, but trust me the game does not run without any issues once you actually boot it x(

    • @hadamana
      @hadamana Před 2 měsíci +5

      Gawd, don't get me started on this... I recently tried to install my legit Adobe CS6 Master Collection on an Intel Mac running Catalina... Pure rage ensued. I have some grumpiness toward Apple for that. The frikkin' INSTALLER used some 32bit code so a 64bit application can't be installed. Seriously?!

    • @ssokolow
      @ssokolow Před 2 měsíci

      @@hadamana Microsoft went so far as to bundle 32-bit InstallShield engines to transparently swap in if you try to install a 32-bit game with a 16-bit installer after they finally decided that 20 years was enough and didn't write support for 16-bit apps in 64-bit Windows.

  • @ChadeGB
    @ChadeGB Před 2 měsíci +48

    I clicked onto this video ready to type my comment about how you didn't hack a game just because you installed a no-cd patch or something similar. But I was wrong, you actually did hack it, it was so nice to watch someone doing the thing they claimed in the titles for once. Props.

  • @nwstraith
    @nwstraith Před 2 měsíci +10

    Oh man... my childhood favorite is a legacy game. Guess I'm old now. I absolutely loved B&W as a kid. Training my tiger to either be nice or evil. Casting rain or fire down upon my people. Chucking boulders at enemy villages. This game is an absolute gem. I would love it if they remastered it and released it again.

    • @rorychivers8769
      @rorychivers8769 Před 20 dny

      That should be easy enough, just have to lock Peter Molineux in a deep dark dungeon and ensure he never, ever hears about it

  • @AntonVeretenenko
    @AntonVeretenenko Před 2 měsíci +31

    used to make a lot of cracks and keygens back in the days before youtube, great RE is getting track here, keep it up 🤘

    • @bonno666
      @bonno666 Před měsícem

      And they where always reported as a virus. Even if it wasn't.

  • @nineinchwhales
    @nineinchwhales Před 2 měsíci +7

    I always love seeing the problem solving process going on, especially for fun projects like this

  • @DezsikeDevil1
    @DezsikeDevil1 Před 2 měsíci +34

    You'll face a bigger challenge from here: DRM. The game performs a disk check and somehow it knows if you have the original or a copy and it refuses to start when it detects a copy. To make things more complicated, Win 7 and beyond treat this as a rootkit and refuses to run it. Even a cracked copy will refuse to run as the DRM is still there, just patched to always return success even if a disk is not present at all. So it might be easy to get it running on an old machine (I do have one with an original disk and the DRM passes without any cracks or hacks) but it will be a pain to get it running on a modern PC.

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci +32

      Yes I started looking at what happens next and it's, interesting... Hoping to get some time to come back to it and maybe do another video on it

    • @bricaaron3978
      @bricaaron3978 Před 2 měsíci +4

      Windows 7? I know that Windows 10+ disallows (some? all?) disc-based DRM, but I have never encountered a disc that could not be installed on my Win 7 system. I do not have a disc copy of Black & White, though.

    • @DezsikeDevil1
      @DezsikeDevil1 Před 2 měsíci +8

      It was blocked in Windows 10 out of the box. Windows Vista, 7, 8 and 8.1 blocked it with the KB3086255 update. Uninstalling this update might allow disk based DRMs to run on those operating systems, but there's no way to get it running on Windows 10 and newer. DRM must be removed altogether, patching it like cracks did back in the day won't work.

    • @bricaaron3978
      @bricaaron3978 Před 2 měsíci +6

      ​@@DezsikeDevil1 Right, right. I do not have that update installed. And that very freedom is one of the many reasons I'm using Windows 7.
      I will be building a Windows 10 system, but it will _only_ be used for playing (single-player) DX12 games. It will not be connected to the Web.

    • @enosunim
      @enosunim Před 2 měsíci +3

      Yeah, this reminds me of running my own program, which I wrote myself on Delphi. And running it under W10 was tricky. Windows just closes it at some point. No antivirus warning, no nothing. It just closes and all.
      It started after I added function, which get process list, and kill one process if its name is matched. It was added as I call curl.exe using CreateProcess function. And sometimes it hangs, so I need to kill it and restart.
      It was fun for me, that Windows just kills my program, when it try to call the function. And later program file is removed from disk. No any quarantine records, no nothing too = )
      It was even funnier at first, as I just copied some function from the Internet, KillTask it was called. My program was just removed on run. After I modified my function code, so it was not universal anymore, I just made it look for particluar process name, it was alright.
      But a couple of weeks, and it started to kill it and remover once again. I guess some cloud antivirus protection leaked my program to MS, they analized it and blacklisted for no purpose.
      Well, I am just glad I do not use Windows for myself for 15 years or so. As it is just ridiculous, that I just cannot run my own programs anymore. = )
      Oh that good old times, when Windows just worked... = )

  • @LukeAvedon
    @LukeAvedon Před 2 měsíci +35

    Love it! I fondly remember the space cops in original starflight who would come get you if you lost the cardboard key generator.

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci +6

      Glad you enjoyed it!

    • @WirrWicht
      @WirrWicht Před 2 měsíci +1

      God, I've been playing this game for quite a while, eradicating these pests time and time again...

    • @Rockin4D
      @Rockin4D Před 2 měsíci

      Was anyone actually able to land on the Spemin home world in Starflight 2 and egg nuke it? I do have fond memories in Starflight 1 of landing on the religious fanatic fish people’s home world and activating an egg on it and destroying it.

  • @Martan404
    @Martan404 Před 2 měsíci +12

    Great video Nathan! I find your videos super interesting. Thank you for sharing your knowledge with the world and helping preserve old media.

  • @TowelGamingHammer
    @TowelGamingHammer Před 2 měsíci +11

    Man, Black and White was my JAM as a kid. I really need to see about playing it again, but I'll need to get a hold of an extra GPU to dedicate to the VM haha. I'm a little surprised it was that easy to crack, but then again it _was_ the early 2000s of game protections. Thanks for the video Nathan!

  • @wolbeoj7739
    @wolbeoj7739 Před 2 měsíci +1

    Great video once again. Looking forward to future ones like this. There is value in examining old software like this.

  • @zeronightx
    @zeronightx Před 2 měsíci +1

    This is my kind of content for sure. I love these vids. Please keep 'em coming!

  • @Phantompi
    @Phantompi Před 2 měsíci +1

    Always enjoy how casual your content is. Thanks for sharing the adventure with us!

  • @ac15cr
    @ac15cr Před 2 měsíci +3

    Another great video! Please continue, can’t wait for the next.

  • @coisasnatv
    @coisasnatv Před 2 měsíci +2

    Watching this I remember the good and old days of Phrozen Crew, Fravia's essay, SoftIce, IDA, W32dasm, etc.

  • @Mireneye
    @Mireneye Před 2 měsíci +1

    The hand gestures taught me the most!
    Brilliant video! Thank you for sharing all of these insights into reverse engineering.

  • @EER0000
    @EER0000 Před 2 měsíci

    I really like your reversing adventures! Thanks for the fun times! :D

  • @TommyLikeTom
    @TommyLikeTom Před měsícem +1

    7:03 I love how you awkwardly give a moment to just appreciate Ghidra

  • @GMYuyuko
    @GMYuyuko Před 2 měsíci +1

    Man,your videos are so cool
    I do appreciate them a lot
    Thanks for the entertainment

  • @JoshuaMHiggins
    @JoshuaMHiggins Před 2 měsíci +3

    Excellent concise videos here. Love the content, Nathan! I'm not usually excited when I see new vids on my subscriptions these days, good to see you're still fulfilling my youtube experience!
    Thanks for creating these, inspiring me to learn how to code better, gives a huge amount of freedom to explore and learn things rather than relying on other people's work. Keep it up! :)

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci +4

      Thanks for the kind words, glad you're enjoying them as much as I am making them (:

    • @98danielray
      @98danielray Před 2 měsíci

      that might be a sign to clean your subscriptions.

    • @JoshuaMHiggins
      @JoshuaMHiggins Před 2 měsíci

      @@98danielrayCertainly needs a clean for sure. Decades old subs on here still. Sometimes I hold hope for some youtubers, but it's been a bit dry.
      CZcams's main page and suggestions sucks a** which doesn't help finding anyone new.

  • @aquilahawke
    @aquilahawke Před 2 měsíci +18

    Omigosh I LOVE Black and White, grew up playing it! And I love your videos!
    Never would have expected them to cross over =0
    So cool to see inside of it like this, thank you for the really interesting look at it

    • @artey6671
      @artey6671 Před 2 měsíci +1

      This game is actually crazy. There's this obscure mechanic regarding artifacts that lets you build gigantic wonders that have absurd secondary effects.

  • @JamesIsNinja
    @JamesIsNinja Před 2 měsíci

    Always happy when I see a new video from you hit my feed, another fun break down!

  • @johnwhyte1488
    @johnwhyte1488 Před 2 měsíci

    Just came across this and it’s an easy SUBSCRIBE for me. Brilliant watching go through this explaining what you are doing as you go through the traces and processes.
    Reminded me of the late 80’s, early 90’s. There was a program (ICE springs to mind?) which needed two computers interfaced with a parallel cable. The program would run under the control of ICE? on one computer, whilst the other computer (again under ICE?) displayed the 80xxx disassembly, registers, stack pointer, etc.
    I'll be working my way through the rest of your videos now.
    All the best to you and yours.

  • @Joshimuz
    @Joshimuz Před 2 měsíci +8

    So the activation program takes in 4 different numbers, does some maths to the first set of 3 and the last one, and if the result of those two sets of maths match it accepts it as a key? Interesting! Thinking about it I'm not sure how I'd handle such a problem pre-internet activation days where you can't just put a lookup table of all the valid keys in with the rest of the code for obvious reasons lol (and then you'd have a predetermined number of possible keys without a new CD version)

    • @Rob_III
      @Rob_III Před 2 měsíci

      Most (offline) keys worked like this back then. The Windows 95 (OEM and/or Retail) key algorithm was a joke. I could literally do "the math" in my head as it was mostly based of the numbers being added up had to be divisible by 7 (google it). Other applications and games had more complex algorithms, that's what keygens "solved". They ("hackers" or "release groups") reverse-engineered the algorithms and then calculated (or "generated") a valid key.

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci +4

      That’s pretty much it!

    • @berenscott8999
      @berenscott8999 Před 2 měsíci +2

      I think the thing is, back in the day, keys weren't linked directly to your copy of the game. There was an algorithm for generating random keys, and they simply printed these on each game copy. Maybe many games had the same key?

  • @2old4gamez
    @2old4gamez Před 2 měsíci

    I understood very, very little but was absolutely fascinated throughout. Top job. Subbed for more.

  • @1Varrok1
    @1Varrok1 Před 2 měsíci +1

    I appreciate what you're doing, your vids are informative and entertaining 😄
    I kind of hope that you tackle some more bugs/broken features in old games that haven't been solved with community patches already. It seems more of a net positive for the world than redoing what had already been done

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci +1

      Please feel free to suggest things that are broken, I make a note of all suggestions (:

    • @1Varrok1
      @1Varrok1 Před 2 měsíci

      ​@@nathanbaggs Thank you for responding!
      Right now I'm not playing any notably crashy games at the moment, I get reminded of the rather big YT channel, MandaloreGaming, where he sometimes plays niche retro titles, and very early on in the video complains how much of a pain was to run it (especially games that never had a GOG release), and even when he does, it's with some form of compromise on his side
      He did that with his Sacrifice video (in this game he mentioned his game kept randomly reseting his Texture quality setting to low at re-launch), as well as
      Myth 1 (and 2) video (various issues),
      Ring (had many "mystery" issues while trying to run it, unfortunately didn't elaborate on that),
      Warhammer 40K Fire Warrior (audio crackling with reverb on forced him to disable it completely),
      and probably more. Ross from Accursed Farms channel also plays a lot of them, and often stumbles upon small but annoiying issues like that, thought I don't have any examples at hand.
      Feel free to look, if you wish :) Cheers!

  • @SpaceGoat.
    @SpaceGoat. Před 2 měsíci

    This was amazing to watch!! Thanks for sharing and good vibes your way!!!

  • @7eis
    @7eis Před 2 měsíci +4

    I can't help but wonder what video projects you've done before this channel. Surely noone can get to this level of greatness starting from scratch in such a short period

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci +3

      Thanks for the kind words but I had no real experience before YT. Just been figuring it out as I go along and trying to make each video better than the last one

  • @cerebraxis607
    @cerebraxis607 Před 2 měsíci

    This was really interesting and you tapped into my childhood. I went to school to be a microcomputer support specialist but I could never quite grasp the coding. I understood more of what you were doing in this than I did any of the stuff back then.

  • @Fewnity
    @Fewnity Před 2 měsíci +7

    Good video! I like when you try to fix old software

  • @devinorium
    @devinorium Před 2 měsíci

    like the videos and the casual format. would have loved to see a more dissected analysis of the validators, but also cool to see the shortest path to a success

  • @alderoth01
    @alderoth01 Před 2 měsíci

    That's insane... I was born with a developmental issue to where things like this just amaze me. I have the hardest time with complex puzzles and this just blew my freaking mind trying to follow how you did it lol. Great video!!

  • @zech098
    @zech098 Před měsícem

    love this thank you for pointing out the sections of code I've never seen someone do it like this but it make it a lot more coherent

  • @Harytus
    @Harytus Před 2 měsíci +1

    This is exactly the content I am looking forward to. I am wondering if maybe you could explain how the Oblivion's Soul Trap glitch works. I tried to read up online why when you create a spell with it and cast it looking at the feet it becomes permanent, but I only found information that it is actually not really related to Soul Trap but a bug in the targeting system. I hope that it will not cause any licensing issues and you can debug it to explain how it works.
    Great video as usual.

  • @xbinxpurp6118
    @xbinxpurp6118 Před 27 dny

    Great video mate! subscribed!

  • @GGRS
    @GGRS Před 2 měsíci +6

    Loved Black and White. Great work as usual

  • @Stennishh
    @Stennishh Před 2 měsíci

    i remember trying to play this game on windows 7, i needed to do like 3 different things to get it running, and even then at the end i coulsnt save the game.
    great video 👍

  • @chriskelso723
    @chriskelso723 Před měsícem

    The last "4 seconds" floored me. You earned a sub. ❤😂

  • @ChrisM541
    @ChrisM541 Před 2 měsíci

    Superbly done! That was an excellent piece of detective work.
    Question: is there, today, a simple(r) way to access your gfx card from within a VM? (I'm using an AMD 7900XT)

  • @fairyroot1653
    @fairyroot1653 Před 27 dny

    I really appreciate the great content, and I hope you make the videos more lengthy for u don't want them to end. Also, sharing the code in Git would be awesome for it would allow us to learn. And as always, tnak you.

  • @samsoncooper1
    @samsoncooper1 Před 2 měsíci

    Great video for a great game! Used to spend hours on this, have recently started my own coding journey, everything seems so far away but at the same time I couldn't have imagined doing the things I am doing a month ago!

  • @kinasakuraba
    @kinasakuraba Před měsícem +2

    I didn't understand a word of this because I don't know anything about computer coding.
    But man is it awesome to watch guys who know what they're talking about do cool things. So many of these comments are amazing too!

  • @dave11674
    @dave11674 Před 2 měsíci

    This game was awesome, nice work on reversing the key code 👍 it was plagued with bugs tho, id like to see you do more work on this ;)

  • @drelephanttube
    @drelephanttube Před 2 měsíci

    Love your videos, keep it up!!

  • @KonKrom
    @KonKrom Před měsícem +1

    I love what You done at the end : D

  • @Doomsquad99
    @Doomsquad99 Před měsícem

    I remember playing this game as a kid. I don’t think I was old enough to really enjoy fully.
    Interesting video thanks for the info. You’re doing Gods work.

  • @Nubifier
    @Nubifier Před měsícem +1

    I still have a working copy of Black&White. I noticed one of the biggest issues was controlling your mouse while in game. After a bit of messing around I found out that the high DPI settings for modern mice just don't work here and I had to use a max DPI of 400 for any semblance of control.

  • @limpbiskit66
    @limpbiskit66 Před 2 měsíci

    The algorithm stuck this in my feed. Glad it did. Subbed

  • @ChrisR3tro
    @ChrisR3tro Před 2 měsíci

    Very cool. Thanks for sharing this. Also, I think a video where you attempt to fix the other issues with the game could be very interesting!

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci +2

      It's on the backlog

    • @ChrisR3tro
      @ChrisR3tro Před 2 měsíci

      @@nathanbaggs Nice! Looking forward to it.

  • @nathantron
    @nathantron Před 2 měsíci +2

    You should do this for a lot of abandonware games through the ages and show the trends and changes in protection algorithms and how they have evolved.

  • @beefgoat80
    @beefgoat80 Před 2 měsíci +1

    I remember the gesture system in Black and White being super frustrating. Cool game concept though. I think my favorite avatar was the cow.

  • @Novacification
    @Novacification Před 2 měsíci +1

    The community patches for the B&W series are pretty good if memory serves. I own all games but downloaded a collection with everything because it was easier to get running and more stable to play.

  • @ShiroiAkumaSama
    @ShiroiAkumaSama Před 2 měsíci

    Even though I will never try this, it is still interesting to watch. I even love how you make older games able to run again.

  • @zacadoole1
    @zacadoole1 Před 2 měsíci +1

    May I suggest using the dark theme ghidra recently added, going back and forth from the dark debugger to the bright white of ghidra is not very easy on the eyes

  • @samaustin765
    @samaustin765 Před měsícem

    Very interesting, i thought i had a similar problem, but then realised i still had the disks for both B&W and its sequel B&W2.
    I unplugged my DVD drive to install another hard drive so instead of installing from the disk i will probably download an image as it's less effort. I would love to see a video of you trying to get games like this to run properly on newer versions of windows!

  • @brucegoatly
    @brucegoatly Před 2 měsíci

    Back in the days of the BBC Micro I had a game that wouldn't load from my (non-standard) disk drive because the protection code used a call to the drive hardware that wasn't supported. With some luck and a primitive disassembler I managed to get it working. I contacted the games company (small market, remember) and suggested a fix. They then sent me later games to check they would run; some didn't, which led to more fun. I enjoyed the challenge for its own sake rather than for the gameplay, so I enjoyed your video for the memories it brought back!

  • @Klinky87
    @Klinky87 Před 2 měsíci

    Enjoying your videos! Flashbacks to me trying to figure these things out 15-20 years ago. I mostly failed, but its still a fun puzzle. How do you feel coding has changed, solution wise, 10-15 years ago compared to today. I mean if u look at drm free games today, are they an easier or harder "puzzle" to crack?

  • @robertmccallen1902
    @robertmccallen1902 Před 24 dny

    I think you solved an old riddle from my childhood, ty. My friend and I were playing metal gear for 8 bit Nintendo waaaaaay back in the day. It had the most frustrating password system where it was like 32 characters long and had no backspace. if you entered a letter wrong it required you fill in all the blanks to input and then get rejected. One day my fat finger missed a letter and hit z by mistake. I just filled the rest of the password in with the letter z and it was like a debug code or something. IT was a late game save file with most everything done. We wrote it down and it worked. The look on our faces when it said password accepted was priceless.

  • @kevfquinn
    @kevfquinn Před 2 měsíci +1

    After you described the function processing the last field (take ascii values, subtract 0x30 (that's ascii for '0'), multiply increasingly by 10) the obvious conclusion is that it's just turning the text string "4444" into the actual number - and 4444 in hex is 0x115c which is what you had; so quick intuition confirmed there, without having to work on building clean source code for the Ghidra decompile. It's worth becoming fluent in ascii, hex vs decimal, etc to streamline this kind of stuff which should become obvious without so much work. The first function with its bit twiddling is likely a CRC or similar polynomial-based checksum from the look of the Ghida decompile you flashed up. If you're interested, search for highly optimised CRC algorithms - it's a fascinating topic in its own right - and you might find a good match.

  • @ICountFrom0
    @ICountFrom0 Před 2 měsíci

    It might take a BIT more work, folks say that this is one of the hardest games to get running on modern systems, but this is a fascinating start, and I look forward to the rest of the vids.

    • @runeingebretsen8378
      @runeingebretsen8378 Před 2 měsíci +1

      i have always wondered if it's possile to make a game into a dlc of a newer game in the same series,like the last of us addon part,where you play as the girl.

  • @nicolasmayer618
    @nicolasmayer618 Před měsícem

    This brought up some memories, just that I was using SoftICE, W32DASM and IDA :)
    Btw, subtracting 0x30 from an ascii input converts a „string“ number to an integer (some stuff you learned and used, you will never forget ;) )

  • @legend4646
    @legend4646 Před 2 měsíci

    absolutely coolest vids on yt rn for me, more reverse engineering adventures ahoy!

  • @charlesturner897
    @charlesturner897 Před 2 měsíci

    Where you mentioned it was consuming a "-" and the box only allowed for numbers so it was basically skipping it, I would guess that the key has "-" between each string of characters when it's written in the manual, and that is a safety to ignore them if the user keys them in.

  • @ifatreefalse
    @ifatreefalse Před 2 měsíci +1

    to be fair, i remember this being the only game i ever cracked with iCE debugger in college 20 years ago, because there was a tutorial out for how to crack games based on this one.

  • @rsearchtim
    @rsearchtim Před měsícem

    I found your video very cool and interesting.
    While watching it I thought; why not recompile the installer not to even promote for a key.
    But then I thought your video was very informative, so I’m glad you showed the reverse engineering.
    Then I thought; I wonder if you’d be able to explain how to allow for the game Unreal Tournament 3 to play LAN games without a lot of the fuss that’s posted online that seems to be hit and miss

  • @skilz8098
    @skilz8098 Před 2 měsíci

    This kind of reminds me of the algorithm that is used within the NES game The Guardian Legend on how you as the player can put in a long string of characters (glyphs) from a large character set in order to continue where you last left off. This string would store or contain all of the necessary information for the map, the keys and weapons you had, your health, your world position, which bosses you did or didn't beat, etc... The engineering involved to craft such an algorithm is truly amazing especially when considering that most NES games were written in 6502 Assembly.

  • @F1LDB
    @F1LDB Před 2 měsíci

    I loved that game!! Now, I don't know anything about computers and even less about coding but this video was hella interesting!!

  • @VirtuosicKitty
    @VirtuosicKitty Před 2 měsíci

    CZcams algorithm just decided I wanted to see your content... it wasn't wrong. Loved that game, love this video. I love how you deeply explained your methodology very educational, great insights. 👍🙏

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci

      Sometimes it gets it right (: glad you enjoyed

  • @JMPDev
    @JMPDev Před 2 měsíci

    Absolutely adore black & white. Very much looking forward to you fiddling with it more :)

  • @alexriesenbeck
    @alexriesenbeck Před 2 měsíci

    Great work, and thanks for not exposing those last four digits 😊

  • @rawbmar1166
    @rawbmar1166 Před 2 měsíci +1

    May I ask what beginner steps would you take for learning reverse engineering? I recently learned a lot of C++ basics and advanced but am not quite here yet. Any advice / tips are greatly appreciated.

    • @nathanbaggs
      @nathanbaggs  Před 2 měsíci +1

      A good starting point is to write some simple programs in C and then open them up in ghidra and start poking around. Try to understand how the code you wrote translates to the assembly

  • @richardtmulholland
    @richardtmulholland Před měsícem +1

    But how did you work around the safe disc program as that’s the issue I’m having trying to run my actual disc with key

  • @ianskinner1619
    @ianskinner1619 Před 2 měsíci +1

    Prodigy and razor111 used to crack games like this back in the 90;s and 00's, they would get games from the local distributor prior to release to public and crack them, most would be out on the day of release or earlier.. at the height of the cracking game, these guys could do what you are doing in about 4 min. package it and ship it in with a bin file of the game. Vaughn, or 'little china' , just north of Toronto.

  • @GaneicMehiro
    @GaneicMehiro Před 4 dny

    I remember a similar game installer with just numbers where i just once input random numbers three times and managed to install. Good old games

  • @Finkelfunk
    @Finkelfunk Před 2 měsíci

    Ngl, you are an absolute chad for learning sign language at the end of the video. :)
    Used to love that game!

  • @PhreakDarkSoul
    @PhreakDarkSoul Před 2 měsíci

    You can also replace DLLs in such setup routines by your own dummy DLLs. And you can de- and recompile the setup routine, too.
    But a "valid" key may be needed for the game anyway, so the dummy DLL can do this trick without entering any key, too.
    And if you take over the "magic part", the dunmy DLL can create valid random keys, too.

    • @tomasrosenberg3430
      @tomasrosenberg3430 Před 2 měsíci

      What does a DLL contain?

    • @PhreakDarkSoul
      @PhreakDarkSoul Před 2 měsíci

      @@tomasrosenberg3430 Technically the same as EXE files.

    • @tomasrosenberg3430
      @tomasrosenberg3430 Před 2 měsíci

      @@PhreakDarkSoul Ok, so why the different name? Honest question.

    • @PhreakDarkSoul
      @PhreakDarkSoul Před 2 měsíci +1

      @@tomasrosenberg3430 Because the used setup engine uses DLLs for custom action implementation (for such kind of tasks).

  • @erebostd
    @erebostd Před 2 měsíci +1

    Very entertaining, thank you for sharing 😁👍

  • @jorgefreitas5983
    @jorgefreitas5983 Před 2 měsíci

    Black and White! You just brought me some good old memories... Perhaps even ressurrected the Old God in me to play this game again at some point? XD

  • @witzman
    @witzman Před 2 měsíci

    I am looking for a way to play this game since 4 years, wasnt able to find a solution. Glad you did it, even, if it does not help me

  • @technickuk
    @technickuk Před 2 měsíci

    Really interesting video, amazing what can be done with the right tools. I remember early versions of Windows 95 that would accept a licence key of all 1s. They fixed that in revision B, unsurprisingly. 😁

  • @GrantVisserUK
    @GrantVisserUK Před měsícem +1

    Blast from the past .... thoroughly enjoyed B&W :-)

  • @RealEngineer
    @RealEngineer Před 2 měsíci

    Great video as always!🎉

  • @JanA-yb8lh
    @JanA-yb8lh Před 2 měsíci

    I started playing that game a few weeks ago, because I could not finish it as a child 😢
    Lucky for me I still have my original disk around. The game runs great with the community patches on Linux using Proton. Same for b&w 2.
    Do you plan on patching it yourself? Would like to see that but it is probably a lot of work

  • @gamesafoot
    @gamesafoot Před 2 měsíci

    I have really fond memories of Black & White. But playing it today, its amazing how little game there is. It feels like a tech demo.
    Also, the bit where you lose your creature and it gets its karma flipped is top-tier Molyneux bs.

  • @teafx3
    @teafx3 Před 9 dny

    Gave me flashbacks (the good kind) to CS201 and my capstone senior design course when I was in charge of coding an automated pill dispenser. It's so much fun to break down a piece of code and understand it so you can get it to do what you want it to do. Just making something work feels like a very small pushback against the unrelenting tide of entropy and chaos. Well done. Oh, and Black and White was a great game, and I wish somebody else would come out with a game where I can train a giant ape to eat villagers and then poop on their houses.

  • @mnarath8376
    @mnarath8376 Před 2 měsíci

    hmmm very interresting i was always interrested in decompiling binaries so this is helpful

  • @Chronophylos
    @Chronophylos Před 2 měsíci

    you are a legend for the ending :D

  • @DJTimeLock
    @DJTimeLock Před 2 měsíci

    I don't know low level machine code but i still find it super interesting to see how things work under the hood and how you can reverse engineer it. Something like this wouldn't be possible on modern games i suppose? Since validation is done on a server side?