How I Fixed a 10 Year Old Guitar Hero Bug Without the Source Code

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

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

  • @leglaff5096
    @leglaff5096 7 ปีที่แล้ว +833

    fixes 10 year old bug for a huge community
    community switches to a new game
    rip

    • @kristiann4346
      @kristiann4346 7 ปีที่แล้ว +29

      leglaff "huge" lol you think the gh3 community is huge? The game has been dead for years.

    • @eliel1815shadow
      @eliel1815shadow 7 ปีที่แล้ว +31

      daah, kristian is right dudes, just like doom comunitty, they are long dead by now irl, the real huge communities are on PUBG right now fucking loosers (it is sarcasm)

    • @CAPTAIN_CLOCK
      @CAPTAIN_CLOCK 7 ปีที่แล้ว +9

      I hate how they all changed to clone hero... I mean its easier to add customs but its not even official

    • @Nettacki
      @Nettacki 6 ปีที่แล้ว +72

      GH3 with a bunch of mods attached isn't official either.

    • @Jdb_
      @Jdb_ 5 ปีที่แล้ว +3

      Gameplays CCXXI doesn’t mean it isn’t good it’s still a very good clone with a easy way to add songs and it is comparable to gh3 it makes sense to change

  • @acai28
    @acai28 7 ปีที่แล้ว +967

    The ELI5 bits are fucking incredible. Thank you for all the good shit Exile

    • @Justdat799
      @Justdat799 7 ปีที่แล้ว +13

      SB Gaming TF?

    • @nightnightfire644
      @nightnightfire644 7 ปีที่แล้ว +13

      SB Gaming stfu

    • @acai28
      @acai28 7 ปีที่แล้ว +39

      the term 'explain like i'm 5' doesn't apply to just reddit, dumbass

    • @nightnightfire644
      @nightnightfire644 7 ปีที่แล้ว +1

      Acai ya he's a fuck head you're the only one I swear who doesn't do fake gh3 vids I love them

    • @donnaken15
      @donnaken15 7 ปีที่แล้ว

      +J-rod H he doesn't play Guitar Hero anymore

  • @JasonParadise
    @JasonParadise 7 ปีที่แล้ว +1493

    This is an understatement: You're fucking incredible.

    • @SkeletorAssasin
      @SkeletorAssasin 7 ปีที่แล้ว

      Language plezz :P

    • @ivanvelasco3757
      @ivanvelasco3757 7 ปีที่แล้ว +12

      "No cursing on my Christian app please 😇"

    • @jonte3132
      @jonte3132 7 ปีที่แล้ว +6

      SORRY SIR YOU ARE IN A CHRISTIAN COMMENT SECTION
      ALL SWEARING PROHIBITED

    • @necro_nova
      @necro_nova 7 ปีที่แล้ว

      Hi Jason :)

    • @TearTheRoof0ff
      @TearTheRoof0ff 7 ปีที่แล้ว +5

      Well, fuck.

  • @GavinPugh
    @GavinPugh 7 ปีที่แล้ว +502

    Well done! As an ex-NS developer, that was a cool trip down memory lane. :) Funny to see how many "Skater" references shipped in GH3!

    • @martti2598
      @martti2598 7 ปีที่แล้ว +67

      As LocalH loves to say, GH3 is a note hitting engine glued to a skateboarding engine with Pritt Stick

    • @BrandNewByxor
      @BrandNewByxor 6 ปีที่แล้ว +9

      Nice man. I'm trying to write a QB decompiler (and compiler) for THPS scripts at the moment but it's difficult to figure out how the QB bytecode works. Did you ever work with QB scripts?

  • @RumpIeForeskln
    @RumpIeForeskln 7 ปีที่แล้ว +592

    Dude, this shit is surprisingly fun to watch even though all the actual learning just goes in one ear and out the other.

    • @karanvasudeva5424
      @karanvasudeva5424 7 ปีที่แล้ว +52

      But you will remember to detest the name of the House of SecuROM until the end of days...

    • @GoulartGH
      @GoulartGH 7 ปีที่แล้ว +32

      or Denuvo, nowadays

  • @mattb6001
    @mattb6001 7 ปีที่แล้ว +193

    dude. not only are your software reverse engineering skills insane, but this video is incredibly well put together. you got my thumbs up.

  • @NonTwinBrothers
    @NonTwinBrothers 7 ปีที่แล้ว +377

    Getting highest possible score in levels (check)
    Increasing quality of videos (check)
    Analyzing the games code in detail (check)
    ExileLord is becoming the new Pannenkoek confirmed

    • @fivepointt
      @fivepointt 7 ปีที่แล้ว +47

      Wait until this man crosses QPU's with a guitar controller first.

    • @HackaseSky
      @HackaseSky 7 ปีที่แล้ว +17

      Supah slayah With half of a note press, no less.

    • @Geegs
      @Geegs 7 ปีที่แล้ว +32

      How to beat TTFAF with 0.5 strums

    • @T3WGaming
      @T3WGaming 7 ปีที่แล้ว +16

      Soulless 7 confirmed to build up speed for 12 hours until the track launches into a parallel universe.

    • @OfficialGlitchDoctor
      @OfficialGlitchDoctor 7 ปีที่แล้ว +15

      >tfw he actually puts in some pannenkoek memes during the directions part

  • @Turtle_Pong
    @Turtle_Pong 7 ปีที่แล้ว +225

    This is incredible! It's almost like you have a love/hate relationship with reverse engineering this game. Congrats on getting this far, and thank you for all the hours spent for the community. I wanna learn more about coding in video games now.

    • @BobBobson
      @BobBobson 7 ปีที่แล้ว +11

      It's not the game that's the issue. It's SecuRom. If not for that this would've been a relatively quick and easy fix.

    • @virgilsparda2505
      @virgilsparda2505 7 ปีที่แล้ว

      please take your stupidity elsewhere

    • @virgilsparda2505
      @virgilsparda2505 7 ปีที่แล้ว +1

      KICKTHEBASSWITHTHEFACE! You can’t spell correctly so I know you can’t program

    • @emoAnarchist
      @emoAnarchist 7 ปีที่แล้ว

      why do you have to hate on the man, he clearly put more effort into this than you have. you claim you are oh so much better than him, why dont you fully solve the bug

    • @mascot4950
      @mascot4950 7 ปีที่แล้ว +12

      @KICKTHE..: What he did is literally the definition of reverse engineering. Namely the act of analyzing something in order to learn the details of its design/construction/operation. That the intent is often to create something similar, or to improve upon what you have reverse engineered, is separate from the actual act of reverse engineering.
      It's really all in the name. You can engineer (create), and you can reverse engineer (take apart something that was previously created). Using knowledge from reverse engineering to create something new, is just engineering.

  • @coredumperror
    @coredumperror 7 ปีที่แล้ว +43

    As a programmer who hasn't ever had to work at the assembly level (and hasn't even used a C-level language in well over a decade), I applaud you for explaining this well enough for me to follow along!

  • @Zaankiirah
    @Zaankiirah 7 ปีที่แล้ว +397

    I'm too lazy" *Has been making sick update for 10 year old game that has a questionable community*
    Thank you for all these updates tho... I probably wouldnt even be playing gh3 anymore if it wasnt for your amazing patches!

  • @g0dsm4ck100
    @g0dsm4ck100 7 ปีที่แล้ว +41

    9:47 "Because I'm lazy..." after watching this, surely you cant be serious

    • @g0dsm4ck100
      @g0dsm4ck100 7 ปีที่แล้ว +3

      lol dude it was a joke, the fact that he's going through all of this mind boggling shit and then says, "Im lazy" is just ridiculous.

    • @bakerdude06
      @bakerdude06 6 ปีที่แล้ว +8

      If you were a software developer, you would understand.

    • @caughtintheweb0
      @caughtintheweb0 4 ปีที่แล้ว +2

      @@g0dsm4ck100 It's not though, for him, going through the process of evading SecuRom is a total pain in the ass, but simply fixing smaller things into he code is not. But making a counter bit of code to add objects to the text pool would take a fair bit of time and creativity, and he was probably tired from other work and didn't want to do it.

  • @jamesdn12
    @jamesdn12 7 ปีที่แล้ว +59

    You are the Guitar Hero.

  • @GoulartGH
    @GoulartGH 7 ปีที่แล้ว +64

    in all seriousness though, this is really interesting; i assume a similar process goes for any reverse engineering process (especially for obfuscated stuff, like this). being able to figure out functions and methods from a seemingly random chunk of bytes is something i can barely comprehend, so reverse engineers (and people who deal with assembly in general) have my utmost respect. thanks for all the work you've been doing on GH3, and for this video.

    • @ExileLord
      @ExileLord  7 ปีที่แล้ว +20

      It usually isn't hard to tell if a random chunk of data is code. You simply try to interpret it as code at a few different places and see what you get. In a sane compiler this would actually be really easy since most code is surrounded by "0xCC" padding. Securom makes this more difficult since it throws in essentially "random x86" padding at parts. Also after staring at disassemblers alongside hex editors for a while you start to spot some patterns as well.

    • @DJ_POOP_IT_OUT_FEAT_LIL_WiiWii
      @DJ_POOP_IT_OUT_FEAT_LIL_WiiWii 7 ปีที่แล้ว +1

      Stack winding/unwinding is a pretty good tell, three sequential pop/push instructions and you're on to something.

    • @admkbldwn
      @admkbldwn 7 ปีที่แล้ว +5

      "Yeah, after a while you just start seeing the Matrix and stuff"

  • @Morkeric
    @Morkeric 7 ปีที่แล้ว +743

    can we all build a shrine to ExileLord

    • @ZohondeKids
      @ZohondeKids 7 ปีที่แล้ว +8

      BC Richard No, _A SHRINE'S NOT GOOD ENOUGH!_ we need to get this man a mansion _with_ a shrine.

    • @makeitsweetsweetsweet
      @makeitsweetsweetsweet 7 ปีที่แล้ว +6

      BC Richard WE NEED MORE THAN A SHRINE!
      *WE NEED A SHRINE WITH A 50 FEET TALL STATUE OF EXILELORD!*

    • @donnaken15
      @donnaken15 7 ปีที่แล้ว +1

      Need to give him a job at Activision/Aspur

    • @donnaken15
      @donnaken15 7 ปีที่แล้ว

      +donnaken15 *aspyr

    • @32th
      @32th 7 ปีที่แล้ว

      I want to like this comment, but it has 420 likes.

  • @Wilker_uwu
    @Wilker_uwu 7 ปีที่แล้ว +40

    the bug was _exiled_

    • @qrtrx4
      @qrtrx4 6 ปีที่แล้ว +3

      HaaH

  • @b0bsaget007
    @b0bsaget007 7 ปีที่แล้ว +128

    99 problems and bugs in the code,
    99 problems and bugs;
    Debug one down and patch it around,
    117 bugs in the code!

    • @EkosFoxLeviathan
      @EkosFoxLeviathan 7 ปีที่แล้ว +8

      ;' ) someone give a prize to this man please

    • @JediMastr80
      @JediMastr80 6 ปีที่แล้ว +4

      Bethesda and Ubisoft follow this religiously.

    • @litessbu
      @litessbu ปีที่แล้ว +1

      This is the funniest comment I’ve seen in a while

  • @ChrizzxDness
    @ChrizzxDness 7 ปีที่แล้ว +15

    5:22
    Defeat Gywn Lord Of Cinder on NG+ Ohh Exile, you sneaky sneaky man you.

  • @kingawsume
    @kingawsume 7 ปีที่แล้ว +12

    This, kids, is why we don't use SecuROM.
    It make people who want to make mods no longer want to.
    Seriously though, thanks for this. I have an old Kramer PS2 guitar and dongle, it's about time I got a PS2 to USB adapter and an eyepatch.

  • @ArkyonVeil
    @ArkyonVeil 4 ปีที่แล้ว +1

    I've watched this video time and time again over the years, as I learn programming concepts more and more of this inspiring video becomes understandable.
    Fascinating!

  • @StephenChapman
    @StephenChapman 7 ปีที่แล้ว +1

    Excellent stuff! Your editing went a long way in making this type of subject approachable for everyone. I look forward to more videos from you like this!

  • @KimCheonGi
    @KimCheonGi 7 ปีที่แล้ว +34

    4:40 In case you've never heard of SecuRom, it's a piece of shit that fucks with everything it touches.

    • @doombybbr
      @doombybbr 7 ปีที่แล้ว +7

      Just hearing the guy talking about it I am thinking "A few hours for a fucking function call? HOW DOES THAT GAME EVEN RUN!?" and "Sounds like a great way to ruin the job of your bug testers" and most importantly "I am pretty sure that doing something in such a long winded way would cause a whole lot of errors due to lack of communication between the game programmers"

    • @DJ_POOP_IT_OUT_FEAT_LIL_WiiWii
      @DJ_POOP_IT_OUT_FEAT_LIL_WiiWii 7 ปีที่แล้ว +2

      There's no evidence that the copy protection is hampering substantially the game here. Define long winded for a processor that handles a million instructions per second. The only sketchy thing that is called out in the video is using undocumented behavior of the x86 instruction set. More specifically padding the unused parameter part of instruction boundaries with garbage data.

    • @littlebigphil
      @littlebigphil 7 ปีที่แล้ว +1

      Securom is probably turned off for debug builds.

    • @doombybbr
      @doombybbr 7 ปีที่แล้ว +2

      Securom could probably cause bugs and stalls, so not testing it is dumb.

    • @littlebigphil
      @littlebigphil 7 ปีที่แล้ว +1

      If Securom is causing a bug they aren't going to be able to fix it anyway.
      I doubt it would cause stalls. From what he showed it did in the video, any stalling would happen only on first call. If there were any stalls they'd just look like loading time.
      If someone was really concerned with how it affected their code, then they could just turn it on when looking for bugs. When they find a bug they'd turn it off, and try and replicate the bug. If the bug stays they know Securom has nothing to do with it, and they can keep Securom turned off while debugging like normal.
      The same process works with performance testing, but if the performance issue left when they turned Securom off they could do something to fix it. They could just add a bunch of dummy calls to the methods to resolve the obfuscation ahead of time.
      Oh and if the obfuscation isn't deterministic, which it probably isn't, they might be able to fix a Securom caused bug just be reapplying it. If this is the case, then testing for bugs with Securom enabled would only make sense if it was a final build candidate.

  • @proaxel7003
    @proaxel7003 7 ปีที่แล้ว

    The main take I got out of this is that fixing bugs without the source code is a pain in the ass. And for that I commend your dedication!

  • @Luyspa13
    @Luyspa13 7 ปีที่แล้ว

    Literally haven't played this game in years and have a very shallow programming background. Enjoyed every bit of this vid. Congrats, man!

  • @CherryNobody
    @CherryNobody 7 ปีที่แล้ว

    I came onto TH-cam tonight tipsy, I left with a new subscription to a impressive looking coder who I could still understand why things happened through the haze of alcohol. Solid work.

  • @miskeeping
    @miskeeping 7 ปีที่แล้ว

    You're seriously the hero of the community, even if not as many people play GH3 anymore, you did something fucking incredible. Awesome job, Exile. Love everything you do

  • @koyzumie
    @koyzumie 7 ปีที่แล้ว +3

    This was so informative, thank you. I've always wondered what it was like to work the code of an allready compiled game. I never considered that they would put preventative measures into it to stop you. Impressive how you figured out a way around it anyway.

    • @andrewmackenzie2638
      @andrewmackenzie2638 7 ปีที่แล้ว +2

      The preventative measures are mostly to stop people from cracking games and copying them

    • @ExileLord
      @ExileLord  7 ปีที่แล้ว +1

      They make it a pain in the ass for me anyways though even if that's what they say they're for. Denuvo and SecuROM are both incredibly invasive.

  • @JustZackster
    @JustZackster 7 ปีที่แล้ว +8

    I'm crying. I understood like 5% of anything you said but I love you so much

  • @ley3198
    @ley3198 7 ปีที่แล้ว

    Dude, the amount of work to fix a glitch like this is epic. You make me want to play the damn game.

  • @bekahc2
    @bekahc2 4 ปีที่แล้ว

    I have been playing vanilla Guitar Hero for years now and didn’t discover Clone Hero until a couple of months ago thanks to TH-cam. I am constantly blown away by what comes out of your brain dude. Thank you for making the world an easier place to live in. ❤️

  • @zZGzHD
    @zZGzHD 7 ปีที่แล้ว +1

    Your programming and editing is orgasmic.

  • @wildwest1832
    @wildwest1832 7 ปีที่แล้ว +66

    man this guy knows a lot about x86 assembler.

  • @donnaken15
    @donnaken15 7 ปีที่แล้ว +11

    2:45
    That Double D constructor image. XD

  • @JediOfTheRepublic
    @JediOfTheRepublic 7 ปีที่แล้ว

    dude, this was a great video. I didn't even realize Guitar Hero 3 has a major bug in it. Played it only on the 360 until that red ringed. Looking forward to what that next error brings.

  • @NonTwinBrothers
    @NonTwinBrothers ปีที่แล้ว +1

    Oh man, how much I've learned in the past 5 years. I can actually understand what you're saying now :D
    (Everything other than the disassembly workflow, that's still a mystery to me though)
    On the chance you feel this comment is worth responding to, quick question:
    At 5:14 Was the string "You Are Now Entering a Restricted Area" actually part of the rom?? If so would it be part of all SecuROM routines?

    • @serraramayfield9230
      @serraramayfield9230 ปีที่แล้ว

      No. It's in green text, meaning that they're comments left by Exile/IDA. The function name "You Are Now Entering a Restricted Area" was set by Exile too.

    • @NonTwinBrothers
      @NonTwinBrothers ปีที่แล้ว

      @@serraramayfield9230 You're supposed to read the code before commenting

  • @victordarkes311
    @victordarkes311 7 ปีที่แล้ว

    Never was interested in my learning assembly in college and my professors didn't make it interesting but this video right here is fantastic! I love GH and you are an incredible dev!

  • @pvic6959
    @pvic6959 7 ปีที่แล้ว +1

    This was absolutely amazing and as a cs student, I am super jealous of your skill
    the only suggestion I have is to keep the text up longer for example the one at 3:47. I don't have trouble reading English and most of them were pretty fast for me so for non-first language speakers it would be too fast for sure
    again, just some constructive criticism, but the video was 10/10 otherwise :)

  • @DrewBrooksPB
    @DrewBrooksPB 7 ปีที่แล้ว

    This is fantastic! I'm currently taking Assembly Lang. at my University, this is actually a great way to understand this stuff for people like me. You turned my procrastination into motivation for this project!

  • @dannieltaylor5833
    @dannieltaylor5833 7 ปีที่แล้ว

    This is amazing! I am such a geek for this because I program here and there and dream of becoming a game developer, so when I see something like this I just don't know what to say other than how awesome it is. You, my friend, are great and have the patience of a saint, and some pretty awesome reverse-engineering skills.

  • @nothingness4136
    @nothingness4136 7 ปีที่แล้ว +2

    You got a kudos from Ilfak Guilfanov himself in his latest tweet. Amazing video, congratulations. Make a series on reverse engineering. Subscribed.

  • @NikolaNiKucu
    @NikolaNiKucu 7 ปีที่แล้ว

    This video is 12 minutes long. I hate programming but I watched whole video.
    I think you just earned another achievement. It is really well made, good job :)

  • @Azortharion
    @Azortharion 6 ปีที่แล้ว

    I know nothing about coding or programming and yet this video enthralled me all the way through.

  • @Mati12Osorio
    @Mati12Osorio 7 ปีที่แล้ว

    You are our Demigod of the GH3! :D This really looked interesting btw.

  • @GoulartGH
    @GoulartGH 7 ปีที่แล้ว +62

    i can't believe plumato is fucking dead

    • @zwingler
      @zwingler 7 ปีที่แล้ว +1

      wait, what ?

    • @Wilker_uwu
      @Wilker_uwu 7 ปีที่แล้ว

      ???????

    • @GoulartGH
      @GoulartGH 7 ปีที่แล้ว +8

      he died in irma

    • @Benobot99
      @Benobot99 7 ปีที่แล้ว

      Is this a sick joke? Is Tristan okay?

    • @Wilker_uwu
      @Wilker_uwu 7 ปีที่แล้ว

      i hope this is a joke :(

  • @PendragonDaGreat
    @PendragonDaGreat 7 ปีที่แล้ว +99

    Around 260 songs? Array pointer overflow at 255/256 maybe?

    • @ExileLord
      @ExileLord  7 ปีที่แล้ว +76

      My guess is that they have an array holding 256 objects and that we're getting memory corruption when going over that.

    • @PendragonDaGreat
      @PendragonDaGreat 7 ปีที่แล้ว +13

      Yeah, wouldn't surprise me, and depending on where that limit is set it might take a bit more doing to fix that.

    • @rogercruz1547
      @rogercruz1547 7 ปีที่แล้ว +5

      Well... if they used a raw array and not a list object that should expand it's internal array when used properly...
      Just like they created a pool of text objects and didn't add more to it when it reached a threshold...
      What's wrong, activision? :(

    • @chameleonedm
      @chameleonedm 7 ปีที่แล้ว +4

      Presumably because they want to know the exact compiled size of the game for retail purposes and aren't concerned with putting limits on a potential modding community (at the time)

    • @DJ_POOP_IT_OUT_FEAT_LIL_WiiWii
      @DJ_POOP_IT_OUT_FEAT_LIL_WiiWii 7 ปีที่แล้ว +2

      My guess is more or less than 256, most likely an arbitrary number like 400/300/200/150... This is a pool, there's absolutely no need to have the end of it aligned to the bus size. The programmer goal here is to estimate the maximum visible objects, make the pool too big and you're overspending on memory budget. It's not the kind of number that I would pick to align because there is no repetitive copy/read/write to that memory block. The number of song is quite irrelevant to the maximum number of text objects, some could be instantiated and hidden/culled from display.

  • @Ornej
    @Ornej 7 ปีที่แล้ว +21

    11:40 Amalgamation 2 YES FUCK YEA

  • @PrincessGrouchy
    @PrincessGrouchy 4 ปีที่แล้ว

    This wasn't just informative, it was an entire saga. Thank you for this.

  • @BeyondOneSoul
    @BeyondOneSoul 7 ปีที่แล้ว +8

    when skill goes out of control , good job

  • @ApexHardcore
    @ApexHardcore 7 ปีที่แล้ว

    As someone who is not a programmer but personally associated with people who do similar work in the japanese arcade game scene, this was really fascinating to me to get an insight on how all the magic is done. Thanks for making this!

  • @RayLJL
    @RayLJL 7 ปีที่แล้ว

    I'd love just a series as well edited and informative for any game. This was super interesting

  • @masterkeaton1000
    @masterkeaton1000 7 ปีที่แล้ว

    Thank god for the ELI5 parts. I understand coding to a degree but a lot of that stuff went straight over my head! Good work though ExileLord

  • @Loneeeey
    @Loneeeey 6 ปีที่แล้ว

    Dude.. you series need to begin a reverse engineering channel or series... This was amazing.

  • @greg7mdp2
    @greg7mdp2 7 ปีที่แล้ว

    This is the best video on reverse engineering I ever watched - great job!

  • @CeilingPanda
    @CeilingPanda 7 ปีที่แล้ว

    Not sure why or what triggered this into my feed, but now I know where to go when I need to explain stuff like this to friends, great stuff :)

  • @CookiePLMonster
    @CookiePLMonster 7 ปีที่แล้ว +1

    Excellent explanation and editing! Indeed, that's an usual day when modding/fixing GTA ;)

  • @burretploof
    @burretploof 7 ปีที่แล้ว

    This is incredibly cool. I always wanted to learn a bit more about debugging and maybe fixing games but I don't even know where to start.

  • @ScepticLlama
    @ScepticLlama 7 ปีที่แล้ว

    hey dude, that is really awesome. As a programmer, watching this is just even more awesome. Keep up the work. You earned my sub

  • @StarGazerTom1991
    @StarGazerTom1991 7 ปีที่แล้ว

    Please do continue this! I'd love to see what else you do to fix the new limitation!

  • @DennisGr
    @DennisGr 7 ปีที่แล้ว

    from a computer engineer working for a certain seattle based e commerce and cloud computing company: the IT sector always needs competent people like you

  • @Zeldon567
    @Zeldon567 7 ปีที่แล้ว

    Where would I start learning stuff like this with the only coding language I've dabbled in being lua? This seems really interesting to me and I'd like become a programmer. To reiterate: Where should I start?
    Also, fantastic work on the video. Not only did you show and explain what you did, you talked about it in a way that was easy for a noob to understand and in a way that was entertaining. Serious props, man.

  • @patxs
    @patxs 7 ปีที่แล้ว

    i love these types of vids from you, they're really good tbh
    also, nice song.

  • @Drjebus
    @Drjebus 7 ปีที่แล้ว

    That is informative as hell, and *very* digestible for entry-level coders.

  • @prvk3
    @prvk3 7 ปีที่แล้ว

    honestly, I always hated assembly but you make it look so fun ! props to you!

  • @tashpiro01
    @tashpiro01 7 ปีที่แล้ว

    great vid man, it kept me really interested through the whole video. nice edits btw

  • @fullautorevolver
    @fullautorevolver 7 ปีที่แล้ว

    Making these video is your calling you need to start making how to videos about this stuff, and get people interested in the basic! Very informative and put together video!

  • @davidmenlo9305
    @davidmenlo9305 7 ปีที่แล้ว

    This is an awesome video. Glad I found it. I've done some blind reverse engineering of file formats, I'm looking forward to a part 2 for that next bug :)

  • @MrGreenYeti
    @MrGreenYeti 7 ปีที่แล้ว

    Had literally zero clue about anything in this video, but was still entertained. :D

  • @ryancallahan7845
    @ryancallahan7845 6 ปีที่แล้ว

    Legitimately amazing to watch. Well done, Sir.

  • @Waspinator1998
    @Waspinator1998 7 ปีที่แล้ว

    I don't even play this game or know how to write code on such a complex and involved level, but this video was seriously fucking cool. Also, I caught those Vektor songs near the end. Great taste.

  • @TheDeAngeloo
    @TheDeAngeloo 7 ปีที่แล้ว

    i know nothing of code yet i watched this in awe and fascination. well done good sir

  • @sarphog
    @sarphog 7 ปีที่แล้ว

    I don't play thid game, nor do I care about anything about this
    But the world needs more people like you. This is amazing, even for someone outside this kinda community. Well done

  • @NDZ12345
    @NDZ12345 7 ปีที่แล้ว

    Please make more videos like this, really interesting to watch the reverse engineering process

  • @imtheHoriZ0N
    @imtheHoriZ0N 7 ปีที่แล้ว

    I'm so proud of myself for being able to mostly follow what you were doing here

  • @Kakerate2
    @Kakerate2 7 ปีที่แล้ว

    Always fun diving into a game to find out how it works right? The best part is that it would take a dev with source code like 5 minutes to fix this. Don't worry bro, I've spent countless hours debugging war3 lol. keep doing what you doing ♥

  • @thunderthunder6568
    @thunderthunder6568 7 ปีที่แล้ว

    You sure know your stuff man. I can only applaud to you

  • @としゆきどま
    @としゆきどま 7 ปีที่แล้ว

    Oh my god this is so amazing.

  • @MaxYoung-Maxinfet
    @MaxYoung-Maxinfet 7 ปีที่แล้ว

    This is Brilliant, awesome video, I hope one day I can learn to do this as well. I have only recently gotten into reverse engineering but this was truly awesome to see the thought process behind this fix.

  • @lunacyriff
    @lunacyriff 7 ปีที่แล้ว

    This is more interesting than a Vsauce video, keep up the good work Exile!

  • @tchangity
    @tchangity 7 ปีที่แล้ว

    Some seriously impressive reverse engineering of the assembly code!

  • @JustifiedH8
    @JustifiedH8 7 ปีที่แล้ว

    This is actually really interesting. I only have basic knowledge of C and Java so it was kinda hard to follow you at times but hell was it worth it! xD

  • @stephenvernyi1683
    @stephenvernyi1683 7 ปีที่แล้ว

    Young software dev here..this was amazing. Absolutely thank you, and keep up the holy work.

  • @BombchuLink
    @BombchuLink 7 ปีที่แล้ว +1

    Even though I know little about C++ (or whatever syntax the PC release uses) and even less about Guitar Hero: With my very decent understanding of 86x I understood about 90% of what you said.
    Also the killer ending to your trials. I know that feel man, at least you somewhat made it better. :)

    • @MajkaSrajka
      @MajkaSrajka 7 ปีที่แล้ว +1

      It is not only your knowledge of 86x, he is actually pretty good at explaining that if you don't know the details you can follow him anyway.
      Oh, and the legos in the background help lol

  • @Hourglass36
    @Hourglass36 7 ปีที่แล้ว

    didnt know there was a bug and I'm nearing 100 songs now. thanks for not letting me be disappointed

  • @ENBOmniGaming
    @ENBOmniGaming 7 ปีที่แล้ว

    Awesome video, crazy amount of work put into this.

  • @ActiveThink
    @ActiveThink 7 ปีที่แล้ว

    I dont even play this game or knew anything about the BUG but i watched the entire video and it was pretty interesting!! good work!

  • @GrandpaGameHacker
    @GrandpaGameHacker 7 ปีที่แล้ว

    This is incredible, love the video style and the content. You sir have my vote and my sub

  • @nou4219
    @nou4219 7 ปีที่แล้ว +1

    Thank you for everything - Exile. We all love you, I mean it.

  • @punstartracer
    @punstartracer 7 ปีที่แล้ว

    I got a kick out of this video, i know some people that would do too.
    You are great man keep the good work

  • @michaelodonnell5710
    @michaelodonnell5710 7 ปีที่แล้ว

    Years ago I was in this deep so I salute you - nice work.

  • @bidomo
    @bidomo 5 ปีที่แล้ว

    Very informative, even thou I'm unable to completely follow you in the explanaition I kinda get a good grasp of what you did in the video, god I need to dust off my books and start studying a bit

  • @philm5380
    @philm5380 7 ปีที่แล้ว

    Subbed. There's something so satisfying about debugging.

  • @blacklightgamer97
    @blacklightgamer97 7 ปีที่แล้ว +26

    I wish I could understand all of this.

    • @7027-s6f
      @7027-s6f 5 ปีที่แล้ว

      blacklightgamer97 same

  • @farlitox
    @farlitox 7 ปีที่แล้ว

    "Defeat Lord Gwyn of cinder on NG+" hahahaha man, you rock, I wish I could understand everything you said because it looks so damn interesting!

    • @qrtrx4
      @qrtrx4 6 ปีที่แล้ว

      "Cross the gap with only 0.5x A presses"

  • @redictor
    @redictor 2 ปีที่แล้ว +2

    i recently learned that apparently the people that made securom made denuvo as well

  • @EdgarUProductions
    @EdgarUProductions 7 ปีที่แล้ว

    That was so fucking intesting, I'd love to see more of this reversr engineering videos.

  • @rankgh1597
    @rankgh1597 7 ปีที่แล้ว +1

    Wow! It would be great to include that feature in the Guitar Hero World Tour with the MOD All-in-One 2.0 and put all the songs in the same setlist ordered according to the type of game.

  • @worldgeektube
    @worldgeektube 7 ปีที่แล้ว

    An absolute joy to see those skills!

  • @celestialaeonproject
    @celestialaeonproject 7 ปีที่แล้ว

    You, my dear sir are a pure genius

  • @doombybbr
    @doombybbr 7 ปีที่แล้ว

    This DRM sounds like a great way to slow down the calling of the constructor to a crawl(really dumb design) and also a great way to cause random bugs. Calling a function a thousand times increases the odds that bits may be lost in the process.

  • @NoName-jy9fg
    @NoName-jy9fg 7 ปีที่แล้ว

    Very cool video, I love seeing code picked apart.

  • @Maxaxik
    @Maxaxik 7 ปีที่แล้ว

    This is so fun to watch, love it!