为编程爱好者分享易语言教程源码的资源网
好用的代理IP,游戏必备 ____广告位招租____ 服务器99/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器
好用的代理IP,游戏必备 ____广告位招租____ 服务器低至38/年 ____广告位招租____ ____广告位招租____ 挂机,建站服务器

网站首页 > 易语言相关 > 网络相关源码 正文

post上传文件源码 微步云沙箱检测例程

三叶资源网 2019-09-02 11:47:10 网络相关源码 2662 ℃ 4 评论
.版本 2
.支持库 spec

.程序集 类_微步云沙箱, , 公开
.程序集变量 m_apikey, 文本型, , , API秘钥

.子程序 _初始化, , , 当基于本类的对象被创建后,此方法会被自动调用



.子程序 _销毁, , , 当基于本类的对象被销毁前,此方法会被自动调用



.子程序 初始化, , 公开
.参数 apikey, 文本型, , 用于标识 API 调用者身份

m_apikey = apikey

.子程序 提交文件, 整数型, 公开, 成功返回 0 必须初始化加入apikey
.参数 文件路径, 文本型
.参数 运行环境, 文本型, 可空, 可空 #运行环境_开头常量 默认win7_sp1_enx86_office2013
.参数 运行时间, 整数型, 可空, 可空 默认120
.参数 返回sha256, 文本型, 参考 可空
.参数 返回报告url, 文本型, 参考 可空
.局部变量 文件名, 文本型
.局部变量 文件, 字节集
.局部变量 url, 文本型
.局部变量 post, 文本型
.局部变量 html, 文本型
.局部变量 JSON, 类_json

.如果真 (是否为空 (运行环境))
    运行环境 = #运行环境_win7_sp1_enx86_office2013
.如果真结束
.如果真 (是否为空 (运行时间))
    运行时间 = 120
.如果真结束

url = “https://s.threatbook.cn/api/v2/file/upload”

文件名 = 取文本右边 (文件路径, 取文本长度 (文件路径) - 倒找文本 (文件路径, “”, , 假))
文件 = 读入文件 (文件路径)

