Flytreeview v4.3 cracking note

Source: Internet
Author: User
Tags mscorlib reflector
Flytreeview v4.3 cracking note

Posted on happy home + + Read (247) Comments (2) EDIT favorites category: flytreeview Body: 203.125, beforecate: 0,312.5, total: 515.625 flytreeview v4.3.1.43 crack note
Official Website: http://www.9rays.net/
There will be a 45-day trial period before cracking. An exception occurs when running the program later: "9rays. Net flytreeview for ASP. NET 2.0 evaluation period has

Expired ."
Cracking tools: ildasm, ilasm, strongnameremove20, uedit, reflector (I am used to it, this is free of charge) [note] ildasm [vs2003] can be downloaded from the snow

Modified version. The original version has restrictions.
The key to cracking this DLL is to make it never expire or modify a large enough time value for us to use it. If there is a cracking on the Internet, we can directly modify its expiration time and use it.

Users can use longer periods to crack the attack. In this example, I used to directly kill an expiration exception so that it never expires.

1. Use ildasm to open ninerays. webcontrols. flytreeview. dll and save it as AAA. Il;

2. Find and open AAA. Il with uedit, and find "has expired", and process the following code:
// For ease of analysis, I paste the decompilation code of the reflactor
Public flytreeview ()
{
This. nodeevents = new list <flytreenodeeventargs> ();
Datetime maxvalue = datetime. maxvalue;

// Of course, we can also remove this exception, but in this process, we mainly remove the following expired exception Section
Try
{
Maxvalue = file. getlastwritetime (base. GetType (). Assembly. Location );
}
Catch
{
Throw new exception ("unknown trial version error has occurred .";
}

// We are most concerned about expired exceptions, so this exception is the key part.
If (maxvalue <datetime. Now. adddays (-45 ))
{
Throw new exception ("9rays. Net flytreeview for ASP. NET 2.0 evaluation period has expired .";
}
This. _ flycontrolcommon = new flycontrolcommon <flytreeview> (this, this. viewstate, this. context );
This. _ databindings = new flynodebindingcollection ();
This. _ nodes = new flytreenodecollection (this );
This. _ nodetypes = new flynodetypecollection ();
This. shadownodes = new flytreenodecollection (this );
}

After reading the decompilation code, we just need
If (maxvalue <datetime. Now. adddays (-45 ))
{
Throw new exception ("9rays. Net flytreeview for ASP. NET 2.0 evaluation period has expired .";
}
Can this code be killed? Of course, we can also
Try
{
Maxvalue = file. getlastwritetime (base. GetType (). Assembly. Location );
}
Catch
{
Throw new exception ("unknown trial version error has occurred .";
}
This code is also killed.
Let's get started,
Next we will analyze the following program with the decompilation code and remove the key Exception Code section.

// The source code is as follows:
. Method public hidebysig specialname rtspecialname
Instance void. ctor () cel managed
{
// Code size: 173 (0xad)
. Maxstack 5
. Locals Init (valuetype [mscorlib] system. datetime V_0,
String v_1,
Valuetype [mscorlib] system. datetime V_2)

// *** This. nodeevents = new list <flytreenodeeventargs> (); the corresponding il code starts ***//
Il_0000: ldarg.0
Il_0001: newobj instance void class [mscorlib] system. Collections. Generic. List '1 <class

Ninerays. webcontrols. flytreenodeeventargs >::. ctor ()
Il_0006: stfld class [mscorlib] system. Collections. Generic. List '1 <class ninerays. webcontrols. flytreenodeeventargs>

Ninerays. webcontrols. flytreeview: nodeevents
// *** This. nodeevents = new list <flytreenodeeventargs> (); end of the corresponding il code ***//

// ***************** Obtain the maximum time value and save it to the local variable maxvalue. The corresponding Il is V_0.
// *** Datetime maxvalue = datetime. maxvalue; the corresponding il code starts ***//
Il_000b: ldarg.0
Il_000c: Call instance void [system. Web] system. Web. UI. webcontrols. hierarchicaldataboundcontrol:. ctor ()
Il_0011: lds1_valuetype [mscorlib] system. datetime [mscorlib] system. datetime: maxvalue
Il_0016: stloc.0
// *** Datetime maxvalue = datetime. maxvalue; end of the corresponding il code ***//

// *********************************** First start *********************************** //
// ************* Obtain the last modification time value of the file. If it is normal, the Il corresponding to the local variable maxvalue is V_0. If it is incorrect, an exception occurs.
* Reflector decompilation code
* Try
*{
* Maxvalue = file. getlastwritetime (base. GetType (). Assembly. Location );
*}
* Catch
*{
* Throw new exception ("unknown trial version error has occurred .";
*}

* Corresponding il code
. Try
{
Il_0017: ldarg.0
Il_0018: Call instance class [mscorlib] system. Type [mscorlib] system. Object: GetType ()
Il_001d: callvirt instance class [mscorlib] system. reflection. Assembly [mscorlib] system. Type: get_assembly ()
Il_0022: callvirt instance string [mscorlib] system. reflection. Assembly: get_location ()
Il_0027: stloc.1
Il_0028: ldloc.1
Il_0029: Call valuetype [mscorlib] system. datetime [mscorlib] system. Io. File: getlastwritetime (string)
Il_002e: stloc.0
Il_002f: Leave. s il_003d

} // End. Try
Catch [mscorlib] system. Object
{
Il_0031: Pop
Il_0032: ldstr "unknown trial version error has occurred ."
Il_0037: newobj instance void [mscorlib] system. Exception:. ctor (string)
Il_003c: Throw

} // End Handler
// *********************************** First the corresponding end of the abnormal code is *********************************** //

// *********************************** Second ********************************** *//
// ************ Maxvalue is compared with the current time-45 days. If it is during the trial period, it will be normal. If it is not during the trial period, it will be abnormal.
* Reflector decompilation code
* If (maxvalue <datetime. Now. adddays (-45 ))
*{
* Throw new exception ("9rays. Net flytreeview for ASP. NET 2.0 evaluation period has expired .";
*}

* The IL code starts.
// ******** The comparison between the current time and the file creation time starts here. If the file is used during the trial period, it will be used normally; otherwise, an expiration exception will be thrown.
Il_003d: ldloc.0
Il_003e: Call valuetype [mscorlib] system. datetime [mscorlib] system. datetime: get_now ()
Il_0043: stloc.2
Il_0044: ldloca. s V_2
Il_0046: LDC. R8-45.
Il_004f: Call instance valuetype [mscorlib] system. datetime [mscorlib] system. datetime: adddays (float64)
Il_0054: Call bool [mscorlib] system. datetime: p_lessthan (valuetype [mscorlib] system. datetime,
Valuetype [mscorlib] system. datetime)
Il_0059: brfalse. s il_0066 // if the trial period is not exceeded, jump to; otherwise, an exception is thrown.
// Our approach is to eliminate the code segment that throws an exception, no matter whether it exceeds the trial period or not.
// What are we waiting for? Just comment out the key code below, huh? Is it easy?
********* **************************************** ******//
// Il_005b: ldstr "9rays. Net flytreeview for ASP. NET 2.0 evaluation p"
// + "Eriod has expired. "// locate ***************************
// Il_0060: newobj instance void [mscorlib] system. Exception:. ctor (string)
// Il_0065: Throw
// ************************** The key position ends ********* **************************************** ******//

// *********************************** Others class domain initialization code starts *********************************** //
* Reflector decompilation code
* This. _ flycontrolcommon = new flycontrolcommon <flytreeview> (this, this. viewstate, this. context );
* This. _ databindings = new flynodebindingcollection ();
* This. _ nodes = new flytreenodecollection (this );
* This. _ nodetypes = new flynodetypecollection ();
* This. shadownodes = new flytreenodecollection (this );

* The IL code starts.
Il_0066: ldarg.0
Il_0067: ldarg.0
Il_0068: ldarg.0
Il_0069: callvirt instance class [system. Web] system. Web. UI. statebag [system. Web] system. Web. UI. Control: get_viewstate ()
Il_006e: ldarg.0
Il_006f: callvirt instance class [system. Web] system. Web. httpcontext [system. Web] system. Web. UI. Control: get_context ()
Il_0074: newobj instance void class ninerays. webcontrols. flycontrolcommon '1 <class

Ninerays. webcontrols. flytreeview >::. ctor (! 0,

Class [system. Web] system. Web. UI. statebag,

Class [system. Web] system. Web. httpcontext)
Il_0079: stfld class ninerays. webcontrols. flycontrolcommon '1 <class ninerays. webcontrols. flytreeview>

Ninerays. webcontrols. flytreeview: _ flycontrolcommon
Il_007e: ldarg.0
Il_007f: newobj instance void ninerays. webcontrols. flynodebindingcollection:. ctor ()
Il_0084: stfld class ninerays. webcontrols. flynodebindingcollection ninerays. webcontrols. flytreeview: _ databindings
Il_0089: ldarg.0
Il_008a: ldarg.0
Il_008b: newobj instance void ninerays. webcontrols. flytreenodecollection:. ctor (object)
Il_0090: stfld class ninerays. webcontrols. flytreenodecollection ninerays. webcontrols. flytreeview: _ nodes
Il_0095: ldarg.0
Il_0096: newobj instance void ninerays. webcontrols. flynodetypecollection:. ctor ()
Il_009b: stfld class ninerays. webcontrols. flynodetypecollection ninerays. webcontrols. flytreeview: _ nodetypes
Il_00a0: ldarg.0
Il_00a1: ldarg.0
Il_00a2: newobj instance void ninerays. webcontrols. flytreenodecollection:. ctor (object)
Il_00a7: stfld class ninerays. webcontrols. flytreenodecollection ninerays. webcontrols. flytreeview: shadownodes

// *********************************** Others the initialization code of the class domain ends *********************************** //

Il_00ac: Ret
} // End of method flytreeview:. ctor

3. Check whether the publickey is added at the beginning of the file. I have found the following code:
. Publickey = (00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 ..............
00 24 00 00 52 53 41 31 00 04 00 01 00 01 00 // $... rsa1 ........
Eb fd B1 7f 49 35 9e C0 95 39 EE 11 CD D2 30 A3 // ...... i5...... 9 ...... 0.
72 D3 A0 72 dd 10 42 86 EA 59 60 AB 5f C4 3f 7f // R... r... B... y '._.?.
09 A7 6C 5E fa D0 54 ff B9 B7 12 C6 13 dd 6D C3 //... L ^... t.
D3 5B E4 90 76 ec cc 92 CD B0 7E 9B 22 A5 A4 71 // [... V .....~. ".. Q
D0 EA 1A EE 0d 6B be 82 55 D6 7E B2 7f B1 32 dB //... k... u .~... 2.
50 5B F7 50 07 19 91 59 22 bf fb 82 A9 0b F7 de // P [. P... y ".......
87 36 F9 6C 19 CA D9 63 63 78 44 C6 33 6C 55 //. 6. L... cucxd.3lu
39 00 7b 0a 89 8e C2 C5 8e 4A 52 C2 8e 23 37 B3) // 9. {... Jr... #7.
. Hash Algorithm 0x00008004

What are you thinking about? Delete it directly.

4. Now the attack is complete and new programs can be compiled. Ilasm/dll/resource = aaa. Res AAA. Il, the AAA. dll is the perfect cracked version.

By the way, it is better to install the original version and overwrite the cracked version before using it.
If it is easy to use, please support genuine

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.