b30wulf 发表于 2018-8-20 17:52:15

Sweetscape 010 Editor 注册机

本帖最后由 b30wulf 于 2018-9-1 07:28 编辑

.010Editor的关键词

## 1.密钥是如何生成的?

__NOTICE:本节的内容仅仅是我的怀疑。我无法保证绝对正确,因为`010Editor.exe`中没有符号信息来确认我的怀疑.__

有三种类型的密钥(在010Editor中也称为密码)可以激活010Editor,它们是

|键类型|键长|格式|
| -------------- | ---------- | ----------------------- - |
|评估| 19个字符| xxxx-xxxx-xxxx-xxxx |
| VersionLicense | 19个字符| xxxx-xxxx-xxxx-xxxx |
| TimeLicense | 24个字符| xxxx-xxxx-xxxx-xxxx-xxxx |

`Format`列中的`x`表示十六进制字符,如果是字母则不区分大小写。

在我解释每种键之前,我应该给出一些概念。

* __Daystamp:__我们知道时间戳是自1970年1月1日00:00:00以来的秒数。同样,daystamp是自Jan以来的天数。 1970年1月1日。例如,1月的天数戳1970年2月,是__1__和`Jun。 2018年2月23日是__17705__。

* __Checksum:__我不确定它是否可以称为`checksum`。但我没有更好的词来描述它。 `Checksum`是一个4字节长的数据,与一些参数有关。你可以在`_010EditorKeygen.hpp`中找到函数`_010Editor :: Keygen <_010Editor :: KeyType :: Base> :: CalculateChecksum`的定义,看看如何计算它。函数`CalculateChecksum`接收4个参数。有

    |参数|描述|
    | --------------------- | --------------------------- ---------------------------------------- |
    | utf8_username |密钥许可的用户名的UTF-8字节。 |
    | IsRegistrationVersion |`false`仅适用于`Evaluation`键。否则它必须是'true`。 |
    | a3 |未知参数。到目前为止它的含义不明确。 |
    | LicenseCount |表示有多少用户可以使用此许可证。必须是1~1000。 |

* __EncodedExpireDaystamp__:这是一个3字节长的数据。 `_010EditorKeygen.hpp`中的函数`_010Editor :: Keygen <_010Editor :: KeyType :: Base> :: EncodeExpireDate`可以对其进行计算。该功能接收2个参数。有

    |参数|描述|
    | -------------------- | ---------------------------- ----------------------------- |
    | DaystampOfExpiration |到期日期戳。必须小于0x1000000。 |
    |种子|编码中使用的参数使到期日期戳。 |

* __EncodedLicenseCount__:这是一个2字节长的数据。 `_010EditorKeygen.hpp`中的函数`_010Editor :: Keygen <_010Editor :: KeyType :: Base> :: EncodeLicenseCount`可以对其进行计算。此功能仅接收1个参数。

    |参数|描述|
    | ------------------- | ----------------------------- ------------------------ |
    | DesiredLicenseCount |您想要的许可证数量。必须是1~1000。 |

### 1.1评估密钥

`Evaluation`键由8字节长的数据生成。为了说清楚,我使用

```CPP
unsigned char数据;
```

表示8字节长的数据。

`评价`键不能使你的010Editor成为注册版。它只能延长您的010Editor的试用期。

   * __data ~data __是__Checksum__并由`CalculateChecksum`函数计算,其中`IsRegistrationVersion = false`,`a3 = 255`和`LicenseCount = 1`。 `utf8_username`基于您的输入。

   * __data __必须是`0xFC`。它代表了键的类型。

   * __data ~data __是__EncodedExpireDaystamp__并由`EncodeExpireDate`函数计算,其中`DaystampOfExpiration`基于您的输入,`Seed`是__Checksum__。

最后,`Evaluation`键是`data `的十六进制字符串,其中4个十六进制字符由一个块组成,每个块由`“ - ”`(连字符)连接。

### 1.2 VersionLicense Key

“VersionLicense”键也由8字节长的数据生成。为了说清楚,我使用

```CPP
unsigned char数据;
```

也表示8字节长的数据。

`VersionLicense`键只能用于指定版本或更旧版本。它没有时间限制。

   * __data ~data __是__Checksum__并由`CalculateChecksum`函数计算,其中`IsRegistrationVersion = true`,`a3 = MajorVersion> = 2? 0:MajorVersion`。 `LicenseCount`和`utf8_username`基于您的输入。

   * __data __必须是“0x9C”。它代表了键的类型。

   * __data ~data __基于__EncodedLicenseCount __,__ data __和__data __。 __EncodedLicenseCount__可以通过`EncodeLicenseCount`函数计算,其中`DesiredLicenseCount`基于您的输入。

   ```CPP
   data = EncodedLicenseCount.bytes ^ data ;
   data = EncodedLicenseCount.bytes ^ data ;
   ```

   * __data __基于`Major
010


凡人 发表于 2018-10-30 20:25:47

收下了,备用,谢谢

clumin 发表于 2018-11-12 09:55:54

灰常感谢楼主大大,下载下来试一试

shenhaiyu 发表于 2019-12-20 12:48:23

感谢分享哦~~~~
页: [1]
查看完整版本: Sweetscape 010 Editor 注册机