All right, guys, I'm super excited because now we are going to finally install Unbroken and we have
a quick look into the Analyze option.
In the next section, we take a look at the color graph and then into the flow graph.
And so there's lots of hands on time.
Alrighty, let's start installing Android.
Therefore we go into the world famous internet and we search for installation and regard.
And the first thing is regarding to Andrew, God read the dogs.
Let's have a look over here.
And this is the, I guess official documentation of Android and also have a look into this because there
are lots of useful hints over there.
If you want to install Android that we can use the PIP installation management because Android is written
in Python, therefore we can simply run PIP installed as your android guard.
But be careful.
This paragraph over here mentions that Andrew God only works on Python three and higher Python 3.6 and
higher.
And if you're using an Ubuntu 1804 and you're running PIP, you might be using Python two to install
Android guard and then you will end up in a mess.
So this tool might not be working correctly.
Therefore we are going to use PIP three to make sure we are also using Python three.
All right, so let's have a look.
I open a new terminal and let's check if we have pip three installed.
No, we haven't.
But we can simply install it by running sudo apt get install python three dash pip.
I'm entering the correct password, and now the PIP three is going to be installed.
This only takes some seconds.
Now we can install Andrew Card with pip three installed as you to also upgrade those package names and
we use not android and raw guard this way.
We do not provide a metric or a parameter.
We installed this whole unbroken bundle right now.
Now these additional requirements are going to be installed also.
So the dependencies of Android and after this has been finished, let's figure out if it's working.
We get a bunch of warnings over here and these might be important.
So let's see.
If you type an android that we can see command not found.
And that's the case because those binaries are not within our path variable.
I'm going to enlarge this and we have a look into this.
We are in the home directory and here we have a hidden directory named local.
If you go into this, we have the spin directory over here and here we have now the Android binaries
regarding to the Python package.
We need to include this into our path variable and then we can run this afterwards.
So we take this and we open the service HRC.
We should have been a lot of practice in this right now.
So we go into this point and we extend this path at this colon at the end.
And now we update the status HRC.
And we go into the home directory back again and we run on Rocard and Rocard has been installed and
that was the whole installation process.
Super nice.
Right?
So let's figure out what we have here and let's have a look at the Android card options.
So we've got this analyze module, we've got this code graph module and we've got this day module.
We will discuss them in detail.
Beside this, we also got an extra option for return package name, version number and stuff like this
of the APK.
We can also directly pass this resources RC into an XML format, or we can also take a look at the Android
Manifest XML regarding to master compiling Android applications, this might come handy, but regarding
to a single application, we do not get a real advantage out of this.
But however, let's have a look at the analyze option.
We go to the apps directory and we go into space ping and we load our space ping application into this.
So we say UNbrokered and if you want to get an specific help menu you can type guard then the command
for example, analyze and then dash, dash, help and then we get the help menu only for this command.
And here we can see analyze is pretty simple.
We can provide an option which is a session path, but we do not have a session created yet.
And then after what?
Simply the APK.
Therefore we have to run Android Analyze and then the APK.
Then I'm going to clear this and run this.
And now this APK is going to be passed into Android and we have now an iPad, Python three shell and
regard also created three main objects a d and D x a is regarding to the APK.
These regarding to the dalvik VM format and d x is regarding to some analyze option.
We will only focus on these two A and d x.
The nice thing about AI pattern is you can type in a dot and then hit the top button multiple times
and then you get an yeah support on which methods or variables might be available.
So let's see what we've got here.
We've got a method, for example, get activities and if we run this, we can see this application only
contains one activity.
We've also figured this out in the manifest section, but here we can also prove this once again.
What else do we have?
We can get, for example, the Android manifest in an XML format.
We can get the application name information about the certificate, information about the Tex file format
files, CSC thumbs, main activity and other stuff.
I'm going to clear the screen because then I guess it's easier to read.
There we go.
Okay.
So here we have now a nice overview about the a object in Android, but all of them here can be done
manually.
And we already done most of them in the last sections.
And I like to do the manually approach a little bit more because we have more control over this application
and where things might go wrong.
But yeah, this can be handy for you if you want to analyze an APK with a python shell.
All right, let's see what we've got in the D x object here.
We have the analyze module and we can see, okay, we can find classes, methods, strings.
We can also create and choreograph over here.
But we use the Android specific call graph command because after what we need to deal with this file
and we will have lots of functions over there and we need to filter them and therefore we use a different
tool to handle all these tasks.
But it's nice to see it over here also.
All right.
Yeah.
We can also find classes, methods and things like this.
For example, if we try or if we run, get classes and regardless is going to fetch all classes that
are available in this APK and we can see there are a lot available over here.
So if you scroll up, these are a lot of classes.
We have done this approach manually with text to Chad and Chad.
Guy or with Chad.
Yeah, but if you want to match, they compile or mass analyse applications.
This Python interpreter can come handy.
I'm not going to use this very often.
I just rely on the call graph and flow graph.
But yeah, this just depends on my personal preference that I like to do the manual approach.
All right.
This was a quick introduction into the Analyze module of Android.
And the next section we take a look at the Call Graph Command and this one is really super nice.
We will create an corpora for a special or certain challenge I have prepared for you, and then we will
also figure out how we can deal with this file format because we will have tons of functions over there
and that's a really nice tool which does the visualization process for us and which is super easy to
handle.
OC Feel free to play around a little bit with the Analyze module over here and afterwards I'm going
to see you in the next section.