APEXSQL log trial cancels export scripts the limit for exporting one row per 10 lines.

Source: Internet
Author: User

Bad state ran to the server update a bit, unexpectedly did not write the conditions, the results found that the library is not backed up ... And then the tragedy happened!!

Because it is SQL2008, a lot of software is not supported, and finally found APEXSQL Log, very useful, but the trial version of the 14-day limit in addition to restricting the script export, only one export ... Sweat, although hundreds of data, but also enough to toss.

On the study, take apart from this trial version of the limit of the number of export, read the algorithm to write the register machine is also relatively simple, but lazy write, anyway, this thing basically used once, hundreds of knife buy a genuine certainly impossible, I think there are others may also use to get, put up.

Version is the latest version of 2014.04.1133 's current website.

Http://pan.baidu.com/s/1c0BHafQ

Part of the code for registering the program:

public static bool Manually (Activationmanager Manager, String ProductKey, String activationcode) {    bool flag;    Manager. Writeactivationinformation (New Activationresponse (Filehelper.unzip (activationcode.frombase64string ())). Serialize ());    if (! ( Flag = Manager. Activationcodeisvalid | | (Manager. state = = activationstate.extendedevaluation))    {        string_1 = string. Format ("Invalid activation code [{0}]", Activationcode);        return flag;    }    string_1 = "OK";    return flag;}

  

private void Analyzeserverresponse (string serverresponse) {XmlDocument document = new XmlDocument (); Document.    LOADXML (Serverresponse); XmlElement documentelement = document.    DocumentElement; if (documentelement! = null) && ("responseinfo" = = Documentelement.name)) {foreach (XmlNode node in do Cumentelement.childnodes) {if ("ProductId" = = node.) Name) {this. ProductId = node.            InnerText; } else if ("unlockcode" = = node. Name) {this. Unlockcode = node.            InnerText; } else if ("hardwareid" = = node. Name) {this. HardwareID = node.            InnerText; } else if ("activationcode" = = node. Name) {this. Activationcode = node.                INNERXML; if (node. FirstChild! = null) {foreach (XmlNode node2 in node.            Firstchild.childnodes) {            if ("version" = = Node2. Name) {this. Version = Node2.                        InnerText; } else if ("reginfo" = = Node2. Name) {this. Registrationinfo = Node2.                        InnerText; } else if ("licensenum" = = Node2. Name) {this. Licencenumber = Node2.                        InnerText; } else if ("trialexpiry" = = Node2. Name) {this. Trialexpire = Node2.                        InnerText; } else if ("licenseexpiry" = = Node2. Name) {this. Licenceexpire = Node2.                        InnerText; } else if ("signature" = = Node2. Name) {this. Signature = Node2.    InnerText;                    } else if ("activationkey" = = Node2. Name) {this. ProductKey = Node2.                        InnerText; }}}} else if ("reasoncode" = = node. Name) {this. Reasoncode = node.            InnerText; } else if ("Reason" = = node. Name) {this. Reason = node.            InnerText; } else if ("reactivation" = = node. Name) {this. reactivation = node.            InnerText; } else if ("explanation" = = node. Name) {this. EXPLANATION = node.            InnerText; } else if ("Resolution" = = node. Name) {this. Resolution = node.            InnerText; }        }    }}

public virtual void Writeactivationinformation (string activationdata) {Licencemanager manager = new Licencemanager (this    . Apexsqlproducts_0, this.string_1);    Activationresponse response = activationresponse.deserialize (Activationdata); This.activationInfo_0.HardwareID = Response.    HardwareID; this.activationInfo_0.Version = Int. Parse (response.    Version); this.activationInfo_0.NumberOfLicenses = Int. Parse (response.    Licencenumber); This.activationInfo_0.RegistrationInformation = Response.    Registrationinfo; This.activationInfo_0.ProductKey = Response.    ProductKey; This.activationInfo_0.TrialExpiryDate = datetime.parseexact (response.    Trialexpire, "mm-dd-yyyy", CultureInfo.InvariantCulture); This.activationInfo_0.LicenseSubscriptionExpiryDate = datetime.parseexact (response.    Licenceexpire, "mm-dd-yyyy", CultureInfo.InvariantCulture); This.activationInfo_0.Signature = Response.    Signature; if (!manager. Savelicencefile (this.activationinfo_0)) {throw new Exception ("Unable to save license file. "); This. Refresh ();}

It seems pretty simple, as long as the XML string zip algorithm compression (there is in the program) and then Base64, and then the validation method directly return true is basically OK.

Of course, this is more violent, not in line with my always seriously responsible attitude ~ ~ ~ but not violent words will have to change the next publickey ...

And then.. Then, if there is time later, you can study it again.

APEXSQL log trial cancels export scripts the limit for exporting one row per 10 lines.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.