当前位置:首页>python>Python 纯算还原快手签名,17 个接口实测通过,关键过程复盘

Python 纯算还原快手签名,17 个接口实测通过,关键过程复盘

  • 2026-07-02 00:01:16
Python 纯算还原快手签名,17 个接口实测通过,关键过程复盘

前言

这次做的是一个移动端接口签名还原项目:目标不是把 native 当黑盒服务一直挂着,而是把核心签名逻辑拆出来,做到本地纯算。

最终结果:sig 和 __NS_sig3 都完成了本地计算,文档中的 17 个未登录接口用纯算签名实际请求,全部返回 HTTP 200,响应 body 都是 result=1

这篇文章只复盘思路和关键判断,不展开可直接复现的代码、常量和完整参数。

一、目标与工具

1.1 目标

项目开始时,请求里主要卡在两个字段:

字段
目标
结果
sig
从 native 调用还原到本地算法
已完成
__NS_sig3
从 UniDbg 调用还原到本地算法
已完成
动态字段
判断是否硬编码、时间戳或状态字段
已定位来源
接口验证
判断纯算签名是否可用
17 个接口通过

这类项目最重要的不是“能不能跑一次”,而是要弄清楚每个字段到底由什么决定。

1.2 工具链

工具
作用
jadx
Java 层调用链定位
UniDbg
native 函数模拟和 trace
Python
算法复现、回归测试、请求验证
trace log
对齐寄存器、栈字段、内存读写

整体路线是:

Java 调用链定位
        |
        v
UniDbg 跑通 native 输出
        |
        v
trace 中间字段
        |
        v
Python 复现算法
        |
        v
样本回归 + 接口验证

二、请求流程分析

2.1 签名链路

请求大致分成两层签名:

query + form body
        |
        v
按客户端规则拼接明文
        |
        v
生成 sig
        |
        v
path + sig
        |
        v
生成 __NS_sig3
        |
        v
发送接口请求

几个关键点:

说明
sig
 输入
来自 query 和 body 的规则化拼接
__NS_sig3
 输入
来自最终 path 和 sig
__NS_xfalcon
本批未登录接口不依赖
设备参数
参与请求输入,但不是签名算法本身

2.2 参数类型要分清

逆向时很容易把“测试参数”和“算法参数”混在一起。这里我把它拆成三类:

类型
举例
是否算法核心
算法常量
native 中的固定常量、白盒表
动态状态
nonce、counter
是,但不是硬编码
业务样例参数
photoId、userId、keyword、page-code
不是

后面实际验证时,业务参数可以替换;签名算法会根据新请求重新计算。

三、核心逆向过程

3.1 sig 的还原

sig 的入口在 Java 层比较容易定位,最终会走到 native 方法。

通过 UniDbg trace 可以看到它内部是一个标准摘要计算流程,并且 update 输入由两部分组成:

请求明文 + native 内固定补充片段

这一步还原完成后,sig 就不需要再调用 UniDbg。

验证方式是多组输入输出回归:

样本
结果
空字符串
本地输出与 native 一致
短字符串
本地输出与 native 一致
长字符串
本地输出与 native 一致
实际接口明文
本地输出可用于请求

3.2 __NS_sig3 的结构

__NS_sig3 比 sig 复杂很多。它不是简单 hash,同一个输入多次调用,输出也会变化。

trace 后拆成几层:

path + sig
        |
        v
输入相关摘要
        |
        v
白盒变换
        |
        v
CRC 类压缩字段
        |
        v
拼 raw payload
        |
        v
checksum + 编码

最终输出是固定长度的 hex 字符串。

我把 raw payload 拆成几段:

字段
作用
magic
固定标识
nonce
初始化状态字段
flag
固定标记
input hash
和 path + sig 强相关
counter
进程内自增计数
tail
固定尾部字段
checksum
raw payload 校验

这里最关键的是区分两类字段:

字段
是否由输入决定
input hash
nonce
否,来自初始化状态
counter
否,来自进程内递增状态

3.3 输入相关 hash 的还原

输入相关部分经过了几步:

input bytes
        |
        v
HMAC/SHA 类摘要
        |
        v
按 block 分组
        |
        v
whitebox transform
        |
        v
压缩成 4 字节字段

这部分是 __NS_sig3 能否纯算的核心。因为只要输入相关字段错,服务端就会直接判签名失败。

我的做法是:

  1. 用 UniDbg trace 抽出中间 block。
  2. dump native 中用到的变换表。
  3. 在 Python 中实现相同变换。
  4. 用多组样本对齐中间值,而不是只对最终结果。

最终可以做到:

path + sig -> input hash

完全本地计算。

3.4 nonce 和 counter 的定位

一开始 nonce/counter 很容易被误判为时间戳。后来通过内存读写确认:

字段
实际来源
本地处理
nonce
初始化状态结构中的 4 字节字段
本地初始化一次
counter
native 全局计数器自增
Python 进程内自增

这两个字段不是硬编码。

默认请求时:

