乐于分享
好东西不私藏

告别JS逆向恐惧:AI自动生成热加载补丁,让加密流量“裸奔”

告别JS逆向恐惧:AI自动生成热加载补丁,让加密流量“裸奔”

核心差异:沙箱造船 vs 高速公路修车

Yakit 中的 Fuzzer 热加载 和 MITM 热补丁功能强大,但应用场景截然不同。为方便区分,我们以一张对比表开启认知:

对照表:Fuzzer 热加载 vs MITM 热补丁

维度

Fuzzer 热加载

MITM 热补丁

运行位置

Fuzzer 发包前生成 payload

MITM 代理拦截实时流量

目标范围

手动指定的单一请求

未知,所有经过代理的浏览器流量

数据来源

手写字典或 Fuzztag

任意请求体(如 JSON)

Key 来源

硬编码或预设值

从请求体动态读取并解码

字段名

手写指定(如 username/password)

未知,动态识别请求体中的字段

字段顺序

手写固定模板

遵循原始 JSON 键序

输出形式

返回字符串列表给 Fuzzer

直接修改 HTTP 原始字节包并放行

一句话总结:Fuzzer 在沙箱里造船,MITM 在高速公路上修车。

  • Fuzzer 热加载
    :在已知的“可疑功能点”上,对指定的参数进行加密/签名等修改后发包测试。
  • MITM 热补丁
    :在代理层面,对所有经过的流量进行实时的加密/解密操作,让加密流量在 Yakit 的历史记录中“裸奔”。

效率提示:若你希望快速上手,让 AI 直接生成代码,可跳至文末的【收官之战】部分,获取统一的提示词模板。


第一部分:Fuzzer 热加载实战

靶场入门:HMAC-SHA256 签名

靶场地址http://127.0.0.1:8787/crypto/sign/hmac/sha256

第一步:抓取正常流量输入 admin/admin 登录并抓包,观察正常的请求格式。

正常请求体示例

POST /crypto/sign/hmac/sha256/verify HTTP/1.1Host: shan:8787...Content-Type: application/json...{"signature": "2cac409a88d14ac7ac3c34d8afa3dab473161ee3919681af781623c57e53cfa4","key": "31323334313233343132333431323334","username": "admin","password": "admin"}

方法一:照葫芦画瓢(抄作业)

参考现有案例(如 CSDN博客),复制并理解热加载代码。

