MMORPG Bot Reverse Engineering and Tracking

Sdílet
Vložit
  • čas přidán 8. 02. 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

Komentáře • 442

  • @LiveOverflow
    @LiveOverflow  Před 6 lety +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 Před 6 lety +1

      great work

    • @LiveOverflow
      @LiveOverflow  Před 6 lety +79

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

    • @GRBtutorials
      @GRBtutorials Před 6 lety +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  Před 6 lety +45

      As bad as yours?

    • @planktonfun1
      @planktonfun1 Před 6 lety +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 Před 6 lety +13

    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!

  • @kubeface115
    @kubeface115 Před 6 lety +114

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

  • @CardinalHijack
    @CardinalHijack Před 6 lety

    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 Před 6 lety +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)

  • @seanpianka1818
    @seanpianka1818 Před 6 lety +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!

  • @mfiels
    @mfiels Před 6 lety +617

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

    • @georgegx95
      @georgegx95 Před 6 lety +205

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

    • @HardcoreMontages
      @HardcoreMontages Před 6 lety +1

      lmao

    • @mfiels
      @mfiels Před 6 lety +12

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

    • @Hevletica
      @Hevletica Před 6 lety +6

      Phishy...

    • @dXXPacmanXXb
      @dXXPacmanXXb Před 6 lety +8

      these are no real login credentials.

  • @julianksterlarsen784
    @julianksterlarsen784 Před 6 lety +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 Před 6 lety +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.

  • @IdanHorowitz
    @IdanHorowitz Před 6 lety +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

  • @cantucodes
    @cantucodes Před 6 lety +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!

  • @timfreeeed
    @timfreeeed Před 6 lety +21

    great documentation of your workflow. thanks

  • @Dehvi_
    @Dehvi_ Před 6 lety

    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!

  • @tangytech7641
    @tangytech7641 Před 6 lety +239

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

    • @Shuroii
      @Shuroii Před 4 lety

      @ID3301 only really counts for online games tbh

    • @MoeJama5454
      @MoeJama5454 Před 3 lety

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

  • @steinardarri
    @steinardarri Před 6 lety +1

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

  • @user-of4mr3tl5n
    @user-of4mr3tl5n Před 6 lety +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.

  • @nesu1645
    @nesu1645 Před 6 lety +13

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

  • @IsAMank
    @IsAMank Před 6 lety +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!

  • @FreezeFrame175
    @FreezeFrame175 Před 6 lety +1

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

  • @LiamDennehy
    @LiamDennehy Před 6 lety +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!

  • @callumhilliscool
    @callumhilliscool Před 6 lety

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

  • @ushelushel1
    @ushelushel1 Před 3 lety

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

  • @minefunrapguy
    @minefunrapguy Před 5 lety +1

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

  • @bulletproof1453
    @bulletproof1453 Před 6 lety

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

  • @Shinika01
    @Shinika01 Před 5 lety

    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 CZcams

  • @MrRathkor
    @MrRathkor Před 2 lety

    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.

  • @jungoogie
    @jungoogie Před 6 lety

    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.

  • @61Marsh
    @61Marsh Před 6 lety +1

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

  • @alexanderburton5990
    @alexanderburton5990 Před 6 lety +1

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

  • @Reneator
    @Reneator Před 6 lety

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

  • @nicoper
    @nicoper Před 6 lety +5

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

  • @TylerTraverse
    @TylerTraverse Před 5 lety +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.

  • @alexionut6
    @alexionut6 Před 6 lety

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

  • @jeffalbert8415
    @jeffalbert8415 Před 6 lety

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

  • @andretaulien398
    @andretaulien398 Před 6 lety +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 Před 6 lety +2

      Andre Taulien It's cooler that way

    • @skypeon1
      @skypeon1 Před 6 lety +2

      so many Lithuanians in the comment section, damn

  • @dracau18
    @dracau18 Před 6 lety +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 :)

  • @AZZAMNO1
    @AZZAMNO1 Před 5 lety

    how do i edit and replay a XHR ??
    i need it for uhhh.... something

  • @satriowahyutomo
    @satriowahyutomo Před 6 lety

    how could you know if with deleting the username and password parameter will discover the entire API key?

  • @matthias1637
    @matthias1637 Před 6 lety

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

  • @yuyuko_s75
    @yuyuko_s75 Před 6 lety +68

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

    • @cyanus7347
      @cyanus7347 Před 5 lety +8

      so it can be pirated

    • @deathhog
      @deathhog Před 5 lety +17

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

  • @sonycservice
    @sonycservice Před 6 lety

    What is written at the end of the 2 sentences in python "raw = open ..." and "with open ..." ?

  • @TurtleFul
    @TurtleFul Před 6 lety

    This is some impressive work man!

  • @its.moonjc
    @its.moonjc Před 5 lety

    Super interesting. Thank you for this.

  • @KrzysiuNet
    @KrzysiuNet Před 5 lety

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

  • @DedmenMiller
    @DedmenMiller Před 6 lety +1

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

  • @klausgreinerfiorini
    @klausgreinerfiorini Před 6 lety +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

  • @PrinceRapthorne
    @PrinceRapthorne Před 6 lety

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

  • @rey1242
    @rey1242 Před 6 lety

    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

  • @thebigvrguy4571
    @thebigvrguy4571 Před 6 lety +1

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

  • @dimitriygeorgiev9248
    @dimitriygeorgiev9248 Před 5 lety +1

    Just awesomely crazy... Good job.

  • @hallejohn
    @hallejohn Před 6 lety

    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. =)

  • @lpoki8897
    @lpoki8897 Před 6 lety +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.

  • @zacharypriest2787
    @zacharypriest2787 Před 6 lety

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

  • @JGunlimited
    @JGunlimited Před 6 lety

    How did you use the same url to load different pages? Ida version 5.0 and 7.0?

  • @lx6381
    @lx6381 Před 5 lety +1

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

  • @BenClerix
    @BenClerix Před 6 lety +1

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

  • @zandiskoul
    @zandiskoul Před 6 lety

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

  • @OthmanAlikhan
    @OthmanAlikhan Před 5 lety

    Thanks for the video, very interesting!

  • @matthewdev
    @matthewdev Před 3 lety

    Could you explain that hexdump cleaning script, how it works?

  • @redragon9588
    @redragon9588 Před 5 lety

    where do you learnt all of this?

  • @snooter28
    @snooter28 Před 6 lety

    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

  • @sucrose
    @sucrose Před 6 lety

    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.

  • @Herakleion
    @Herakleion Před 6 lety +2

    I have 0 dev experience and I dont play gw2. I watched the entire thing. Time to get control of my life.

  • @ivangutowski
    @ivangutowski Před 6 lety

    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.

  • @Janrupf
    @Janrupf Před 6 lety +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  Před 6 lety +2

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

    • @Janrupf
      @Janrupf Před 6 lety

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

  • @wildwest1832
    @wildwest1832 Před 6 lety

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

  • @TheMan83554
    @TheMan83554 Před 6 lety

    Is it possible for you to look into some of the EVE online mob grinding bots? I've run into a couple on my space travels and I'm curious if I can help stomp them out.

  • @smartch7177
    @smartch7177 Před 4 lety

    Bro i need video for format encrypted flash drive not in my pc it encrypted from unknown pc it work fine but it's encrypted can't format.will u please add a video solving this issue.

  • @cewa44
    @cewa44 Před 6 lety

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

  • @EvanDear
    @EvanDear Před 6 lety +2

    I love your channel so, so much

  • @CabbageGod
    @CabbageGod Před 6 lety

    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. >:)

  • @We-kv3ze
    @We-kv3ze Před 6 lety

    What mouse do you have?

  • @GamingMiscellaneous
    @GamingMiscellaneous Před 5 lety +1

    Very interesting.
    Good job

  • @Anonymouspock
    @Anonymouspock Před 6 lety

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

  • @dontreadmyprofilepicture5209

    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 :)

  • @phanmemviet2565
    @phanmemviet2565 Před 6 lety

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

  • @jayc9003
    @jayc9003 Před 5 lety

    Hello there! can you share the python code that you use to convert the dump to strings? Thanks in advance!

  • @nikize
    @nikize Před 6 lety

    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)

  • @kermitthehermit9373
    @kermitthehermit9373 Před 6 lety +78

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

    • @morphman86
      @morphman86 Před 6 lety +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 CZcams. Check out things like DefCon.

    • @NullPointer871ICant
      @NullPointer871ICant Před 6 lety +13

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

    • @kermitthehermit9373
      @kermitthehermit9373 Před 6 lety +1

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

    • @loongaming105
      @loongaming105 Před 6 lety +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.

    • @Wintergin
      @Wintergin Před 6 lety

      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.

  • @XRADU97
    @XRADU97 Před 5 lety

    You can do something similar with savewizard, a ps4 save editor?

  • @hntgamtgm
    @hntgamtgm Před 6 lety

    Is there any SQL-injection in that login url lol?

  • @norndev
    @norndev Před 10 měsíci

    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.

  • @olfmombach260
    @olfmombach260 Před 6 lety +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  Před 6 lety +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.

  • @lockstar1019
    @lockstar1019 Před 5 lety +1

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

  • @jasondads9509
    @jasondads9509 Před 6 lety

    5:06 that looks alot like some kind of assembly. is it?

  • @WolfrostWasTaken
    @WolfrostWasTaken Před 6 lety

    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)

  • @Hentai7890The2nd
    @Hentai7890The2nd Před 6 lety

    Your open song
    Did you make that or is there a name for it

    • @LiveOverflow
      @LiveOverflow  Před 6 lety

      It’s a royalty free song from CZcams. Is called “The End” or something.

  • @carlosgil2691
    @carlosgil2691 Před 5 lety +1

    Excellent video! Best reverse engineering channel!

  • @tomcho8221
    @tomcho8221 Před 5 lety +1

    The dump format isn't raw, it's stores all sorts of information other than the memory like open handles and threads.

  • @Zhung36
    @Zhung36 Před 4 lety

    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

  • @UsmanAbdulHalim
    @UsmanAbdulHalim Před 6 lety

    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.

  • @ttimetotroll
    @ttimetotroll Před 5 lety

    what was the code for the strings.py?
    Im trying to do the samething lmao but I think python 3 is diff from the python ver he is using.
    This is what I have so far:
    import os
    def is_ascii(s):
    return all(ord(c) < 128 for c in s)
    def main():

    filename = 'mem.txt'
    if os.path.exists(filename):
    os.remove('mem.txt')

    raw = open('mem.dump','r',encoding='utf-8', errors='ignore' )
    print(raw)

    myLines=raw.readlines()
    print(myLines)
    raw.close()
    with open('mem.txt','w') as f:
    for word in myLines.split("\x00\x00\x00"):
    if is_ascii(word) and len(word)>5:
    f.write(word.replace("\x00","")+"
    ")

    main()

  • @bestlty
    @bestlty Před 6 lety

    BEST CHANNEL EVER IN THE HISTORY OF CZcams AND HUMAN CIVILIZATION

  • @DueLosGaming
    @DueLosGaming Před 6 lety

    send the graph to data is beautiful.

  • @WiseWeeabo
    @WiseWeeabo Před 5 lety +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 Před 2 lety

      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

  • @Cubinator73
    @Cubinator73 Před 6 lety +16

    If you're dealing with .NET assemblies, don't bother with Reflector, take a look at dnspy.

    • @lmaoroflcopter
      @lmaoroflcopter Před 6 lety +3

      Cubinator73 dnspy, ilspy and greywolf are my go-tos for messing with .net.
      Greywolf by Digital bodyguard lets you patch the il and export the exe, great for messing with execution flow and logic, or in my case patching out an annoying taskbar notification thing for a driver utility.

    • @nobytes2
      @nobytes2 Před 4 lety +1

      dotpeek also pretty good, there's also apps strictly for strings. If you install flare vm you get tons of malware analysis tools.

  • @SeekersMentality
    @SeekersMentality Před rokem

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

  • @blairsaid
    @blairsaid Před 6 lety

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

  • @zxcghoul1275
    @zxcghoul1275 Před 3 lety

    Thanks for the video! you big helped

  • @xeddtech
    @xeddtech Před 6 lety

    Could you post your Python code onto pastebin? I'd like to use it as a base to clean up other hex dumps if possible. It would be much appreciated