nonce:本地随机初始化
counter:每次签名递增

只有在做 trace 回归时,才会固定这两个值,用来复现某一条 native 输出。

四、其他技术点

4.1 为什么有些接口返回数据少

17 个接口都能签名通过,但不是每个接口都会返回丰富数据。有些接口只返回轻量字段或空列表。

为了确认这不是纯算签名的问题,我做了纯算和 UniDbg 对比:

接口类型
纯算结果
UniDbg 结果
结论
评论接口
有评论数据
有评论数据
签名正常
用户资料
有资料数据
有资料数据
签名正常
搜索建议
有 suggest 数据
有 suggest 数据
签名正常
部分热词/榜单
返回空列表或轻量字段
返回一致
参数上下文不足

如果纯算和 UniDbg 同参数返回一致,就说明问题不在签名,而在业务上下文。

这类上下文包括:

上下文
影响
ussid
搜索链路会用
llsid
feed/详情链路会用
recoReportContext
推荐流会用
channel id
频道接口会用
page-code
页面场景会用

4.2 设备字段不是算法硬编码

请求里有大量设备字段。它们会参与签名明文,但它们不是算法本身。

可以这样理解:

设备字段变化
    -> sig_plain 变化
    -> sig 变化
    -> __NS_sig3 变化

这说明签名是跟请求内容绑定的,不代表算法里硬编码了某个设备。

项目里也做过设备随机化测试:保留身份字段,只随机硬件字段时,常用接口可以稳定返回。

五、完整实现流程

5.1 工程结构

最后落地时,我把签名封装成统一入口:

模块
作用
sig 计算模块
负责请求主签名
sig3 计算模块
负责 native 安全签名
状态模块
维护 nonce/counter
请求器
统一构造 query/body/header
回归测试
对齐 native 样本和 live 结果

调用流程:

build request
      |
      v
build sig_plain
      |
      v
calc sig
      |
      v
calc sig3(path + sig)
      |
      v
send request

5.2 回归策略

我没有只看最终接口能不能过,而是做了三层回归:

层级
验证内容
算法样本
本地输出和 native 输出一致
dry-run
17 个接口都能构造签名请求
live 请求
17 个接口实际返回 result=1

这能避免一种常见问题:接口偶然过了,但算法其实没有完全对齐。

六、实测结果

6.1 单接口结果

评论首屏接口纯算签名请求结果:

指标
结果
HTTP
200
X-KsResult
1
body result
1
评论数量
30
commentCount
878
签名来源
pure

6.2 17 个接口结果

接口名
HTTP
body result
数据情况
评论首屏
200
1
有评论数据
评论翻页
200
1
有评论数据
作品基础信息
200
1
返回轻量字段
feed 预取信息
200
1
有 feedInfo
用户资料
200
1
有 userProfile
用户作品流
200
1
有 feeds
用户评论列表
200
1
有列表
搜索首页
200
1
有热词/频道
搜索建议
200
1
有 suggest
搜索用户
200
1
有 mixFeeds
搜索趋势
200
1
列表为空
搜索历史
200
1
未登录历史为空
搜索预置词
200
1
列表为空
搜索联想词
200
1
列表为空
详情页热词
200
1
轻量字段
搜索新热榜
200
1
轻量字段
热门频道
200
1
轻量字段

总结果:

指标
结果
测试接口数
17
HTTP 200
17/17
body result=1
17/17
纯算签名
17/17
和 UniDbg 对照
可疑接口结果一致

七、AI 辅助心得

7.1 AI 做了什么

这次 AI 主要帮在三个地方:

  1. trace 整理:从大量日志里归纳寄存器、栈字段和内存读写关系。
  2. 假设验证:快速区分字段是输入相关、状态相关,还是固定协议字段。
  3. 工程收敛:把零散脚本整理成可回归的纯算实现。

效率提升最大的地方是日志阅读。native trace 很容易陷入细节,AI 适合先把证据链梳成结构,再由人判断关键路径。

7.2 正确用法

这类项目里,我不会让 AI 直接猜算法,而是这样用:

  • 先跑出确定样本。
  • 每个中间值都要求对齐。
  • 每个字段都要解释来源。
  • 纯算结果要和 UniDbg 对照。
  • 接口返回异常时,先区分签名问题和业务上下文问题。

AI 的价值不是替代逆向判断,而是把证据整理速度拉起来。

总结

这次逆向的核心收获:

  1. sig 已从 native 调用还原成本地算法。
  2. __NS_sig3 已拆成输入 hash、白盒变换、动态状态、外层编码四部分。
  3. nonce/counter 不是硬编码,分别来自初始化状态和进程内自增。
  4. 纯算签名实际请求 17 个接口全部返回 result=1
  5. 数据少的接口和 UniDbg 对比一致,问题在业务上下文,不在签名。

真正有价值的不是某一段代码,而是完整的验证链路:定位、trace、还原、回归、请求验证。只要这条链路闭环,后面扩展接口就不会靠猜。

最新文章

随机文章

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