Skip to content

Commit

Permalink
更新文档,支持global-metadata.dat加密
Browse files Browse the repository at this point in the history
  • Loading branch information
pirunxi committed Jul 3, 2024
1 parent 772be15 commit c52fa90
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 2 deletions.
9 changes: 7 additions & 2 deletions docs/business/basicencryption.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,18 @@

|技术|安全指数|已经实现|
|-|-|-|
|global-metadatata.dat加密|:star:||
|元数据混淆|:star::star:||
|元数据加密|:star::star::star::star:||
|结构虚拟化|:star::star::star:||
|加密虚拟化|:star::star::star:||
|延迟解密|:star::star::star:||
|指令虚拟化|:star::star::star::star::star:||

## global-metadatata.dat加密

对global-metadata.dat进行加密,阻止恶意第三方还原出元数据信息。

## 元数据混淆

由于clr自身机制原因,无论作了多复杂的加密,在内存中必然可以通过反射获得类型、字段、函数名等等有效的元数据信息。
Expand Down Expand Up @@ -104,6 +109,7 @@ method body中保存了函数体元数据信息。

|参数名|加密dll时需要与主包一致|描述|
|-|-|-|
|encryptGlobalMetdataDat||加密global-metadata.dat文件|
|vmSeed||加密虚拟机的随机化种子|
|metadataSeed||元数据的随机化加密种子|
|key||加解密时所用的加密参数|
Expand All @@ -120,8 +126,7 @@ vmSeed是加密虚拟机的随机化种子。这个随机会种子会影响生

metadtaSeed和key为均为动态参数,不需要与主包一致。每次加密热更新dll都可以修改此值。推荐每经过一段时间或者经过几个版本后修改这些值。

xxEncCodeLength为加密指令的长度,值越大则加密越复杂,解密耗时与加密指令长度成正比关系。由于解密过程会带来一定的开销,建议取默认值即可。如果
加载加密的热更新程序集的时间过长,可以适当减少这些值。
xxEncCodeLength为加密指令的长度,值越大则加密越复杂,解密耗时与加密指令长度成正比关系。由于解密过程会带来一定的开销,建议取默认值即可。如果加载加密的热更新程序集的时间过长,可以适当减少这些值。

## 加密热更新dll

Expand Down
1 change: 1 addition & 0 deletions docs/business/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
|[元数据优化](./metadataoptimization.md)|||||
|[标准解释性能优化](./basicoptimization)|||||
|[离线指令优化](./advancedoptimization)|||||
|global-metadata.dat加密|||||
|[代码加固](./basicencryption)|||||
|[热重载](./reload/hotreloadassembly)|||||
|[访问控制机制](./accesspolicy)|||||
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ We provide the industry's top managed code hardening technology, which effective

|Technology|Safety Index|Achieved|
|-|-|-|
|global-metadatata.dat encryption|:star:||
|Metadata obfuscation|:star::star:||
|Metadata encryption|:star::star::star::star:||
|Structure Virtualization|:star::star::star:||
Expand All @@ -26,6 +27,7 @@ Because instruction obfuscation will significantly harm performance, only pure i

|Technology|Structure Virtualization|Encryption Virtualization|Lazy Decryption|Security Index|
|-|-|-|-|-|
|encryptGlobalMetdataDat||Encrypt global-metadata.dat file|
|Customized dll file structure||||:star:|
|~string stream encryption||||:star::star:|
|~blob stream encryption||||:star::star:|
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ Currently, there are three commercial versions, with specific feature comparison
| [Standard Interpretation Performance Optimization](./basicoptimization) | ||||
| [Offline Instruction Optimization](./advancedoptimization) | ||||
| [Code Encryption](./basicencryption) | ||||
|global-metadata.dat encryption|||||
| [Hot Reload](./reload/hotreloadassembly) | | | ||
| [Access Control Mechanism](./accesspolicy) | | | ||
| [**DHE Technology**](./differentialhybridexecution) | | || |
Expand Down

0 comments on commit c52fa90

Please sign in to comment.