FreetextboxIn our memory, we used to have a good impression of open-source and practical functions. However, one day we watchedFreetextboxAs we move farther and farther away, we can only hold our handsFreetextbox 1.6.3In the final open-source version, there are a few regrets and helplessness.
A friend complained to me a few days ago that he was usingFreetextbox 3.0.5Version Not SupportedIE7,Let me find a solution.FreetextboxVisit the official website and findFreetextbox 3.0.6Started to correctIE7Currently, the latest version is available.Freetextbox 3.1.6. Of course, we should use the latest one. But nowFreetextboxTo use all the functions, you need to give money. The professional version (in fact, it is a single site authorization) requires49.99What about the beauty knife? distributable versions (includingSource code) Up199.99USD. People in developing countries always like to find ways to save money. As a representative of the people in developing countriesFreetextbox. dllFor a rough analysis, if anything is wrong, I would like to ask you to criticize and advise them.
First, clarify the following:
1,Freetextbox. dllNot doneIlCodeObfuscation.
2,Freetextbox. dllNo strong signature is made.
3,FreetextboxUsed. NetBuilt-inLicenseProcessing mode
In view of the above3Point, if it is to be cracked, it is very easy, of course, if it is cracked (fromLicensemanager. Validate ()Methods can easily grasp the key points), then this article does not need to exist. Since it uses. NetBuilt-inLicenseMode. Can we go deeper and see how it verifies the validity?License.
according to the third point, we know that it will define a xxxlicense, also defines a xxxlicenseprovider, good, it defines a ftblice class, inherited from license also defines a ftblicenseprovider class, inherited from licenseprovider .
FreetextboxProvides severalLicense, As follows:
1,LocalhostlicenseFor developers to develop and test on the local machineLicense, URLThe address must startHttp: // localhost/Start
2,ExpiringlicenseDate-boundLicense
3,Single licenseSingle SiteLicense(On the official website$49.99,AKAProfessional License)
4,Distribution License RedistributionLicense(On the official website$199.99,Including source code)
Okay, understand it. LicenseType. Let's see how it works. Verify valid LicenseIn other words, it is itsLicenseHow it is formed. It locates/BinDirectoryLicenseFile,LicenseFile by Class Name(Freetextbox) + " . Lic " . Freetextbox. LicThe file content is divided into three parts, the first part is the plaintextFreetextbox license, That is, the class name+ License " String, the second part is [LicenseType of encrypted text], EncryptionAlgorithmUsed. NetBuilt-inDes, UsedDesEncrypted Both the key and offset Is {0x39, 0x48, 0x42, 50, 0x38, 0x31, 70, 0x36} Of course, it does not directly encrypt the text, but does a small processing. This processing is to add the length of the original text and reserve 5 Bit. If not, add zero. , For example, string Distributionlicense Which is used for encryption 00019 distributionlicense Because the string Distributionlicense The length is 19 Bit. 3 Fill in space 3 Zero. The encrypted result is Qeupffrt7qke0jgbukqpxmibfyyienjhqxflrmfrui0 = , Note that you need to use [] Separated, Freetextbox The designer uses regular expression matching for convenience. []The third part is the encrypted text of your registered identity. [] The processing method is the same as that in the second part. For example, if my domain name is Ycweb. net . License , So the string 20179ycweb. net Proceed Des Encrypted and the result is Tyn3gf1y5gh2vphaj2u ++ G = Therefore, combining the content of the three parts constitutes a complete License File Content:
Freetextbox license
[Qeupffrt7qke0jgbukqpxmibfyyienjhqxflrmfrui0 =]
[Tyn3gf1y5gh2vphaj2u ++ G =]
This isDistributionOfLicense, If yesProfessionalOfLicenseThe content is:
Freetextbox license
[0ckvknsybpuuiasko4chcksytpejhr7n]
[Tyn3gf1y5gh2vphaj2u ++ G =]
The analysis ends, but the above analysis is not just to save you money. I hope you can learn a little bit from it. It can be said that it is used.. NetBuilt-inLicenseA typical case of processing mode. If you want to learn it when developing commercial controls, this method is relatively simple and feasible.