post = 子文本替换 (#上传协议, “{文件名}”, 文件名, , , 真)
post = 子文本替换 (post, “{文件}”, 到文本 (文件), , , 真)
post = 子文本替换 (post, “{API秘钥}”, m_apikey, , , 真)
post = 子文本替换 (post, “{运行环境}”, 运行环境, , , 真)
post = 子文本替换 (post, “{运行时间}”, 到文本 (运行时间), , , 真)

html = 到文本 (网页_访问 (url, 1, post, , , #协议头, , , , , , , ))
.如果真 (html = “”)
    返回 (-1)
.如果真结束
' 调试输出 (html)

.如果真 (JSON.解析 (html) = 假)
    返回 (-2)
.如果真结束
.如果 (JSON.取通用属性 (“response_code”, ) = “0”)
    返回sha256 = JSON.取通用属性 (“sha256”, )
    返回报告url = JSON.取通用属性 (“permalink”, )
.否则
    调试输出 (JSON.取通用属性 (“status”, ), JSON.取通用属性 (“error”, ), JSON.取通用属性 (“message”, ))  ' 输出错误代码,错误消息
    返回 (-3)
.如果结束

返回 (0)

.子程序 提交文件_备用, 整数型, 公开, 备用方案  无需初始化加入apikey
.参数 文件路径, 文本型
.参数 运行环境, 文本型, 可空, 可空 #运行环境_开头常量 默认win7_sp1_enx86_office2013
.参数 运行时间, 整数型, 可空, 可空 默认120
.参数 返回sha256, 文本型, 参考 可空
.参数 返回报告url, 文本型, 参考 可空
.局部变量 文件名, 文本型
.局部变量 文件, 字节集
.局部变量 url, 文本型
.局部变量 post, 文本型
.局部变量 html, 文本型
.局部变量 JSON, 类_json

.如果真 (是否为空 (运行环境))
    运行环境 = #运行环境_win7_sp1_enx86_office2013
.如果真结束
.如果真 (是否为空 (运行时间))
    运行时间 = 120
.如果真结束

url = “https://s.threatbook.cn/api/v3/webpage/submit_file”

文件名 = 取文本右边 (文件路径, 取文本长度 (文件路径) - 倒找文本 (文件路径, “”, , 假))
文件 = 读入文件 (文件路径)

post = 子文本替换 (#上传协议2, “{文件名}”, 文件名, , , 真)
post = 子文本替换 (post, “{文件}”, 到文本 (文件), , , 真)
post = 子文本替换 (post, “{运行环境}”, 运行环境, , , 真)
post = 子文本替换 (post, “{运行时间}”, 到文本 (运行时间), , , 真)

html = 到文本 (网页_访问 (url, 1, post, , , #协议头2, , , , , , , ))
.如果真 (html = “”)
    返回 (-1)
.如果真结束
调试输出 (html)

.如果真 (JSON.解析 (html) = 假)
    返回 (-2)
.如果真结束
.如果 (JSON.取通用属性 (“response_code”, ) = “0”)
    返回sha256 = JSON.取通用属性 (“sha256”, )
    返回报告url = JSON.取通用属性 (“permalink”, )
.否则
    调试输出 (JSON.取通用属性 (“status”, ), JSON.取通用属性 (“error”, ), JSON.取通用属性 (“message”, ))  ' 输出错误代码,错误消息
    返回 (-3)
.如果结束

返回 (0)

.子程序 获取分析报告, 文本型, 公开, 成功返回报告文本
.参数 sha256, 文本型
.参数 运行环境, 文本型, 可空, 可空 #运行环境_开头常量 获取指定运行环境报告,默认win7_sp1_enx86_office2013
.参数 报告内容, 文本型, 可空, 可空 #报告内容_开头常量 获取指定报告内容,默认获取全部报告(网站API不完善,无法单独获取相关报告,留空)
.局部变量 url, 文本型
.局部变量 get, 文本型
.局部变量 html, 文本型
.局部变量 JSON, 类_json

.如果真 (是否为空 (运行环境))
    运行环境 = #运行环境_win7_sp1_enx86_office2013
.如果真结束
.判断开始 (报告内容 = “”)
    url = “https://s.threatbook.cn/api/v2/file/report?”
.判断 (报告内容 = #报告内容_基本信息)
    url = “https://s.threatbook.cn/api/v2/file/report/summary?”
.判断 (报告内容 = #报告内容_网络行为)
    url = “https://s.threatbook.cn/api/v2/file/report/network?”
.判断 (报告内容 = #报告内容_行为签名)
    url = “https://s.threatbook.cn/api/v2/file/report/signature?”
.判断 (报告内容 = #报告内容_静态信息)
    url = “https://s.threatbook.cn/api/v2/file/report/static?”
.判断 (报告内容 = #报告内容_释放文件)
    url = “https://s.threatbook.cn/api/v2/file/report/dropped?”
.判断 (报告内容 = #报告内容_进程详情)
    url = “https://s.threatbook.cn/api/v2/file/report/pstree?”
.判断 (报告内容 = #报告内容_多引擎检查)
    url = “https://s.threatbook.cn/api/v3/file/report/multiengines?”
.默认
    url = “https://s.threatbook.cn/api/v2/file/report?”
.判断结束

get = “apikey=” + m_apikey + “&sha256=” + sha256 + “&sandbox_type=” + 运行环境

html = 到文本 (网页_访问 (url + get))
.如果真 (html = “”)
    返回 (“”)
.如果真结束
' 调试输出 (html)

.如果真 (JSON.解析 (html) = 假)
    返回 (“”)
.如果真结束
.如果 (JSON.取通用属性 (“response_code”, ) = “0”)
    返回 (JSON.取通用属性 (“data”, 真))
.否则
    调试输出 (“错误信息:” + JSON.取通用属性 (“msg”, ))  ' 输出错误消息
    ' IN_PROGRESS = 文件分析中..
    ' NO_REPORT_FOUND = 找不到报告
    ' NO_MULTI_ENGINES_DATA = 无多引擎数据
    ' X_VERIFY_FAILED = API Key 验证失败
    ' API_KEY_ERROR = API KEY 错误
    ' NO_MULTI_ENGINES_DATA = 没有反病毒扫描引擎检测数据
    ' PARAM_ERROR = 参数错误
    ' NO_REPORT_FOUND = 未发现报告
    ' SYSTEM_ERROR = 系统错误
    ' FREQUENT_OPERATION = 超出请求频率
    ' BEYOND_ACCESS_LIMITATION = 超出请求限制
    返回 (“”)
.如果结束

@tsqdhh

文件下载

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575

猜你喜欢

已有4位网友发表了看法:

  • 多线程

    多线程  评论于 [2021-05-28 16:47:49]  回复

    微步云沙箱文件下载

欢迎 发表评论:

百度站内搜索
关注微信公众号
三叶资源网⑤群:三叶资源网⑤群

网站分类
随机tag
百度语音位图斜切消息监听精易皮肤模块获取QQ资料卡AU商城模拟CMOS集成电路高并发http模型限制窗口位置和尺寸两点坐标取角度源码KeepB站UDP源码WebSocket网络相关源码Unicode高仿WPF界面MP4视频文件API例程实时监控
最新评论