‫Instructor: Hi, within this lecture we are going
‫to see what happens if we use JDX on an obfuscated APK
‫like we created within the previous one,
‫previous lecture, okay?
‫So over here I'm gonna open my terminal
‫and make sure you're on Cali if you're on Windows
‫because we want to use JDX one more time
‫and make sure you're on the same page with your own APK.
‫And I'm going to use both APK tool and JDX one more time
‫in order to see if there is something changing
‫with the app when we use APK tool.
‫So I actually executed APK tool D app released APK
‫as we did before and now I'm going to execute JDX as well.
‫So I remember JDX, we use dash D
‫and then some kind of folder name like JDX D compile
‫and then the app name itself like this, app release dot APK.
‫If you hit enter it'll decompile it
‫in a way that we have seen before.
‫However, if you want to de-obfuscate an obfuscated APK
‫then you should add a new parameter.
‫And if you search for JDX help
‫then you can see that parameter over here.
‫As you can see there is a D obf parameter
‫and it activates the D obfuscation.
‫So within this case I believe we will get better results
‫if we use that option.
‫So I'm going to delete this and I'm going to run JDX D,
‫JDX D compile app release dot APK one more time
‫but adding D obf at the end like this with two dashes.
‫So it will do the same thing
‫but it'll activate the obfuscation.
‫Sometimes it succeeds, sometimes it doesn't succeed
‫it just tries to do its best to de-obfuscate the encryption
‫and we will see the results in a minute, right?
‫So let me open the APK tool again
‫and see if there is something changing
‫like let me open the Android manifest.
‫And as you can see in the Android manifest
‫we still get the same result.
‫Like we can still see the platform settings
‫like minimum SDK, compile SDK,
‫icon activity names and stuff.
‫We still get the res and everything over here.
‫We still have this smali folder.
‫It's a little bit obfuscated
‫like we don't see the folder names.
‫Now we see some kind of folder names
‫but also we have this A and B folders, which is nonsense.
‫And we have the smali MD main activity dot smali file
‫like we did before.
‫Now if I try to open this
‫with Genie or any other script editor like this
‫then I will get the Dalvik bytecode.
‫And if you look closely
‫you will see the same things that we have seen before.
‫Even though it's obfuscated
‫it's still Dalvik bytecode because it's transformed
‫from the Java source code to Dalvik bytecode.
‫So it really doesn't affect much.
‫So I can zoom in and see it in a better way.
‫Maybe we can't see some kind of different stuff over here
‫but they will be minor differences.
‫Okay, so not major differences.
‫We can still see the text view definitions
‫we can still see the strings.
‫That's exactly what we were looking
‫for before and now we can see them again.
‫So in Dalvik bytecode, of course you got affected
‫by the obfuscation but not so much
‫as you would get out of JDX, okay?
‫So make sure you used both tools
‫before you go ahead and try to decompile everything
‫with JDX or with only APK tool.
‫For example, you can see the strings
‫you can see the other values over here again
‫so that's all for APK tool.
‫Let's go and look for JDX.
‫So open the sources folder
‫and you will see the same folder that we have seen before.
‫And now try to open main activity dot java
‫with Genie one more time.
‫Now if you look at the codes
‫you will see some of the codes again.
‫So let me zoom in and you will see what I mean.
‫Let me zoom in a little bit more like this.
‫Here we go.
‫Now we see the codes like we did before.
‫They're kind of obfuscated, they're kind of encrypted
‫but since there is little code over here like few lines
‫of codes, then we cannot understand the obfuscation.
‫We cannot actually see it in a proper way.
‫This is good for hackers.
‫We can still see the things
‫but as you can see some of the things that we cannot see
‫like it's important sub class
‫but we don't know what it is.
‫It's kind of gibberish right now to us.
‫And we can see it still uses layout activity main
‫it still uses some text views and it still
‫changes some text using that set text method.
‫And we still see the majority of the codes
‫but some of them are encrypted.
‫So if we had a longer code,
‫if we had a longer application like a game or a big project
‫then it would look a little bit different
‫because much more will be encrypted in this case.
‫And we're going to see
‫that within the following lecture, believe me.
‫But right now you see the effects of using pro guard.
‫So make sure you use pro guard
‫if you are a developer and if you're a hacker
‫if you're an ethical hacker concentrating
‫on mobile applications, you will see what to
‫do when you deal with an obfuscated game
‫or deal with an obfuscated application within the next one.