在 Manus 中运行任何 Skill
一键导入
一键导入
一键在 Manus 中运行任何 Skill
开始使用offset-verify
星标48
分支21
更新时间2026年7月12日 13:15
从服务器 vmlinux 验证内核偏移和帧大小
安装
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
SKILL.md
readonly菜单
从服务器 vmlinux 验证内核偏移和帧大小
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | offset-verify |
| description | 从服务器 vmlinux 验证内核偏移和帧大小 |
从服务器上的 OPPO 内核源码编译的 vmlinux 验证内核偏移和帧大小。
ssh -i /Users/xiuxiu391/Downloads/11.pem -o ConnectTimeout=30 ubuntu@43.139.246.47
cd ~/android_kernel_oppo_sm8475-oppo-sm8475_b_16.0.0_find_n2
# 查找函数地址
nm vmlinux | grep -E "do_futex|sys_futex|futex_wait_requeue_pi"
# 反汇编查看帧大小
aarch64-linux-gnu-objdump -d --start-address=0x... --stop-address=0x... vmlinux | head -20
pahole -C mm_struct vmlinux | tail -10
grep "CONFIG_NR_CPUS" .config
python3 -c "
mm_struct_sz = 960 # 从 pahole
nr_cpus = 32 # 从 config
fls_val = nr_cpus.bit_length()
min_objects = 4 * (fls_val + 1)
for order in range(5):
slab = 4096 * (1 << order)
objs = slab // mm_struct_sz
if objs >= min_objects:
print(f'Order {order}: {slab}B, {objs} objects')
break
"
# 在本地编辑 exploit/targets/oppo-find_n2/target.h
| 函数 | 帧大小 | 来源 |
|---|---|---|
| __arm64_sys_futex | 0x90 (144B) | IDA SUB SP,SP,#0x90 |
| do_futex | 0x70 (112B) | IDA SUB SP,SP,#0x70 |
| futex_wait_requeue_pi | 0x1a0 (416B) | IDA SUB SP,SP,#0x1a0 |
| waiter 位置 | stack_top - 0x288 | IDA 计算 (0x300 - 0x78) |