ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

CiLocks smali代码阅读完整指南:如何在反汇编中快速定位Firestore集合名

CiLocks smali代码阅读完整指南:如何在反汇编中快速定位Firestore集合名 CiLocks smali代码阅读完整指南如何在反汇编中快速定位Firestore集合名【免费下载链接】CiLocksCrack Interface lockscreen, Metasploit and More Android/IOS Hacking项目地址: https://gitcode.com/GitHub_Trending/ci/CiLocksCiLocks 是一款面向 Android/IOS 的锁屏破解与渗透工具其第 15 号模块FireStore Vulnerability能通过反编译 APK 的 smali 反汇编文件自动定位应用内所有 Firestore 集合名。本文带你从零读懂 smali 代码并掌握 CiLocks 定位 Firestore 集合名的完整原理与手动操作技巧。一、为什么要读 smaliAPK 里的 Java 源码编译后是二进制的 DEX 字节码人类无法直接阅读。用 apktool 反编译后每个类文件会变成一堆smali 文本——它像汇编语言但保留了类名、方法名和字符串常量这正是我们定位集合名的突破口核心思路集合名在代码里必然以字符串常量const-string出现只要在 smali 里搜谁在调用 Firestore 旁边的字符串常量集合名就藏不住。二、CiLocks 的 FireStore 扫描是如何工作的在 cilocks 主脚本中FireStore Vulnerability模块第 950~1020 行实现了完整的三步定位法理解它的逻辑你就学会了读 smali 的基本功第 1 步用 AndroidManifest.xml 判断是否集成 Firebase反编译前先确认目标有戏grep -qi firebase 解包目录/AndroidManifest.xml如果清单文件里搜不到firebase说明应用根本没集成 Firebase SDK直接跳过。这一点很重要——先过滤再深挖能省下大量无效分析时间。第 2 步从 strings.xml 提取 project_idFirebase 项目 ID 通常硬编码在资源文件里cilocks 用一条 sed 命令从string nameproject_id标签中抠出值。这个 ID 是后续在 Firebase 控制台验证集合是否存在的关键凭据。第 3 步在 smali 里用锚点 上下文定位集合名这是全文最精髓的技巧。脚本以 Firestore 客户端类的描述符作为锚点见 cilocksgrep -hA 2 lcom/google/firebase/firestore/FirebaseFirestore -irw 解包目录/smali* \ | grep -iv lcom/google/firebase/firestore/FirebaseFirestore \ | grep const-string \ | sed s/[^]*\([^]*\).*/\1/ | sort -u拆开看每一步都在教我们 smali 阅读基本功技巧说明-A 2锚点上下文集合名一般紧跟在获取 Firestore 实例lcom/google/firebase/firestore/FirebaseFirestore的 1~2 行之后grep const-stringsmali 中所有字符串常量都用const-string指令装载集合名必然是其中之一sed s/[^]*\([^]*\).*/\1/只保留引号内的字符串内容过滤掉指令噪音sort -u去重得到干净的集合名清单三、手动实战三步复现定位过程无需依赖工具任何反编译后的 APK 都能用同样方法分析1️⃣ 反编译 APKapktool d target.apk -o fsp-target2️⃣ 确认 Firebase 集成并记录 project_id检查fsp-target/AndroidManifest.xml与fsp-target/res/values/strings.xml与 cilocks 的校验逻辑完全一致。3️⃣ 锚点搜索 smali 目录执行上文第二节的第 3 步命令即可拿到去重后的集合名列表。四、smali 阅读小贴士类描述符规则smali 中类名以L开头、;结尾包名用/分隔例如Lcom/google/firebase/firestore/FirebaseFirestore;对应 Java 类com.google.firebase.firestore.FirebaseFirestore。找字符串只看 const-stringconst-string v0, users里的users就是被装入寄存器的字符串字面量。善用-A上下文参数集合操作collection/where/document通常紧跟锚点取前后 2 行足够覆盖。排除干扰字符串如脚本报错信息Provided data must not be null.这类提示文本也会混入结果需要人工过滤。小项目参考仓库自带的 AntiGuard/src/io/kos/antiguard/unlock.java 与 AntiGuard/AndroidManifest.xml 是一个简单 Activity 的源码与清单示例适合对照理解源码 → 清单 → smali的对应关系。五、结果解读与重要提醒CiLocks 在输出集合名列表后会明确提示见 cilocks查询 Firestore 集合会产生费用——Firestore 按操作次数计费每次列表读取都计入目标账户的每日开销。因此请务必✅ 仅在获得授权的安全测试环境中使用✅ 拿到集合名后只做确认性查询避免大规模遍历。六、相关资源清单主脚本含 FireStore 模块完整实现cilocks4 位 PIN 字典4digit.txt 6 位 PIN 字典6digit.txt功能总览与安装要求README.mdAntiGuard 解锁组件源码AntiGuard/src/io/kos/antiguard/unlock.java总结读 smali 不需要精通汇编只需抓住三点类描述符定位 API 调用、const-string 提取字符串常量、grep 锚点 上下文锁定邻近逻辑。掌握这套方法你不仅能看懂 CiLocks 的 Firestore 扫描模块还能独立分析任何 Android 应用的数据结构。【免费下载链接】CiLocksCrack Interface lockscreen, Metasploit and More Android/IOS Hacking项目地址: https://gitcode.com/GitHub_Trending/ci/CiLocks创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表