MMORPG Bot Reverse Engineering and Tracking

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ก.พ. 2018
  • A friend told me that a GW2 trading bot implemented a dumb API. We are going to find and use it to track the bot.
    Play Guild Wars 2:
    account.arena.net/register
    Fiddler: www.telerik.com/fiddler
    .NET Reflector: www.red-gate.com/products/dot...
    HxD: mh-nexus.de/en/hxd/
    IDA Free: www.hex-rays.com/products/ida...
    Windows VM: developer.microsoft.com/en-us...
    =[ ❤️ Support ]=
    → per Video: / liveoverflow
    → per Month: / @liveoverflow
    =[ 🐕 Social ]=
    → Twitter: / liveoverflow
    → Website: liveoverflow.com/
    → Subreddit: / liveoverflow
    → Facebook: / liveoverflow
    =[ 📄 P.S. ]=
    All links with "*" are affiliate links.
    LiveOverflow / Security Flag GmbH is part of the Amazon Affiliate Partner Programm.
    #ReverseEngineering

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

  • @LiveOverflow
    @LiveOverflow  6 ปีที่แล้ว +244

    Bonus video with the analysis of the collected data will come within the next 24h.
    TL;DR summary: If you are a Guild Wars 2 player, don't worry about bots like that. It's child's play. Don't request ArenaNet to waste any resources on it.

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

      great work

    • @LiveOverflow
      @LiveOverflow  6 ปีที่แล้ว +79

      you mean: "learn how to speak English properly"?

    • @GRBtutorials
      @GRBtutorials 6 ปีที่แล้ว +11

      What's wrong with his way of speaking? He (and most Germans) speaks English better than many people in the world, including me. And I'm pretty good!

    • @LiveOverflow
      @LiveOverflow  6 ปีที่แล้ว +45

      As bad as yours?

    • @planktonfun1
      @planktonfun1 6 ปีที่แล้ว +23

      We all understand the video in English, you need global awareness education, English is not the main language of the world and should not be enforced because someone said so

  • @Cevans3535
    @Cevans3535 5 ปีที่แล้ว +12

    I just wanna say that I have watched several tutorials on reverse engineering binaries and I REALLY enjoyed your video because you not only showed what you did to find certain bits of information, but you explained your entire thought process AND you told us the things you did that didn't actually work. 99% of tutorials -- even the good ones -- often leave out explanations of the dead end roads they went down. And the reason that's so important is it helps people who are trying to learn reverse engineering the mindset/thought process they should have when approaching the subject. It's easy to mirror something you watch in a video and think you understand it only to try it on something else and quickly realize you don't really know where to begin or how to approach it. This is the first video I've come across of yours and I'm definitely checking out more after I write this, but I'm really hoping that you take this approach in all of your videos. If not, you should. This is super helpful and you're definitely onto something with this style of talking about a subject. Sorry for the long comment, but I just had to say this. Cheers!

  • @mfiels
    @mfiels 6 ปีที่แล้ว +617

    3:31 Sending login credentials over HTTP? Oh boy...

    • @georgegx95
      @georgegx95 6 ปีที่แล้ว +206

      Well there's an endpoint that returns all users and their api keys.. HTTPS is a detail here, lol

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

      lmao

    • @mfiels
      @mfiels 6 ปีที่แล้ว +12

      George Gougoudis I left this comment before I saw the end, the logged in users endpoint is unbelievable!

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

      Phishy...

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

      these are no real login credentials.

  • @timfreeeed
    @timfreeeed 6 ปีที่แล้ว +21

    great documentation of your workflow. thanks

  • @kubeface115
    @kubeface115 6 ปีที่แล้ว +114

    I don't even play GW2, yet this was utterly fascinating. You're a goddamn wizard.

    • @dalmaronthefirst2237
      @dalmaronthefirst2237 4 ปีที่แล้ว +5

      GW2 has the single least toxic most helpful community I have ever met. Like srsly, its an amazing mmorpg.

  • @tangytech7641
    @tangytech7641 6 ปีที่แล้ว +239

    do more bot videos on popular mmos, this is interesting stuff

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

      @ID3301 only really counts for online games tbh

    • @MoeJama5454
      @MoeJama5454 3 ปีที่แล้ว

      Hearing that makes me think of someone I used to watch, but yeah this is very interesting

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

    The way that you talk through your way of thinking is so good. Makes it so easy to follow your thought process and your reasons for doing things.

  • @gnif
    @gnif 6 ปีที่แล้ว +56

    Your strings are wide which is why IDA didn't notice them. You just need to tell IDA to include wide strings in the strings window (right click and configure)

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

      thanks I'll keep that in mind

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

      @@inx1819 What are you debugging?

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

    I love these videos. As large a python application developer, getting to explore more about this very unknown world (at least, to me) is super interesting. Keep the videos coming!

  • @nesu1645
    @nesu1645 6 ปีที่แล้ว +13

    I would like to see more game related reverse engineering videos. Keep it up.

  • @cantucodes
    @cantucodes 6 ปีที่แล้ว +17

    Your videos are very informative. It's almost like you have to play detective to discover what you did. Of course, having the right tools under your tool belt also helps ;) Keep up the great videos!

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

    Great video. i really enjoy you reverse engineering these types of MMO bots, i would love you try doing it for more bots as its also very educational :D

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

    Super interessting! And crazy how it was possible to extract such valueable and private information. I bet there's thousands of other companies doing something similar.

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

    You showed me nothing I didn't already know, except how to put what I know to use! I appreciate the candor of narration as you work through the problem. That is one of the most important things for people to see, it's OK if you don't know precisely what they next thing you click on is going to do, that's how you learn. Great video, thank you.

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

    Really cool video, I like how you went the extra step and tracked thos bot users for data

  • @user-of4mr3tl5n
    @user-of4mr3tl5n 5 ปีที่แล้ว +2

    This guy could get employed by Microsoft Apple Google and Amazon all by himself and save these companies trillions ... He is mind-blowing smart. I use computers since i'm a kid and have strong knowledge about pretty much every computer related stuff but in this video I quickly realised how much of a noob I was. This video made me humble so bad. I'm shocked. Wow.

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

    One of the best channels about reversing on youtube. Thanks for the video

  • @nicoper
    @nicoper 6 ปีที่แล้ว +5

    Awesome video as always.
    Guild Wars 2 is a great game, as well.

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

    How didn't I know about fiddler earlier? I love it and constantly mess around with it now! Danke dir

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

    This is just... WOW. Dude you're awesome. Keep it up!

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

    Very good video about deep programming knowledge, without getting complex.
    It helped me!

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

    You're so awesome. I love your videos so much! So much to learn, and I really like the way you present the information.

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

    Just found your channel. Seems to be educative and I believe I will learn a lot. Keep up the good work.

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

    Very cool my friend, subscribed - wish there was more content like this!

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

    By the way, you can just load the memory dump into ida see the disassembly of whatever they tried to obfuscate/encrypt. Ida can also find strings in there, no need to do it manually.

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

      Andre Taulien It's cooler that way

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

      so many Lithuanians in the comment section, damn

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

    You deserve so many more subscribers. Please keep this content going :D

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

    Thanks for this amazing video, you never fail to deliver :D

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

    Really interresting video.... I'm subscribing to see what's next :) And i will come back on your videos to see what else you have to teach.
    Thanks for the share, keep on the good work, keep giving us your taught process (mostly why i subscribed!)
    Good luck on TH-cam

  • @its.moonjc
    @its.moonjc 5 ปีที่แล้ว

    Super interesting. Thank you for this.

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

    Couple tips for Windows executable reverse engineering.
    1) There are many programs you can use to check how an executable is compiled and packed, couple of my favorites are Detect it easy and peId.
    2) You can use Process Hacker 2 to find strings in memory of an executable.
    Great video btw!

  • @LiamDennehy
    @LiamDennehy 6 ปีที่แล้ว +38

    I don't think there is a single video of yours that hasn't had a #MindBlown moment for me. I know you think this is a bit mundane, but like all your work, yet again opening a whole world to my view.
    Thanks, keep up the great work!

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

    WoW, That is really amazing. It's inspiring.

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

    I learned a lot today, thank you for this video :)

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

    This is some impressive work man!

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

    Super cool video, and absolutely hilarious that such a simple request gave you the bot user's account APIs. Talk about a botch job from the bot developer!

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

    Dein Video ist Gold wert, konnte dadurch echt viel lernen, danke^^

  • @omegatired2557
    @omegatired2557 3 ปีที่แล้ว

    You've inspired me to get back in GW2 after almost a year of not playing it, thanks

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

    I enjoyed this video!
    I will watch more of your videos :)

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

    Just awesomely crazy... Good job.

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

    Thanks for the video, very interesting!

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

    Your a boss man! This made me happy to watch.

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

    0_0 I don't know how I ended up here but I couldn't stop watching. This reminds me of how many different programs I find myself using from start to end with making game assets.

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

    WoW nice Love this video, thanks for showing me something new :D

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

    Excellent video! Best reverse engineering channel!

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

    I love your channel so, so much

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

    Very interesting.
    Good job

  • @61Marsh
    @61Marsh 6 ปีที่แล้ว +1

    I would have never thought to reverse engineer the bot program to get all the api calls to their server. that's awesome.

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

    For string searching I like ProcessHacker 2 - double click on the process>Memory>[Strings...]>Set the settings>Optionally filter output.

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

    As the bot requires validation to work, you can remove it by checking for strings related to the login page on IDA, the newr adresses will be the validation ones, then you just need to make it return true

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

    I love this video. Please make more videos like this xD

  • @kermitthehermit9373
    @kermitthehermit9373 6 ปีที่แล้ว +78

    Man!!I wanna be able to do all this. You're a genius

    • @morphman86
      @morphman86 6 ปีที่แล้ว +12

      Continue watching the channel, check a few other data forensic channels, check out the free online universities for Computer Forensic courses and you'll be a good way on the way to be able to do all these things.
      There are a few hacker conventions that also give good info on how it all works, with videos freely available here on TH-cam. Check out things like DefCon.

    • @NullPointer871ICant
      @NullPointer871ICant 6 ปีที่แล้ว +13

      It's not about being genius. Everyone can learn that just not everybody wants to.

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

      morphman86 can you please suggest me any of those universities? Thank you

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

      Udemy is a good one as well as nullbytes own university. I believe its skill stack. some of the packages you can find are like....idk 16$ for 100s of lectures and online classes. You arnt bound to them like a real college or university. There's no tests, no quizzes, no grades. Its all just based on you learning material. Access anywhere, any time.

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

      Exactly my thoughts, and even the comment 'I do not know how this works so I fiddle with it'; made me feel aware that this guy is good in being resilient and really good in self teaching.

  • @zxcghoul1275
    @zxcghoul1275 3 ปีที่แล้ว

    Thanks for the video! you big helped

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

    You could open the memdump (Yes it's a full memory dump) in IDA and let it automatically find/analyze the binary.

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

    Ich habe keine Ahnung von GW2 und auch nicht vom Programmieren, aber es ist interessant und einigermaßen verständlich für mich.
    Dankeschön. =)

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

    I love your videos, i just got into the security market and i'm learning from 0 your videos will surely help a lot i've always wanted to make bots for games for the sake of it but never did it. I would love if you could make a video about android apps pen testing

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

    Subbed! Awesome videos ;) GW2 reddit brought me here!

  • @agito289
    @agito289 3 ปีที่แล้ว

    wow what a great content, subscribed

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

    This is amezing thank you so much for beautifull video

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

    Super awesome Sir.

  • @MrRathkor
    @MrRathkor 2 ปีที่แล้ว

    I legit spit my coffee out watching this at 7:30 in the morning when I saw you replay and edit the request to get the online users.

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

    Far, far above my level of knowledge and interest, however well explained and interesting to see what you discovered, even if I could not emulate this myself.

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

    Hello LiveOverflow,
    Like you I have analyse two bots from an other game, but in fidler the first bot use https and the second encrypted packet (TCP or UDP). My question is, how to decrypt these packets ? Thank you :)

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

    You should do more of these documentary's where you reverse engineer a program in the wild.

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

    Awesome topic

  • @Janrupf
    @Janrupf 6 ปีที่แล้ว +10

    Nice, I'm always learning something ;)
    And I'm always a bit suprised to read german Text. Well, I already know you live in Germany, but your englisch is perfect. BTW: I'm German too

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

      I think the developers of the trading bot are german. that's why the text was german in the TOS

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

      LiveOverflow Well, some of youre programms are german too, aren't they?

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

    craaazy stuff ...i have no clue about programming but this is crazyy :)

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

    This is amazing !! Great!! Get more on mmorpg ;]

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

    Very interesting. I used to make wallhacks for Soldier Front and aimbots for Gunbound when I was younger... much profits. These videos make me want to get back into it.

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

    I'd love it if someone posted this video on the site where the bot was sold.
    I don't think they'd be all to happy with it if they found out it just spits your API keys out on request.

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

    Very awesome and inspiring

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

    you are my favorite channel ☺

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

    you are awsome , fan from Egypt :)

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

    I'd love to see tutorials on somehow recreating a private game server for a game that has been long since died and has no official servers or any servers.

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

    BEST CHANNEL EVER IN THE HISTORY OF TH-cam AND HUMAN CIVILIZATION

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

    I can recommend ILSpy
    Smartscreen primarily checks code signing certificate of the program (see the Publisher) - not much of hashes and how many are using it. To avoid the smartscreen you must supply your app (with certificate) to Microsoft.
    Visual Studio should be able to open the memory dump, and also let you step thru it if you want. (I really hope this is available in the community version)

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

    Okay.. I didn't like the video until you got the entire list of users.. and then geeked out graphing some data.. You earned my like.. Thumbs up clicked :P

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

    If the memory contains non-obfuscated data you could have easily debugged using some tools like OllyDbg or even Cheat Engine (even if OllyDbg provides a list of strings really similar to the IDA one)

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

    you are defo in the top 5 Comp Sci/Software Eng/Hacking channels.

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

    i love reversing . you are my 2nd hero . +rep :)

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

      2nd hero? Who is first!!??!?!??

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

      LiveOverflow someone named zonz he teach me how to reverse

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

    it's hard to really stop injection from happening, when it comes to the mouse clicks you have to rely on the system flag to tell if the clicks are authentic, these need to come from certified drivers (although you can also just patch whatever checks for the flag on the client)

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

      a bit late you probably know it: there's also hardware route of custom usb hardware and external hardware OCR, best way is always in game design

  • @GabrielSilva-mv4fm
    @GabrielSilva-mv4fm 10 หลายเดือนก่อน

    amazing, thx

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

    I just realized that I had watched this video before, not knowing about GW2 and I'm quite intrigued by how games' economy works, but not the games itself (since I'm not MMORPG kind of player)
    Then two years later I've already addicted to it and then stumbled this video again browsing GW2 economy subreddit
    How the table have turned... I'm gonna watch it again

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

    That was so interesting and fun to watch! The thing is, if I had attempted to do this kind of research, I would have given up after the first 5 minutes, because I know nothing about the workflow and how to interpret findings and outputs of these various programs (even most of the shown programs I did not know). So can you give a short explanation of how you collected this mass of knowledge over time?
    Ps: Schland :D

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

      guess how many times I attempted projects like this and gave up? Every time you do that, you learn a tiny little bit more. and at some point you succeed.

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

    yeah good job explaining your approach, and what tools you used.

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

    You earned a subscriber, don’t let me down

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

    I have no idea whats going on and yet i am going to watch part 2

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

    DUDE YOU ARE A FUCKING BOSS. I'm super inspired to try some of these tools. Thank you so much. Love your channel.

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

    The mouse key hook actually uses Windows API to intercept and maybe send raw input, no injection required.

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

    Very nice, I am now maybe a bit too old, in my youth somebody used a hex editor to modify some values within a fairly old mmo client-side and he got through, ofc he was banned and that thing patched in next maintenance and obviously storing important data client-side is a no-no and it was their fault that they got burned... But yea little by little I am getting the picture now. Thanks.

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

    I have no idea what is going on or where I am but I like this video, even though I understood none of it. I found it enjoying and your voice soothing. Keep making videos, 4am me is out & won't remember this comment :)

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

    I actually understood what is happening. May god I learned some stuff last few years :D

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

    Im in college and watching every single video of yours so that i able to solve any ctf challenges thanks men: ∆

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

    your intro is awesome

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

    send the graph to data is beautiful.

  • @yuyuko_s75
    @yuyuko_s75 6 ปีที่แล้ว +68

    Fun fact: You just gave pirates a head start in pirating the bot.

    • @cyanus7347
      @cyanus7347 5 ปีที่แล้ว +8

      so it can be pirated

    • @deathhog
      @deathhog 5 ปีที่แล้ว +17

      Fun Fact: he just gave the devs a free access key to ban all those players too....

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

    I'm more interested on unpacking that binary files. The crazy thing, I did some reversing on a private server of a game launcher back then, what I didn't expect after unpack the binary was that the launcher uses somekind of remote sql to fetch the login data. I can even see the database and it's password for connecting to remote server.

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

    Nice video! Awesome reverse engineering...

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

    Man this is crazy shit! Nice video

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

    I'm glad you waited for the service to shut down before doing this, a buddy of mine found this issue and showed me how to perform it ages ago. We always used to mess with those filthy cheaters. >:)

  • @Garkolym
    @Garkolym 6 ปีที่แล้ว +18

    Alter, wie geil du einfach bist :D Verdienst auf JEDEN Fall mehr Abonnenten!