最近一直在做Gantt图组件开发,在网上找了一些Gantt组件,不过没有源码。
还是站在巨人肩上做学习再开发。
有两个Gantt组件都有for .Net的。
1) varChar xgantt3.1 for .Net
2) ILOG Gantt 3.0 for .Net
索性将这两个都破解了!
还是站在巨人肩上做学习再开发。
有两个Gantt组件都有for .Net的。
1) varChar xgantt3.1 for .Net
2) ILOG Gantt 3.0 for .Net
索性将这两个都破解了!
![](https://i-blog.csdnimg.cn/blog_migrate/85a55e72a561c519f3e32f578a47a9a1.gif)
2006.2.9
varchar Gantt 3.1 activeX 组件破解,花了我一天的时间,先用Delphi7写一个实例,再用od跟踪,JMP了三次
就OK了!
2006.2.10
VS2005和Delphi 2006在我的本上躺着好久,差一点儿都想不起来了,一直在用Delphi7开发AutoCAD插件,没有时间来学他。
今天看来要用上他了,用Reflectorn打开ILOG License manager 程序,看到:
1
[EditorBrowsable(EditorBrowsableState.Never)]
internal
sealed
class
Key
{
2
static Key(); public Key(string str);
3
internal Key(string siteName, string product, double version);
4
internal Key(string siteName, string product, double version, DateTime date, string options);
5
private string Crypt();
6
private string GetOptionString();
7
public bool HasOption(string name, out int value);
8
private static KeyType KeyTypeFromString(string type);
9
public static Key MakeEvalKey(Key eval);
10
public static string MakeSiteLicenseKey(string siteName, string product, double version);
11
private static int MonthToInt(string str);
12
private static Option ParseOptionsString(string optionString);
13
private static DateTime StringToDate(string str);
14
public override string ToString(); public string[] ToStrings();
15![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
private int DateQuantieme
{ get; }
16![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public DateTime ExpirationDate
{ get; }
17![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public bool Expired
{ get; }
18![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public bool Expires
{ get; }
19![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public bool IsEnterprise
{ get; }
20![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public bool IsEvaluation
{ get; }
21![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public string KeyCode
{ get; }
22![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public string OptionalArg
{ get; }
23![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public string OptionalKey
{ get; }
24![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public string Product
{ get; }
25![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public double ProductVersion
{ get; }
26![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public string SiteName
{ get; }
27![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public string Type
{ get; }
28![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
public bool ValidHostID
{ get; }
29
private string _code;
30
private DateTime _expirationDate;
31
private bool _expires;
32
private string _feature;
33
private KeyType _keyType;
34
private string _licenseText;
35
private string _optionalArg;
36
private string _optionalKey;
37
private Option _options;
38
private string _siteName;
39
private double _version;
40
private static string[] months;
41![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
private enum KeyType
{ ILM_SITEKEY, ILM_EVALKEY, ILM_NODEKEY }
42![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
private class Option
{
43
public Option();
44
public string name;
45
public Key.Option next;
46
public int value;
47
}
48
}
49
![](https://i-blog.csdnimg.cn/blog_migrate/4a082c37e8158b62695f94341a02c582.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/27f8fee670a0b1993c903cd7bf4c81c7.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
8
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
9
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
14
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
15
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
16
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
17
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
18
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
19
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
20
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
21
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
22
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
23
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
24
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
25
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
26
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
27
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
28
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
29
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
30
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
31
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
32
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
33
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
34
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
35
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
36
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
37
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
38
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
39
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
40
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
41
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
42
![](https://i-blog.csdnimg.cn/blog_migrate/274d94076039ea29765ab4cf1c50a2bd.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/339398d008f63bcdf22d9395c4e77a7c.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/b854634c0904529d4018c4c3336be836.gif)
43
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
44
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
45
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
46
![](https://i-blog.csdnimg.cn/blog_migrate/cdc5e6408f8ec3f57d5f03b442d3aed1.gif)
47
![](https://i-blog.csdnimg.cn/blog_migrate/fc9132d16fc77b056f5e8847861a9f24.gif)
48
![](https://i-blog.csdnimg.cn/blog_migrate/1efd5d80ff241549850fad6e7cba2927.gif)
49
![](https://i-blog.csdnimg.cn/blog_migrate/be66d6e34a75202d5b0edec77f2db003.gif)
就想到在他基础上开发一个license generate,既可以管理license又可以当作license 生成器。
先到这儿,下次有时间再继续讲讲如何Crack ILOG Gantt for .Net.