标签归档:android

BPF - 使用Rust为安卓arm64构建BPF

{"output":{"choices":[{"finish_reason":"stop","message":{"role":"assistant","content":"```\n本文介绍了如何使用 Rust 的 aya 框架为 Android ARM64 平台开发 eBPF 程序,涵盖环境准备、工具链安装、目标平台配置及构建流程。\n- **核心步骤**:安装 Rust 工具链、nightly 编译器、bpf-linker 和 LLVM,使用 `cargo-generate` 创建项目模板;\n- **平台适配**:通过 `.cargo/config.toml` 设置链接器为 `ld.lld`,并设置环境变量 `CARGO_CFG_BPF_TARGET_ARCH=aarch64` 实现 ARM64 架构支持;\n- **开发限制**:eBPF 程序运行在受限环境中,不支持堆内存、标准库和 panic,需使用 `unsafe` 和 helper 函数;\n- **实用技巧**:通过宏定义与字符串匹配方式绑定 kprobe 函数,结合 `bpf_probe_read_user_str_bytes` 实现用户空间字符串读取。\n\n这篇文章为开发者提供了在 Android ARM64 上使用 Rust 构建 eBPF 程序的完整实践指南,特别适用于系统级调试和安全监控场景。\n```"}}]},"usage":{"total_tokens":2473,"output_tokens":248,"input_tokens":2225},"request_id":"62c9a09e-3301-935c-91f0-e8c5bdf343a9"}

阅读全文 →

安卓Linux - 一个基于页表的幽灵内存实现

项目链接:https://github.com/fuqiuluo/android-wuwa 为某个进程的虚拟地址"绑定"一块物理内存,让进程能够通过指定的虚拟地址访问到实际的物理页面。 但是不修改vma有关的任何东西,虽然是泄漏了些东西,至少实现了,不对吗?不需要去hook show_map 非常的

阅读全文 →

安卓 - 相机指纹PRNU(VCAM detector)

该文章纯理论,不知是否可行,只是道听途说,因为本人并非图形或人工智能专业也从未接触过这个行业,也从未从事过取证,证伪有关的工作,仅为技术研究用途... 虚拟摄像头的技术最开始为注入到应用,但是这个很快就随着安全对抗的上升导致被检测干的死的不能再死了...后面出现了两个流派,第一个是hook摄像机系统

阅读全文 →

2025腾讯游戏安全竞赛决赛题解(安卓方向)

外挂功能分析与检测方案 一、外挂功能分析 1. 范围伤害 样本通过修改游戏中子弹的碰撞体积参数,实现了范围伤害的效果。正常情况下,子弹只能在直接命中目标时造成伤害,而修改后的子弹拥有更大的碰撞检测范围,使玩家即使瞄准不准确也能造成伤害。

阅读全文 →

深入分析Android系统中电话服务的注册机制

在Android系统架构中,电话服务是一个核心系统服务,它向应用程序提供了与电话硬件交互的接口。本文将深入分析Android系统中电话服务如何注册到系统框架中,以及它如何与其他组件进行通信。 1. Android系统服务概览 在Android系统中,系统服务是以进程间通信(IPC)的方式提供给应用程

阅读全文 →

Flutter - 上传符号表到bugly

前情提要 Bugly还原Native Crash堆栈时,需要根据UUID来匹配符号表文件,因此只有上传的符号表文件的UUID与Native Crash堆栈的SO文件的UUID一致时(从后往前匹配),才能准确地对堆栈进行还原。 查看符号表文件的UUID(“如何查看Debug SO文件的UUID?”)

阅读全文 →

android - 编译内核模块

本页详细介绍了为 Android 设备构建自定义内核的流程。以下说明会逐步指导您如何选择正确的源代码,构建内核,以及将结果嵌入到根据 Android 开源项目 (AOSP) 构建的系统映像中。 您可以使用 Repo 获取最新的内核源代码;通过在源代码检出的根目录下运行 build/build.sh

阅读全文 →

Unidbg - 检测Unidbg的小方法

检测unidbg的一些方法,因为方法非网上泛滥的方法,未保证我未来不会遇到这种检测,故不展示出来,如有需要发送邮件获取密码哦。 JavaVM实现错误 UnidbgPointer _JNIInvokeInterface = svcMemory.allocate(emulator.getPointerS

阅读全文 →