 Hi there, this is Krishanaraj from Bytescout and in this video we will be going to learn about how we can offers get our JavaScript code. Well, as a programmer, let's say we have developed one website which catering to our client needs perfectly. However, there are many security threats out there like everyday hackers creating a malicious program to gain unauthorized access to our application or devices. And many times our software code itself provides the entry point for the attackers. So now what exactly the offfuscation is? Well, the offfuscation is one of the security techniques to guard against the application hacking. As per the Wikipedia, offfuscation is an act of process of modifying source code so that it is much harder to read and understand for a hacker. Almost all the code can be reverse engineered with enough skill, time and effort. So to prevent it, programmers may offfuscate code to prevent temporary or deter reverse engineering. There are some technique which is used to offfuscate most scripts like offfuscating the format of the code and next is adding extra lines of the code into the main code. Another one is substituting variable names in the code and the last one is offfuscating the code itself. Now let's understand each of these. So what do you mean by offfuscating the format of the code? Well, it means it removes all the nice line breaks and indentation that makes our code readable. So let's say if you have this type of code then after offfuscating of formatting you are left with this type of large ugly piece of code. Alright and the next is adding extra line of code into the main code. So in this case we need to insert some extra code into our script that does nothing. This is just to confusing an analyst. So if you have this type of code then the final code would be looked like this. Well, while one or two extra lines of code won't do much but imagine what happens when you have hundreds of these lines within your code. It quickly becomes difficult in determining which code is valid and which is not doing anything. Okay and the another one is substituting variable names. So as a programmer first thing we learned was give a meaningful variable name in the code but this methodology does the exact opposite. It changes your meaningful variable name to some meaningless words. So when you look at the example here it's easy to figure out what the variable on the left hand side is doing and what is the meaning of it. But once a variable substitution is applied it becomes much more difficult to figure out what the variable is used for. Alright and the last one we are going to talk about is off-fuscitating the code. So in this case it is nothing but a process of modifying the source code so that it is much harder to read and understand. Now if you see this example we have two lines of code one is setting the product name with the value gun and the another one is setting its price to 50. So now when the off-fuscation is applied to them it would become this. Now if we see this carefully then you can see that from the first line it splits out the first letter of the gun and conkinate it to a blank character which is really adding nothing to it and then it appends of hex 70 plus 5 which is the value for the letter U and then it conkinates to a character N so this whole line just creates the word gun but in a way that's difficult to parse by an analyst. So both of these lines are an example of data off-fuscation. Alright now in the next video we will perform a demo of how you can off-fuscate your js file step by step by using an open source JavaScript off-fuscator tool. So stay tuned with us.