# 湖南御码授权服务

## 关于

湖南御码网控信息技术有限公司，注册资金1000万元，公司总部位于长沙市高新区，是一家拥有多项自主知识产权的高新技术研发型企业，同时也是一家专业的密码应用综合解决方案提供商，公司集结了一大批经验丰富的密码应用从业专家，致力于打造以国产密码技术为核心的新网络安全基础设施，构建自主可控的网络安全体系，为密码应用安全性评估及技术改造提供整体解决方案。公司以技术自主创新为驱动力，依据国家各项要求及规范，围绕国产密码算法研发了一系列产品，主要包括：密码服务中台管理系统、密码安全中间件软件、移动认证APP软件、统一身份认证平台、终端安全管理软件等，面向全国用户提供密码综合应用服务,为国家信息安全建设贡献力量。

[湖南御码网控信息技术有限公司](http://yumawk.com)

## 系统架构

![image-20211118110453327](/images/image-20211118110453327.png)

支持操作系统 linux, windows, darwin, freebsd, 虚拟机, docker容器

支持指令集类型 arm, mips, amd64, 386

理论上支持国产操作系统和系统架构（支持其官方公布的CPU指令集，暂未测试）

## 生成机器码
> LINUX

chmod +x ./machine
 
./machine

![image-20211118113900364](/images/image-20211118113900364.png)

> WINDOWS

machine.exe
![image-20211118112519662](/images/image-20211118112519662.png)

控制台会输出动态机器码，当前目录会创建机器码文件machine_code.txt
## 生成授权（web平台）
### 解析机器码
![image-20211118114413259](/images/image-20211118114413259.png)

### 签发授权
![image-20211118114655437](/images/image-20211118114655437.png)

### 授权记录
![image-20211118114816075](/images/image-20211118114816075.png)

### 系统维护
![image-20211118114831256](/images/image-20211118114831256.png)

### 在线编译

在服务器上交叉编译linux/windows版本so/dll

![image-20211118114914559](/images/image-20211118114914559.png)

## 授权认证模块
模块为so/dll文件
该模块集成到被授权系统，在系统启动时和关键步骤进行授权认证

认证结果

```go
const Code = byte(0x01)// 授权认证成功
const LocalTimeError = byte( 0x02)// 系统时间被篡改
const LicError =  byte(0x03)// 授权码解析出错
const LicTimeError = byte(0x04)// 当前时间不在授权时间范围内
const LicDigestError = byte(0x05)// 硬件ID认证错误
const LicSystemError = byte(0x06)// 系统标识错误
const No = byte(0x07)// 授权过程中未出错，但不是授权认证成功
const Null = byte(0x08)// 授权码/参数为空
```



## 反汇编

所有函数混淆

隐藏静态常量池

不以简单的是或否校验机器码

![image-20211118111930883](/images/image-20211118111930883.png)

