So, please be aware that this is the method that I used to crack ALL the X to X programming language converting tools. It’s pretty easy and today we will be checking out into detail how I did it.
So, first thing you gotta open the program. you will notice it says (free edition), so this will be one of our turning points, it’s key to analyze the program to see how it works so you can reverse it.
-
Drag and drop the assembly to a .NET decompiler (i prefer dnSpy but Reflector, ILDasm and SAE also work good), and the first thing we’re gonna do is search for that specific string “free edition” - make sure the type you’re searching for is set to number/string
-
You will find that it will have multiple methods and classes that use it (specially .ctor , aka the constructor of the form).
-
Now we find that it checks for _g0, a boolean value (either true or false), to see whether it’s a free license or not.
-
You will find a piece of code that looks like this :
private void _m25()
{
if (App._g0)
{
this.Text = App.ProductName + " (Free Edition)";
return;
}
this.Text = App.ProductName;
}
-
If you analyze it, _g0 is the determinant that checks if our program is activated or not. So find its definition, started by the .ctor and set its default value to False (ldc.i4.0 for IL instruction)
-
so instead of
// Token: 0x04000001 RID: 1
public static bool _g0 = true;
- we now have
// Token: 0x04000001 RID: 1
public static bool _g0 = false;
-
The only thing you have to do now is see where _g0’s values are being read at or where they’re being set at.
-
So for setvalue we have App.ctor and App.Main, we have a snippet that looks like this
private static void Main(string[] args)
{
Application.EnableVisualStyles();
try
{
App._g0 = !App._g33();
}
catch
{
App._g0 = true;
}
Application.ThreadException += new _g2092()._g2093;
frmMain.Copyright_Tangible_Software_Solutions_m21 = args;
_g2002._g2004 = (frmMain.Copyright_Tangible_Software_Solutions_m21.Length != 0);
Application.Run(new frmMain());
}
-
So, inside the try statement we have (probably) our license checker that tries to see if the license we have is valid. Since we dont even want the app to check for a license, you can delete the whole try statement, and turn the App.g0_ to a false.
-
Once this is done, our program is premium by default and won’t check for licenses. so it’s basically cracked. THIS is it really. it’s that simple, ofcourse if you’re a newbie in RE’ing this could look complicated but as time passes you will get better!
-
DONE!
Sorry for screenshots, but it took me 15 minutes to type. (Source: Nulled)
Enjoy!