First, let me express my deepest apologies. In the past few days, the company sent me a business trip and went to Hefei, the capital of Anhui Province. There was a company with a parent company, a software company. I went to teach them how to use InstallShield, I cannot write at all Article .
I know that you have been waiting anxiously over the past few days because many people are very interested in componentart controls.
Okay. Start now.
First, I will use componentart.licensing.manager.exe to replace componentart.licensing.manager.exe. Program To fool the installation file.
The official component componentart.licensing.manager.exe verification process is analyzed here, which contains the replaced registration Machine Source code . In the link given above. Solution Resource Manager:
The figure above shows that there are two projects in the solution, the first project componentart. licensing. manager is a program I have written, and the following project licensing. the manager is not cracked. I used it to compare it with the first project. You can take turns to debug the two projects in one step to understand my cracking methods.
Therefore, the componentart.licensing.manager.exe file generated by componentart. Licensing. Manager in the first project is the desired cracking file.
Let's talk about the attack ideas first.
From the previous article, we can see that there is a selection window in the installation program Using InstallShield when installing the componentart software, as shown below:
If the above license key option is selected, the installer will check your registry location: HKEY_LOCAL_MACHINE \ SOFTWARE \ componentart \ Web. UI for ASP.. Net \ 2.0, to check whether the installation type is normal installation, limited-time installation, or unlimited installation. Then the key is how to let the registration program generate this keygen.
As you can see in the previous article, the most important thing to generate keygen is that there are four classes, they are
Licensecollection -- a collection of licensecollectionitem. The registered software may have many licenses, such as menu and Treeview.
Licensecollectionite -- check and generate a single license, such as The Menu Control license, to read the licenses table in licensedata.
Registrytokencollectionitem -- used to generate product information of a single control such as menu and generate a registered token.
Registrytokencollection -- used to save the collection of registrytokencollectionitem.
The two most important cracking points are:
The location of the key attribute of licensecollectionitem and the location of the registrytokencollection constructor.
The principle is to first generate a new licensecollectionitem object instance during registration. When an instance is generated, execute the initialized data registry paths to match the control-type arrays, and the licensedata class compared with the Registration Code. In addition, an instance of the registrytokencollection class is generated to save the generated product information. Then start the first verification.
Execution of the first verificationCodeIt is executed when the registration code entered by the user is assigned to the key attribute of licensecollectionitem. Generate the license keyword Based on the entered registration code, generate the license name, generate the user type, and generate whether the version contains the source code during installation, this process is to search for data in the dataset class licensedata after calculation based on the registration code. If an error is generated during the operation or data cannot be found in the dataset, the verification fails. This verification generates the license information.
In the set code of the key attribute, if the above verification has passed, there is a code after the Code:_ Registrytokenscollection. Load (_ licensekey, _ licensecode );
It is actually to first perform a registry verification to see if there is already registered information (perform a loop check ). If no, create a new registrytokencollectionitem class instance. In the constructor, perform the second verification and generate an encrypted string stored in the registry to registrytokencollectionitem. token attribute output.
Finally, if all the items pass, the control switches to the registration form, and the list of registered controls is displayed in the registration main window. Then, when you click Save to exit, the encrypted string stored in the registrytokencollection class is saved in the registry. The verification process ends.
Once you know the verification process, it is easy to crack. Since the two verification processes mentioned above are based on the registration code entered by the user, after the query from licensedata is calculated, the local variable is assigned, then we can directly assign values to local variables without querying.
This is my method of cracking: it is the set operation of the key attribute in the licensecollectionitem class, and the search operations in the registrytokencollectionitem constructor all use direct assignment. For example
// Indicates whether the source code is included.
// It turns out to be obtained through a query using a method.
_ Issourcecode = Sourcecodetypefromcode (_ licensecode );
// After modification, I directly assign values
_ Issourcecode = True ;
// The original expiration time is obtained through the registration code calculation.
_ Expiry = Keyencoding. expirydatefromkey (_ licensekey );
// Now assign a value directly, January 1, December 31, 9999
_ Expiry = Datetime. maxvalue;
In this way, we should know that my solution is to directly skip the verification calculation of the registration code and directly let the program generate the token registry value, then, write the "Save and exit" Operation in the form to the registry of the Local Computer to complete registration.
However, the registry value is written but cannot be used because it is stored in HKEY_LOCAL_MACHINE \ SOFTWARE \ componentart \ Web. UI for ASP. in net \ 2.0, not only is the encrypted registration value of the token, but also a value named licenses, which saves the original text of the registration code entered by the user. When using the componentart menu, Treeview, and other server controls, it reads the registry every time it runs and re-performs a matching operation based on the two contents of the Registry, this operation cannot be passed. So, the software I made is not a registration machine, it is just a spoofing program.
So, isn't this software useless? No, as I said earlier, it spoofs the InstallShield installer. Isn't there a choice when installing componentart in the top texture? If you choose to enter the license key, start the registration machine and install the source code after registration.
When you install componentart
You can complete registration by using the componentart.licensing.manager.exewritten by Alibaba to represent the official. exe program. It is the installation shieldruntime time. On the installation page, extract all the execution files contained in the setup.exe installation file to a temporary file before executing the command. If you replace this file, you can let the installer assume that we have registered and installed all the source code.
The registration method is as follows:
1. Run the cracking project I wrote to generate the componentart.licensing.manager.exe program.
2. Run the componentart Installer. If you have already installed the package, delete it before installing it.
3. Go to the C: \ Documents ents and Settings \ Administrator \ Local Settings \ Temp folder, which contains several folders with the guid value as the file name, similar to the following: {3a54254-a3a2-4f21-8bde-7a685d462e22 }, this value is randomly generated, and each person's value is different. Each person's directory may have multiple such directories, and there are three on my computer, such
Go to this directory and find the componentart.licensing.manager.exe program.
4. copy and paste the files to the temporary directory in c: \ Documents and Settings \ Administrator \ Local Settings \ Temp to replace the official files.
5 switch to the installation program, select the first option, and then click the next step, componentart.licensing.manager.exe run, and then directly verify, select "Save and quit ".
6. Select the installation type in the installer so that the source code can be installed.
7. After installation is complete, go to the installation directory and find a source_code folder, which contains the control source code.
Have a good time.