admin

Z.EntityFramework.Extensions最新破解版及破解教程
工具准备dnSpy: https://github.com/0xd4d/dnSpy/releasesde4dot:...
扫描右侧二维码阅读全文
16
2019/02

Z.EntityFramework.Extensions最新破解版及破解教程

工具准备

dnSpy: https://github.com/0xd4d/dnSpy/releases

de4dot: https://github.com/0xd4d/de4dot/releases

Z.EntityFramework.Extensions: https://entityframework-extensions.net/

脱壳

Z.EntityFramework.Extensions其实是没有加壳的,但是里面的函数名称有一些是乱码,为了方便阅读和修改我们还是使用de4dot来进行脱壳处理,脱壳后得到Z.EntityFramework.Extensions-cleaned.dll文件。

破解

将Z.EntityFramework.Extensions-cleaned.dll在dnSpy打开,通过官网我们知道授权检测主要是在:

// CHECK if the license is valid for the default provider (SQL Server)
string licenseErrorMessage;
if (!Z.EntityFramework.Extensions.LicenseManager.ValidateLicense(out licenseErrorMessage))
{
    throw new Exception(licenseErrorMessage);
}

// CHECK if the license is valid for a specific provider
string licenseErrorMessage;
if (!Z.EntityFramework.Extensions.LicenseManager.ValidateLicense(out licenseErrorMessage, ProviderType.SqlServer))
{
   throw new Exception(licenseErrorMessage);
}

这两个方法,我们直接在dnSpy里面搜索ValidateLicense

1.png

可以看到其实指向的都是Z.BulkOperations,我们继续进入Z.BulkOperations的ValidateLicense类中查看:

QQ截图20190217125046.png

发现调用的是Class349.smethod_8方法,进入查看:

3.png

查看代码分析其实前面的IF ELSE都只是校验输入的KEY的格式是不是合法的,到了最后其实执行的还是Class349.smethod_9方法,我们继续往下看Class349.smethod_9方法:

4.png

这个方法最终指向的是Class349.smethod_7方法,我们进入Class349.smethod_7查看:

5.png

这个方法后面的还有很多代码,就不一一贴上来了,其实根据上图我们可以看到一个完整的逻辑,通过Class349.smethod_0来检验是否支持传递的数据库类型,然后通过时间来判断当前的时间是否小于2019年3月1日,如果小于的话设置属性为true,然后就直接返回true了。

根据官网的信息我们可以看到这个类库可以每个月去下载一个试用版的,这个试用版是需要每个月都去下载最新的文件来使用的,超过这个时间就用不了需要要再次下载当月最新版:

Evaluation Period#
You can evaluate the library for several months before purchasing it.
The latest version always contains a trial that expires at the end of the month.
You can extend your trial for several months by downloading the latest version at the beginning of every month.

既然是这样我们直接干掉他的这个时间检测代码并保存:

6.png

相当于这个方法只保留IF体里面的代码,其他的全部删掉,然后点击上方的保存,再在弹出来的对话框中保存文件即可:

7.png

到这里我们的整个破解就完成了,把保存的文件给重命名为:Z.EntityFramework.Extensions.dll (Z.EntityFramework.Extensions-cleaned.dl重命名为Z.EntityFramework.Extensions.dl)然后正常使用即可。

结语

  • zzzprojects项目组出品的很多C#类库还是非常不错的,特别是这款EF的辅助类库,其中的批量操作是非常好用的,前两年我在做一个爬虫项目的时候用到了其中的批量合并方法,这样就不用考虑数据库数据重复的问题,而且执行的速度也是非常不错的。
  • 大家可以根据上面的教程自己来破解,我这里提供一个破解好的用于.net4.5框架的DLL:

反馈的问题是没有去除强签,现在提供下载的已经去除强签

上面的教程适用于zzzprojects项目组的所有收费类库,教程只供交流,如果大家需要请支持正版。

Last modification:June 5th, 2019 at 02:06 pm
If you think my article is useful to you, please feel free to appreciate

11 comments

  1. xx

    如何去除强签,想知道方法,不要只提供去除强签的版本哦

    1. admin
      @xx

      我欠你的?

  2. cc

    很强 刚刚用了 没有问题 谢谢

  3. netnr

    可用分享
    https://mega.nz/#F!XBAkyazC!isrFgif4_qld0ODwiW3CRg

  4. DAS

    请教一下如何去除强签?

  5. gogo80s

    按上述方法破解后提示“未能加载文件或程序集“Z.EntityFramework.Extensions”或它的某一个依赖项。未能验证强名称签名。此程序集可能已被篡改,或者已被延迟签名,但没有用正确的私钥进行完全签名。 (异常来自 HRESULT:0x80131045)”

    1. admin
      @gogo80s

      那个版本的

      1. bb
        @admin

        EF5(Z.EntityFramework.Extensions.EF5)版本没有问题
        EF6(Z.EntityFramework.Extensions)版本出问题了
        博主提供下载的这个dll都有问题 加载不了
        我之前有个项目用的EF5按照这种方法没有问题

      2. bb
        @admin

        EF5(Z.EntityFramework.Extensions.EF5)版本没有问题 EF6(Z.EntityFramework.Extensions)版本出问题了

        1. admin
          @bb

          我这测试没有问题啊,可以联系我Q79725034

    2. aa
      @gogo80s

      按上述方法破解后提示“未能加载文件或程序集“Z.EntityFramework.Extensions”或它的某一个依赖项。未能验证强名称签名。此程序集可能已被篡改,或者已被延迟签名,但没有用正确的私钥进行完全签名。 (异常来自 HRESULT:0x80131045)”

Leave a Comment