开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 4914|回复: 6

【Catchyrime】(更新至2016-01-26)Aspose.Cells 8.6.3 - 8.7.0 热补丁

[复制链接]

0

精华

0

贡献

7

赞扬

帖子
24
软币
192
在线时间
21 小时
注册时间
2015-6-24
发表于 2016-1-2 11:28:32 | 显示全部楼层 |阅读模式
本帖最后由 catchyrime 于 2016-1-26 20:10 编辑

自己做的,首发于 吾爱破解。http://www.52pojie.cn/thread-453082-1-1.html



最近做 .net 做得有点多诶。。。
Aspose.Cells 是一个 Excel 文件的读写库
Aspose 还有一大堆其他的库(Work,PPT,PDF,Mail,...),破解应该是差不多的,不过我现在只用到这个啦~

Aspose 官网:
http://www.aspose.com/
Aspose.Cells 官网:
http://www.aspose.com/.net/excel-component.aspx


注意:以下代码只保证适用于 Aspose.Cells 8.6.3 - 8.7.0 其他版本的文件我没看!
只需在使用之前运行一次这段 Hot Patch 即可。




[C#] 纯文本查看 复制代码
internal static void InitializeAsposeCells()
{
    const BindingFlags BINDING_FLAGS_ALL = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance;
 
    const string CLASS_LICENSER = "\u0092\u0092\u0008.\u001C";
    const string CLASS_LICENSERHELPER = "\u0011\u0001\u0006.\u001A";
    const string ENUM_ISTRIAL = "\u0092\u0092\u0008.\u001B";
 
    const string FIELD_LICENSER_CREATED_LICENSE = "\u0001";     // static
    const string FIELD_LICENSER_EXPIRY_DATE = "\u0002";         // instance
    const string FIELD_LICENSER_ISTRIAL = "\u0001";             // instance
 
    const string FIELD_LICENSERHELPER_INT128 = "\u0001";        // static
    const string FIELD_LICENSERHELPER_BOOLFALSE = "\u0001";     // static
 
    const int CONST_LICENSER_ISTRIAL = 1;
    const int CONST_LICENSERHELPER_INT128 = 128;
    const bool CONST_LICENSERHELPER_BOOLFALSE = false;
 
    //- Field setter for convinient
    Action<FieldInfo, Type, string, object, object> setValue =
        delegate(FieldInfo field, Type chkType, string chkName, object obj, object value) {
            if ((field.FieldType == chkType) && (field.Name == chkName)) {
                field.SetValue(obj, value);
            }
        };
 
 
    //- Get types
    Assembly assembly = Assembly.GetAssembly(typeof(Aspose.Cells.License));
    Type typeLic = null, typeIsTrial = null, typeHelper = null;
    foreach (Type type in assembly.GetTypes()) {
        if ((typeLic == null) && (type.FullName == CLASS_LICENSER)) {
            typeLic = type;
        }
        else if ((typeIsTrial == null) && (type.FullName == ENUM_ISTRIAL)) {
            typeIsTrial = type;
        }
        else if ((typeHelper == null) && (type.FullName == CLASS_LICENSERHELPER)) {
            typeHelper = type;
        }
    }
    if (typeLic == null || typeIsTrial == null || typeHelper == null) {
        throw new Exception();
    }
 
    //- In class_Licenser
    object license = Activator.CreateInstance(typeLic);
    foreach (FieldInfo field in typeLic.GetFields(BINDING_FLAGS_ALL)) {
        setValue(field, typeLic, FIELD_LICENSER_CREATED_LICENSE, null, license);
        setValue(field, typeof(DateTime), FIELD_LICENSER_EXPIRY_DATE, license, DateTime.MaxValue);
        setValue(field, typeIsTrial, FIELD_LICENSER_ISTRIAL, license, CONST_LICENSER_ISTRIAL);
    }
 
    //- In class_LicenserHelper
    foreach (FieldInfo field in typeHelper.GetFields(BINDING_FLAGS_ALL)) {
        setValue(field, typeof(int), FIELD_LICENSERHELPER_INT128, null, CONST_LICENSERHELPER_INT128);
        setValue(field, typeof(bool), FIELD_LICENSERHELPER_BOOLFALSE, null, CONST_LICENSERHELPER_BOOLFALSE);
    }
}


评分

参与人数 3赞扬 +3 收起 理由
computerline + 1 好久没更新了
laolong + 1 很给力
goodmangis + 1 赞一个

查看全部评分

回复

使用道具 举报

0

精华

0

贡献

7

赞扬

帖子
24
软币
192
在线时间
21 小时
注册时间
2015-6-24
 楼主| 发表于 2016-1-2 11:40:18 | 显示全部楼层
再给个License吧,然而不是我做的!

http://www.cnblogs.com/zeroone/p/4448274.html
回复

使用道具 举报

0

精华

1316

贡献

885

赞扬

版主

帖子
176
软币
8139
在线时间
1139 小时
注册时间
2013-6-10
发表于 2016-1-2 13:46:40 | 显示全部楼层
本帖最后由 goodmangis 于 2016-1-2 13:55 编辑

非常好,等下个月新版本出来试试你的方法!确认一下,直接运行后,不用常规增加许可的语句即可使用?
回复

使用道具 举报

0

精华

0

贡献

7

赞扬

帖子
24
软币
192
在线时间
21 小时
注册时间
2015-6-24
 楼主| 发表于 2016-1-24 22:07:18 | 显示全部楼层
goodmangis 发表于 2016-1-2 13:46
非常好,等下个月新版本出来试试你的方法!确认一下,直接运行后,不用常规增加许可的语句即可使用?
...

嗯,运行了之后不要再调用 SetLicense
回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
4
软币
89
在线时间
4 小时
注册时间
2016-1-27
发表于 2016-1-27 10:12:24 | 显示全部楼层
感谢分享,先拷来试试,阅读权限不够,只能热补丁了 -。-
回复

使用道具 举报

0

精华

1316

贡献

885

赞扬

版主

帖子
176
软币
8139
在线时间
1139 小时
注册时间
2013-6-10
发表于 2016-3-5 08:43:26 | 显示全部楼层
8.7.1测试也可以使用,希望能一直用下去。
回复

使用道具 举报

0

精华

0

贡献

6

赞扬

帖子
7
软币
77
在线时间
3 小时
注册时间
2016-5-19
发表于 2016-5-19 15:56:41 | 显示全部楼层
能帮破解下Aspose.Slides.dll 16.4版本吗
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-22 22:02

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表