Encoder编写

Encoder 编写和 Payload 编写一样,不同在于 Encoder 需要继承 EncodeBase 并实现 _encode 函数,如下模板所示:

import base64
from ExpDepos.libs.core.base.EncodeBase import *


class example(EncodeBase):
    Name = "example encoder"            # encoder名称
    Alias = "example_enc"               # encoder别名
    Author = "Castiel"                  # 编写作者
    Create_Date = "2021-12-01"          # exp编写日期
    Update_Date = "2021-12-01"          # exp更新日期
    Rank = RANK.Normal  # exp效果(可选:Excellent Great Good Normal Average Low Manual)
    Desc = "example编码器"

    def _encode(self, payload: any([str, bytes])) -> any([str, bytes]):
        if isinstance(payload, str):
            payload = payload.encode()
        return base64.b64encode(payload).decode()

_encode 函数中,可以自定义实现编码算法并将传入的 payload 值进行编码后返回即可。