一次任务的功能拆解

167 阅读4分钟

表结构设计以及接口清单 需求:将用户的不同种类的文件 按照配置不同的规则下发到对应的终端

1.表结构设计

用户资源表[resource]

字段类型描述备注
idbigint
passport_namevarchar通行证信息
titlevarchar资源的名称
descriptionvarchar资源的描述
typeint资源的类型1:dll,2:exe
file_typeint文件类型1:本地文件 2:云端文件 3: 脚本
file_pathvarchar本地文件目录
file_idbigint文件id云端文件对应的id
shell_idint脚本id

用户网吧id和resource关系表 [bar_resource_rel]

字段类型描述备注
idbigint
passport_namevarchar通行证信息
bar_idint网吧id
resource_idbigint资源的id
create_timedatetime创建时间
statusint开启状态

dll资源 策略[dll_strategy]

字段类型描述备注
idbigint
file_resource_idbigint资源id代理商资源表对应的id
loader_typeint加载类型
hide_dll_flagint隐藏dll开关[不隐藏0,隐藏1]
inject_timerint注入时机启动时1,启动后 2
delayed_injectionint延时注入()秒秒数
begin_ipvarchar起始ip
end_ipvarchar结束ip
fit_osvarchar支持系统【1 win7,2 win10,3 win11】
inject_numint注入次数0
super_flagint超级状态下执行0:不是超级执行 1:超级执行
statusint策略的启用状态0:不启用 1:启用
update_timedatetime更新时间
create_timedatetime创建时间

Dll 注入对象 表[dll_obj]

字段类型描述备注
idbigint
strategy_idbigintDll 策略id
parent_progressvarchar父进程信息
parent_progress_keyvarchar父进程key
subprogressvarchar子进程信息
subprogress_keyvarchar子进程key
match_subprogress_flagint是否匹配子进程0:不匹配1:匹配
match_subprogress_levelint匹配子进程层级

通道资源 策略[exe_strategy]

字段类型描述备注
idbigint
file_resource_idbigint资源id代理商资源表对应的id
execute_timevarchar执行时间【0,1,2】 类似这样的数组
show_flagint运行界面开关[0:不显示 1:显示]
begin_ipvarchar起始ip
end_ipvarchar结束ip
fit_osvarchar支持系统【1 win7,2 win10,3 win11】
delayed_executeint延时执行多少秒秒数
super_flagint超级状态下执行0:不是超级执行 1:超级执行
execute_probabilityint执行机率·100%
statusint策略的启用状态0:不启用 1:启用
update_timedatetime更新时间
create_timedatetime创建时间

文件表[file]

字段类型长度描述备注
file_idbigint20文件主键id
file_codebigint20文件编码,本号升级的依据,解决一个文件多个版本问题,多次上传文件编码不变
file_versionint11文件版本,从1开始
file_statuschar1当前状态:0-历史版,1-最新版
file_locationtinyint4文件存储位置:1-阿里云,2-腾讯云,3-minio,4-本地
file_bucketvarchar255文件仓库(文件夹)
file_origin_namevarchar255文件名称(上传时候的文件全名)
file_suffixvarchar255文件后缀,例如.txt
file_size_kbbigint20文件大小kb为单位
file_size_infovarchar255文件大小信息,计算后的
file_object_namevarchar255存储到bucket中的名称,主键id+.后缀
file_pathvarchar255存储路径
secret_flagchar1是否为机密文件,Y-是机密,N-不是机密
del_flagchar1是否删除:Y-被删除,N-未删除
create_timedatetime0创建时间

用户shell 表

字段类型描述备注
shell_idbigint脚本id
contentvarchar(2000)脚本内容
create_timedatetime创建时间

dll注入日志表【dll_debug_log】

这个结构,通过公有的方法生成表,生成代码执行存储以及获取开关

字段类型描述备注
pidbigint进程id
progress_pathvarchar进程路径
create_timedatetime创建时间
exe_resultvarchar执行结果

通道执行日志表【exe_debug_log】

字段类型描述备注
exe_idbigint任务id
exe_timedatetime执行时间
create_timedatetime创建时间
exe_resultvarchar执行结果

2.Web 接口清单:

1.dll注入

1.分页查询通行证设置的的dll 清单

2.新增dll /更新dll

3.批量删除dll

4.批量启用/停用dll

5.查询单个dll 注入的对象列表

2.开机通道

1.分页查询通行证设置的的任务开机通道 按照分类:【脚本/文件】

2.新增 开解通道/更新 开解通道

3.批量删除 开解通道

4.批量启用/停用 开解通道

5.查询单个 开解通道注入的对象列表

3.网吧管理页面新增的接口

1.查询网吧id 配置过的dll 插件清单

2..查询网吧id 配置过的通道清单

3.控制dll注入 或者 通道对单个网吧的启用禁用接口

4.设置网吧的通道开关

4.公共功能

  • 1.关联资源和网吧id的关系

  •   1.将资源应用到安全组
  •   2.将资源应用到网吧
  • 3.文件管理接口

  •   1.上传文件
  •   2.编辑文件信息
  •   3.删除文件
  •   4.分页查询用户已上传文件清单

3.vc端接口清单

1.根据客户端的环境信息来查询配置的dll注入清单

2.根据客户端的环境信息来查询配置的通道策略清单

3.上报dll注入调试日志

4.上报任务执行日志