‫Instructor: Hi, within this lecture
‫we're going to start working on network sniffing.
‫What I mean by network sniffing
‫is that understanding what kind of servers,
‫what kind of requests and responses our app is dealing with,
‫okay?
‫So far we have used Apktool
‫and other measures in order to gather some information
‫about Firebase application IDs or collection names.
‫So let me show you what I mean.
‫Just install this APK from scratch
‫on your phone, on your emulator.
‫And you know how to do this.
‫You can either drag and drop it, you can email it,
‫you can install it via ADB, anything you want.
‫Okay, make sure it's installed.
‫Now we have gathered actually this
‫Firebase application ID, Firebase collection name,
‫but maybe we wouldn't be able to get this
‫in under some circumstances.
‫I don't know, maybe they're using
‫some kind of advanced encryption technique
‫that we cannot actually decompile it
‫with using Apktool or JADX.
‫So that we have to do some other things
‫in order to gather this information.
‫And if you come across in a situation like this
‫then you should be able to
‫sniff the network, sniff the data.
‫And in order to do that, I'm going to show you a tool.
‫But before we go into that,
‫I'm going to show you two things.
‫First, if you go to unicornitems.com,
‫and you don't have to do that by the way,
‫you can just watch it.
‫You will see that it starts with HTTP,
‫it doesn't have any HTTPS, and it shows as unsecure.
‫Okay, not secure.
‫If you go to my website or any popular website like this,
‫you will see there is an HTTPS.
‫There is a lock sign over here, a padlock sign,
‫which shows that this indeed use an HTTPS connection.
‫So HTTPS stands for secure HTTP,
‫and it encrypts the content of the requests and responses.
‫So even though you may get the idea,
‫you may get the content from sniffing the network,
‫you may not be able to decrypt it, okay?
‫We're going to see how to get the data
‫and how to decrypt the data as well.
‫We will attempt to decrypt it,
‫but we are going to do what we can do best
‫in order to do that.
‫And we're going to try and get the Firebase IDs
‫and collection names out of this operation.
‫And the Firebase hacking is not the only way
‫or is not the only reason that you can use
‫this network sniffing.
‫We're trying to learn a new skill over here, okay?
‫So in order to do that, I'm gonna go for Google, okay?
‫And I'm going to search for Charles Proxy.
‫So it's spelled like this, so Charles Proxy.
‫And this is a tool that is used for web debugging, okay?
‫And in order to download it,
‫all you have to do is just go to charlesproxy.com
‫and install it.
‫So there are a couple of other tools as well
‫but I have tried all of them,
‫and Charles Proxy is the best one that is working currently.
‫And this is not even for Android, this is built in for that.
‫This is built in for computers,
‫but we are going to use it with Android emulator anyhow.
‫And we're going to sniff the network of our own.
‫So if you go to Downloads tab,
‫you will see that this is
‫working for Windows, macOS, and Linux as well.
‫So whether you're on Windows,
‫or at any other operating system, it doesn't matter.
‫Just choose yours, okay?
‫And there is a free version of Charles as well.
‫It only goes for 30 days, I believe.
‫But it's if sufficient for us right now, right?
‫So you can just try it and maybe you can delete it
‫and install it one more time later on.
‫But if you like it, maybe you can even buy it.
‫So there APT repositories on Linux.
‫So if you're on Linux, you can just install it
‫by running APT to get to install Charles Proxy.
‫And if you're on Windows, you can just download it.
‫And if you're on macOS, you can again download it as well.
‫It's pretty easy to download and install it.
‫So I'm not gonna shoot another video for Windows, okay?
‫By the time you can actually install it on your own.
‫I trust you.
‫Just download the suitable one for your operating system
‫and make sure you install it.
‫I'm going to show you how to do that in macOS,
‫but it's pretty easy.
‫It's pretty straightforward.
‫Just double-click on it and hit next, next, and install,
‫and it will be finished, okay?
‫So let me minimize this.
‫Let me find the file that I have downloaded over here.
‫So here you go, I have the Charles Proxy DMG.
‫I believe I have restarted it for some reason.
‫So let me just delete this.
‫And let me delete this one more time.
‫And I believe, yeah.
‫So this is done. Let me just minimize this.
‫Come over here and let me minimize this as well.
‫So here you go.
‫So once you download it, you can just double-click on it
‫and you can agree with the license, okay?
‫And it will open for you.
‫So all you have to do is just drag and drop
‫the application into the Application folder.
‫As you can see, it has a pretty ugly icon like this.
‫So if you just move it,
‫I'm going to say Replace because I had an existing one.
‫So it will just move the application
‫into the Applications folder.
‫And that's it.
‫So in Windows,
‫most probably you have clicked on next, next and install.
‫And then you can delete the installation files
‫because we are done with it.
‫So once you do that, you can just find the application
‫from your Applications folder or in your desktop in Windows.
‫Okay, just run it.
‫So double-click on the Charles icon.
‫It will ask you if you wanna open it or not.
‫Just say, yup, open it.
‫And it will start up the Charles.
‫So this is web debugging proxy,
‫and it acts as a middle man
‫when you try to send a request
‫from any application to the internet,
‫or when you get a response from internet,
‫it will try to capture it.
‫And as you can see, it's already started for me.
‫So since I'm sending some requests
‫and getting some responses from the internet,
‫I have some existing connections on my computer,
‫it captures them.
‫Okay? So it's working.
‫So you don't even have to do anything.
‫Of course it captures,
‫but in order to overcome the HTTPS problem,
‫we're gonna do a little bit more configuration.
‫And we're going to see how to do that
‫within the next lectures.