sign = func(p) {    key = `1234123412341234`    usernameDict = ["admin"]    // 使用 Fuzztag 动态获取字典值    passwordDict = x"{{payload(pass_top25)}}"    resultList = []    for username in usernameDict {        for password in passwordDict {            data=f`username=${username}&password=${password}`            signature = codec.EncodeToHex(codec.HmacSha256(key, data))            m={                "signature": signature,                "key": "31323334313233343132333431323334",                "username": username,                "password": password            }            res=json.dumps(m)            resultList.Append(res)        }    }    return resultList}

代码解读

  1. 固定用户名 admin,遍历密码字典。
  2. 按照 username=${username}&password=${password} 格式拼接待签名字符串。
  3. 使用 HmacSha256 计算签名并转为十六进制。
  4. 组装完整 JSON 请求体。

使用方法

由于该函数直接生成完整的 JSON 响应体,在 Fuzzer 中直接插入标签 {{yak(sign)}} 即可。

效果:成功爆破 admin/admin,且所有签名计算正确。

方法二:自学成才(让 AI 写)

当你需要处理更复杂的加密(如 JS 逆向出的算法)时,可以让 AI 代劳。

核心提示词模板

/yakit-hotpatch-skill-master 给我生成一个Fuzzer热加载补丁自动替换"signature":"{{yak(sign)}}",flowid=3106,加密方式你调用浏览器去js逆向出来。

操作流程

  1. 定位目标
    :分析数据包,找到像 "signature": "..." 这类会动态变化的加密字段。
  2. AI 逆向
    :让 AI 分析前端 JS,逆向出加密逻辑(如 HMAC、AES 等)。
  3. 生成补丁
    :AI 基于逆向结果,生成能在 Fuzzer 中自动重算签名的热加载代码。

辅助工具:Skill 仓库与 MCP

开源 Skill 仓库:<https://github.com/XiangXtreme/yakit-hotpatch-skill>(源自公众号“湘安无事”)

关键步骤:启动 Yakit MCP(模型上下文协议)服务,确保热加载代码能通过环境检验。

成果示例:Fuzzer 热加载代码

以下是一个 beforeRequest 钩子示例,它在 Fuzzer 渲染完所有标签后,自动计算并替换签名字段。

/*Web Fuzzer Hotload: HMAC-SHA256 signature via beforeRequestFuzzer body:{"signature": "","key": "31323334313233343132333431323334","username": "admin","password": "{{x(pass_top25)}}"}beforeRequest runs AFTER all fuzztags (like {{x(...)}}) are rendered,so json.loads sees the fully expanded password.*/beforeRequest = func(req) {    body = string(poc.GetHTTPPacketBody(req))    bodyObj = json.loads(body)    key = `1234123412341234`    data = f`username=${bodyObj["username"]}&password=${bodyObj["password"]}`    bodyObj["signature"] = codec.EncodeToHex(codec.HmacSha256(key, data))    return []byte(poc.ReplaceHTTPPacketBody(req, []byte(json.dumps(bodyObj))))}

第二部分:MITM 热补丁实战

靶场进阶:AES-ECB 加密参数

靶场地址http://127.0.0.1:8787/crypto/js/lib/aes/ecb/sqli

这一关的参数被整体加密,需要 MITM 热补丁在流量经过时实时解密/加密。

用 AI 生成实时解密补丁

核心需求:让 AI 生成一个 MITM 热补丁,实现“自动放行看明文 + 历史记录存明文”。

提示词要点:向 AI 清晰说明目标 URL、加密算法(从 JS 逆向)、以及期望的 hijackSaveHTTPFlow 钩子行为。

关键步骤

  1. 保存与生效
    :生成的补丁代码必须先保存再启用,否则可能不生效。
  2. 调试与修复
    :如果补丁无效,查看引擎 Console 的错误信息,并直接抛给 AI 进行修复。

成果示例:MITM 热补丁代码(AES-ECB)

以下是成功生成的 MITM 热补丁,实现了请求/响应的实时加解密及历史明文存储。

// AES-ECB MITM 热补丁 — 自动放行时 History 显示明文// 目标: http://shan:8787/crypto/js/lib/aes/ecb/handler/*// 算法: CryptoJS.AES.ECB + PKCS7Padding, key="1234123412341234"// 请求: {"data":"<base64>","key":"<hex>"}targetPath = "/crypto/js/lib/aes/ecb/handler/*"rawKey = "1234123412341234"aesKey = []byte(rawKey)isTarget = func(packet) {    path = poc.GetHTTPRequestPathWithoutQuery(packet)    if str.HasSuffix(targetPath, "/*") {        prefix = targetPath[:len(targetPath)-1]        return str.HasPrefix(path, prefix)    }    return path == targetPath}// AES-ECB 解密:入参 Base64 → 返回明文字符串decryptPayload = func(dataB64) {    cipher, err = codec.DecodeBase64(dataB64)    if err != nil || len(cipher) == 0 {        return "", false    }    plain, err = codec.AESECBDecrypt(aesKey, cipher, nil)    if err != nil || len(plain) == 0 {        return "", false    }    return string(plain), true}// AES-ECB 加密:入参明文字符串 → 返回 Base64encryptPayload = func(plainText) {    cipher, err = codec.AESECBEncrypt(aesKey, []byte(plainText), nil)    if err != nil {        return ""    }    return codec.EncodeBase64(cipher)}// 从 HTTP 包体提取 data 字段并解密,成功返回 (新包体, true)tryDecryptBody = func(bodyBytes) {    if bodyBytes == nil || len(bodyBytes) == 0 {        return "", false    }    bodyStr = str.TrimSpace(string(bodyBytes))    // 用 try/catch 保护,防止 json.loads 或字段取值 panic    try {        obj = json.loads(bodyStr)        ... // 详细解密逻辑        return s, true    } catch err {        return "", false    }}// ========== Hook 实现 ==========// hijackHTTPRequest: 编辑器显示明文hijackHTTPRequest = func(isHttps, url, req, forward, drop) {    if !isTarget(req) {        forward(req)        return    }    body = poc.GetHTTPPacketBody(req)    plain, ok = tryDecryptBody(body)    if ok {        req = poc.ReplaceHTTPPacketBody(req, plain)        req = poc.FixHTTPRequest(req)    }    forward(req)}hijackRequest = hijackHTTPRequest// beforeRequest: 放行前回封加密beforeRequest = func(isHttps, oreq, req) {    if !isTarget(req) {        return []byte(req)    }    body = poc.GetHTTPPacketBody(req)    bodyStr = str.TrimSpace(string(body))    // 如果 body 已含 data+key 字段,说明已经是包装体,不需要再加密    try {        tmp = json.loads(bodyStr)        if tmp != nil && str.Contains(sprintf("%v", typeof(tmp)), "map") {            _, hasData = tmp["data"]            _, hasKey = tmp["key"]            if hasData && hasKey {                return []byte(req)            }        }    } catch e {}    wrapped, ok = encryptBody(bodyStr)    if ok {        req = poc.ReplaceHTTPPacketBody(req, wrapped)        req = poc.FixHTTPRequest(req)    }    return []byte(req)}// hijackSaveHTTPFlow: 入库前解密 → History 明文hijackSaveHTTPFlow = func(flow, modify, drop) {    req, reqErr = str.Unquote(flow.Request)    if reqErr != nil {        req = flow.Request    }    if !isTarget(req) {        modify(flow)        return    }    body = poc.GetHTTPPacketBody(req)    plain, ok = tryDecryptBody(body)    if ok {        req = poc.ReplaceHTTPPacketBody(req, plain)        req = poc.FixHTTPRequest(req)        flow.Request = str.Quote(req)    }    modify(flow)}// ... 其他 hook (hijackHTTPResponseEx, afterRequest)

效果验证

  • 实时解密
    :浏览器提交加密数据,Yakit 历史记录中看到的是明文。
  • 明文操作
    :可以在 History 中直接修改明文参数,MITM 会自动加密后转发。

组合拳:MITM 解密 + Fuzzer 加密

实战中,我们常需要:

  1. MITM 热补丁
    :实时解密流量,看清明文,定位参数。
  2. Fuzzer 热加载
    :对定位到的参数进行爆破或测试,自动加密后发包。

操作流程

  1. 用上述方法生成并启用 MITM 解密补丁。
  2. 让 AI 生成配套的 Fuzzer 热加载代码,实现“明文编辑,自动加密”。

Fuzzer 热加载代码示例(AES-ECB加密)

/*AES-ECB Web Fuzzer 热加载用法: Fuzzer 请求里写明文 JSON,beforeRequest 自动加密输入: {"username":"admin","password":"123456"}发出: {"data":"<base64>","key":"3132..."}*/targetPath = "/crypto/js/lib/aes/ecb/handler/*"aesKey = []byte("1234123412341234")keyHex = "31323334313233343132333431323334"isTarget = func(packet) {    path = poc.GetHTTPRequestPathWithoutQuery(packet)    if str.HasSuffix(targetPath, "/*") {        return str.HasPrefix(path, targetPath[:len(targetPath)-1])    }    return path == targetPath}beforeRequest = func(isHttps, originReq, req) {    if !isTarget(req) || isWrapped(req) {        return []byte(req)    }    plain = str.TrimSpace(string(poc.GetHTTPPacketBody(req)))    cipher, err = codec.AESECBEncrypt(aesKey, []byte(plain), nil)    if err != nil {        return []byte(req)    }    wrapped = json.dumps({"data": codec.EncodeBase64(cipher), "key": keyHex})    req = poc.ReplaceHTTPPacketBody(req, wrapped)    req = poc.FixHTTPRequest(req)    return []byte(req)}

效果对比

  • 关闭热加载:发送明文,返回 500 错误。
  • 开启热加载:自动加密,请求成功。

注意:Yakit 内置的 AI 测试功能(如 AI Fuzzer)目前可能不经过热加载模块,其发包是独立处理的。但 AI 有时能自行逆向并发现漏洞。


第三部分:收官之战——统一工作流

最终靶场http://shan:8787/crypto/js/basic

为提升日常渗透效率,我们可以固化一套“让 AI 打工”的标准流程。

标准化提示词模板

第一步:安装并调用 /yakit-hotpatch-skill-master 技能。

第二步:在提示词中明确指定 flowid=XXX(你的流量包编号)。

第三步:使用以下万能提示词:

帮我写 Yakit MITM + Fuzzer 双热加载,流量加密了。加密算法你从浏览器 JS 逆向出来。我要自动放行看明文 + Fuzzer 改包爆破。

成果验收

按照上述流程,一个新开的 AI 会话能在约 22 分钟内,产出可直接使用的 MITM 热补丁和 Fuzzer 热加载两个文件。

  • MITM 实时解密测试成功
    :历史记录中流量明文可见。
  • Fuzzer 加密测试成功
    :修改明文参数后,能自动加密并成功发包。

总结

通过本文的“靶场实操 → 案例分析 → AI 生成 → 标准流程”四步走,你应能掌握:

  1. 概念区分
    :Fuzzer 热加载(针对单点) vs MITM 热补丁(针对全局流量)。
  2. 基础应用
    :手工编写或复制修改简单的热加载代码。
  3. 高阶技巧
    :利用 AI 逆向 JS 加密逻辑,自动生成复杂的热加载/热补丁代码。
  4. 效率法门
    :固化提示词模板,让 AI 成为你的自动化代码生成器。

从此,面对前端加密不再是障碍,而是你渗透测试流程中一个可被标准化、自动化解决的环节。

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-20 18:24:53 HTTP/1.1 GET : https://www.yeyulingfeng.com/a/771356.html
  2. 运行时间 : 0.133647s [ 吞吐率:7.48req/s ] 内存消耗:4,775.11kb 文件加载:145
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=7badceb8a848b29a81ae734f8725eed1
  1. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/composer/autoload_static.php ( 6.05 KB )
  7. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/ralouphie/getallheaders/src/getallheaders.php ( 1.60 KB )
  10. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  11. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  12. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  13. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  14. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  15. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  16. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  17. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  18. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  19. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions_include.php ( 0.16 KB )
  21. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/guzzlehttp/guzzle/src/functions.php ( 5.54 KB )
  22. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  23. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  24. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  25. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/provider.php ( 0.19 KB )
  26. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  27. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  28. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  29. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/common.php ( 0.03 KB )
  30. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  32. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/alipay.php ( 3.59 KB )
  33. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  34. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/app.php ( 0.95 KB )
  35. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cache.php ( 0.78 KB )
  36. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/console.php ( 0.23 KB )
  37. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/cookie.php ( 0.56 KB )
  38. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/database.php ( 2.48 KB )
  39. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/filesystem.php ( 0.61 KB )
  40. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/lang.php ( 0.91 KB )
  41. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/log.php ( 1.35 KB )
  42. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/middleware.php ( 0.19 KB )
  43. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/route.php ( 1.89 KB )
  44. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/session.php ( 0.57 KB )
  45. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/trace.php ( 0.34 KB )
  46. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/config/view.php ( 0.82 KB )
  47. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/event.php ( 0.25 KB )
  48. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  49. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/service.php ( 0.13 KB )
  50. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/AppService.php ( 0.26 KB )
  51. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  52. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  53. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  54. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  55. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  56. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/services.php ( 0.14 KB )
  57. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  58. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  59. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  60. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  61. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  62. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  63. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  64. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  65. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  66. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  67. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  68. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  69. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  70. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  71. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  72. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  73. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  74. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  75. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  76. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  77. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  78. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  79. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  80. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  81. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  82. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  83. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  84. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  85. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  86. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  87. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/Request.php ( 0.09 KB )
  88. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  89. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/middleware.php ( 0.25 KB )
  90. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  91. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  92. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  93. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  94. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  95. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  96. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  97. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  98. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  99. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  100. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  101. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  102. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  103. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/route/app.php ( 3.94 KB )
  104. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  105. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  106. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Index.php ( 9.87 KB )
  108. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/BaseController.php ( 2.05 KB )
  109. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  110. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  111. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  112. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  113. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  114. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  115. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  116. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  117. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  118. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  119. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  120. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  121. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  122. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  123. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  124. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  125. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  126. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  127. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  128. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  129. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  130. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  131. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  132. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  133. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  134. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  135. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/app/controller/Es.php ( 3.30 KB )
  136. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  137. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  138. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  139. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  140. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  141. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  142. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  143. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  144. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/runtime/temp/c935550e3e8a3a4c27dd94e439343fdf.php ( 31.50 KB )
  145. /yingpanguazai/ssd/ssd1/www/wwww.yeyulingfeng.com/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.001043s ] mysql:host=127.0.0.1;port=3306;dbname=wenku;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001646s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000765s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000684s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001276s ]
  6. SELECT * FROM `set` [ RunTime:0.000640s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001469s ]
  8. SELECT * FROM `article` WHERE `id` = 771356 LIMIT 1 [ RunTime:0.001124s ]
  9. UPDATE `article` SET `lasttime` = 1781951093 WHERE `id` = 771356 [ RunTime:0.003708s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000633s ]
  11. SELECT * FROM `article` WHERE `id` < 771356 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.001159s ]
  12. SELECT * FROM `article` WHERE `id` > 771356 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001020s ]
  13. SELECT * FROM `article` WHERE `id` < 771356 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.001845s ]
  14. SELECT * FROM `article` WHERE `id` < 771356 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004025s ]
  15. SELECT * FROM `article` WHERE `id` < 771356 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001908s ]
0.137621s