网站链接: 环球农商网
当前位置: 首页 > 资讯动态  > 平台资讯

.NET加密原理之方法体加密信息对应关系

2025/12/29 23:07:38 人评论

在 per method 的dotNet加密中,首要解决的方法体对应关系,即在运行时加密壳如何确定当前要解密的方法体所对应的加密信息。  目前大部分加密壳都直接利用了dotNet的元数据来保存这种对应关系,我们知道在元数据中每个方法都会对应一个RVA值,加密壳可以直接把这个关系…

在 per method 的dotNet加密中,首要解决的方法体对应关系,即在运行时加密壳如何确定当前要解密的方法体所对应的加密信息。

  目前大部分加密壳都直接利用了dotNet的元数据来保存这种对应关系,我们知道在元数据中每个方法都会对应一个RVA值,加密壳可以直接把这个关系记录在RVA的地址处。在框架运行中RVA处的数据会被作为“方法体”在处理流程中直接传递,加密壳通过拦截框架处理流程中的函数,来对“方法体”进行分流处理。即先判断RVA处的数据是否“方法体加密对应信息”,如果是进入加密壳运行库的内部处理,不是则按原框架流程处理。

  对于这个“方法体加密对应信息”,最简单的方式是指记录一个指针信息,指向另一处数据块,四字节空间就够了。但是为了和普通没有加密的方法体进行区分,除了这个之外还需要增加一些唯一标识以便能被运行库在运行时安全无误的区分出来。

  大家可以用UE打开,加密后的程序集,看看一个方法体RVA处的数据,应该能很容易分别出来哪些是记录的“方法体加密对应信息”。

  正是这个原因,所以DNGuard v1.0和同类处理方式的加密壳,对方法体小于某个指定字节数的,就不能进行加密。

  因为“方法体加密对应信息”的大小超过的方法体的空间大小,写入的话会覆盖到后面方法体的信息。这实际上也是因为偷懒造成的。可以通过对方法体进行重排来解决这个问题,当然要麻烦很多了。

  这种模式实际上就是在元数据保存了一个虚拟表实现了 MethodToken => “方法体加密对应信息” 的对应记录。这个表可以看着是公开的。

  在DNGuard 2007 中我没有选择使用对方法体重排的方式来解决这个问题,而是选择了另一个方法,自己记录一个 虚拟表实现:MethodToken => “方法体加密对应信息” 的对应记录。

  因为这样有一个好处,就是 这个虚拟表也可以进行加密后保存。另外就是“方法体加密对应信息”中不需要添加标识符 和普通没有加密的方法体进行区分。

  在 DNGuard 2007 试用版 中没有使用真正的加密算法来对程序集加密,只是采用了“代码直接挪位”的方式,运行库的“解密”操作只是从另一个位置直接读取的操作。

  有个朋友分析到DNGuard 试用版里面有一个虚拟表记录了:MethodRid => ILCode。这个就是 虚拟表:MethodToken => “方法体加密对应信息” 在 试用版中退化的模式。

  另外因为方法体只是挪位,所以它实际上还是在程序集文件内,加载到内存中后也在程序集模块的内存空间中。而不是那位朋友说的 运行库在解密后将 IL代码 填回到内存里面去了。

  试用版只是提供给用户验证 DNGuard 是否适合自己的软件项目以及系统发布环境,请不要用试用版 加密程序集后直接分发。
 

相关资讯

  • 2018小程序电商行业报告:用户规模将破5亿,社交玩法促进成单量

    OMO时代已来,小程序将会是最重要的工具。差不多两周前,新榜推送了这篇文章《“一条”“日日煮”抢先入局,内容创业迎来OMO时代?| 新榜观察》,在趋势层面探讨了一个现象,去线下开店似乎正成为潮水的方向。比如,刚拿到C+轮融资的“一条”,宣布未来两年要开100家线下…

    2025/12/29 23:07:38
  • 超2000个小程序被封,押注在这里的7亿多资金风险有多高?

    小程序发布一年后,微信开始了大清理。近日,微信宣布永久封禁976个假货、高仿,数百个“色情、低俗”类,及1000多个现金贷小程序。在此之前,就有头脑王者、荔枝微课、千聊被封,目前,后两者已经解封,但头脑王者还在关闭中。据娱乐资本论旗下剁椒娱投了解,千聊发布了…

    2025/12/29 23:07:38
  • 微信小程序认证有哪些主体类别?

    微信小程序在申请过程中,微信要求所有的小程序都要进行主体登记。那么,对于个体工商户来说,应该选择哪种主体类型进行登记?今天,就来为你详细解析一番。1.微信小程序有哪些主体类别?目前,可以登记注册微信小程序的主体类别,有以下几种:个人企业(包括个体工商户)…

    2025/12/29 23:07:38
  • APP五网合一让手机APP的客量倍增

    APP五网合一让手机APP的客量倍增?如今,不少商家都亟需开发自己的App。有想要扩充购买渠道的,有拥有忠实客户需要提供便捷入口的,还有一些门店商家,需要通过独App,树立品牌形象扩大影响力。  因为时代的驱动, 也给一大波的 外包企业开发公司带来很多的客源收益,深…

    2025/12/29 23:07:38

共有条评论 网友评论

验证码: 看不清楚?