[Reverse] touchpad driver TP ++ crack process

Because BootCamp comes with touchpad driver does not support gestures, so the Internet to find a driver for enhanced touch panel TP ++, but this program needs to find a serial number registration

Although the Internet has been a publicly serial number, but just recently started learning the reverse, so I decided to break their own TP ++ try your hand

First install TP ++

User interface is as follows

 After installing the program click on the left Register prompted to enter the serial number on the bottom

Casually enter into a 2333 Click OK, pop prompt Wrong serial number

 

Found in the installation directory Trackpad ++ Control Module Process (Skylake) .exe

Decompile with dotPeek, we found the program to delete the symbol information string is also encrypted, increased the difficulty of cracking

Although not directly Wrong serial number found in decompiled code, but you can check the serial number to find the location of the style according to MessageBox

According exclamation point icon may know MessageBox styles for MessageBoxIcon.Exclamation, retrieve it the following code can be found in the vicinity

num1 = Convert.ToInt32(this.\u0002\u2003\u2001.Text.Substring(0, 4), 16);
num2 = Convert.ToInt32(this.\u0002\u2003\u2001.Text.Substring(5, 4), 16);
num3 = Convert.ToInt32(this.\u0002\u2003\u2001.Text.Substring(10, 4), 16);
num4 = Convert.ToInt32(this.\u0002\u2003\u2001.Text.Substring(15, 4), 16);
if (num1 == 45067 || num1 == 47806 || (num1 == 49374 || num1 == 49354) || num1 == 43981)
Environment.Exit(0);
if (num2 == (num1 + 49068) % (int) ushort.MaxValue && num3 == num1 * num2 % (int) ushort.MaxValue && num4 == (num1 + num3 + 60090) % (int) ushort.MaxValue)
{
this.Hide();
int num5 = (int) MessageBox.Show(\u0003\u2001.\u0002(1896459885), \u0003\u2001.\u0002(1896453275), MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
Registry.CurrentUser.CreateSubKey(\u0003\u2001.\u0002(1896454622)).SetValue(\u0003\u2001.\u0002(1896449835), (object) num1.ToString(), RegistryValueKind.String);
Registry.CurrentUser.CreateSubKey(\u0003\u2001.\u0002(1896454622)).SetValue(\u0003\u2001.\u0002(1896449820), (object) num2.ToString(), RegistryValueKind.String);
Registry.CurrentUser.CreateSubKey(\u0003\u2001.\u0002(1896454622)).SetValue(\u0003\u2001.\u0002(1896449809), (object) num3.ToString(), RegistryValueKind.String);
Registry.CurrentUser.CreateSubKey(\u0003\u2001.\u0002(1896454622)).SetValue(\u0003\u2001.\u0002(1896449794), (object) num4.ToString(), RegistryValueKind.String);
this.\u0005\u2002\u2001.Dispose();
this.Close();
Environment.Exit(0);
}

根据这段代码即可写出Keygen

#include <cstdio>
int num1,num2,num3,num4;
int main()
{
    num1=4097;
    num2 = (num1 + 49068) % 0xffff;
    num3 = num1 * num2 % 0xffff;
    num4 = (num1 + num3 + 60090) % 0xffff;
    printf("%04X-%04X-%04X-%04X",num1,num2,num3,num4);
} 

得到的序列号如下:

1001-CFAD-ACA8-A764

输入序列号,破解成功

 

Guess you like

Origin www.cnblogs.com/algonote/p/12329189.html