网络安全渗透测试【免费下载链接】android-wifi-pojieAndroid使用密码本暴力破解wifi密码工具项目地址https://gitcode.com/gh_mirrors/an/android-wifi-pojie点击查看免费下载本文带你完整剖析 android-wifi-pojieWiFi工具箱的源码架构这是一个运行在 Android 上的WiFi密码字典破解工具采用Kotlin Jetpack Compose构建支持 Shizuku、Root AIDL、系统 API 三种权限模式可多任务排队破解 WiFi 密码。如果你刚接触 Compose 架构设计这份源码剖析指南值得精读。 成品初印象先看它能做什么在深入源码前先认识一下这个应用的实际形态。它是典型的设置参数 → 启动前台服务 → 轮询字典 → 判定结果的长时后台任务类 App截图中从左到右依次是脚本编辑器页支持 TextMate 语法高亮的 JS 密码本编写、运行页WiFi 列表 逐个开始破解 实时日志输出、设置页连接方式 / 日志读取方式等模式配置、以及深色模式下的运行页多任务并发破解展示进度与预计耗时。 技术栈选型一览项目使用 Gradle 版本目录集中管理依赖全部第三方库清单见 gradle/libs.versions.toml。核心选型如下领域选型版本作用语言Kotlin2.3.0全源码 Kotlin 编写UI 框架Jetpack Compose (BOM)2026.01.00声明式 UI含 Miuix 主题设计体系Material3 Miuix1.5.0 / 0.7.2小米风格设计语言导航navigation-compose2.9.6Compose 导航图权限通道①Shizuku13.1.5系统 API 调用免 Root权限通道②libsu6.0.0Root 命令行 AIDL代码编辑器rosemoe editor TextMate0.24.4内置 JS 脚本编辑器数据持久化Room Gson2.8.4破解历史、配置存储并发Coroutines Flow官方库任务调度与日志流架构启示一个工具类 App 并不需要重型 MVVM 框架。本项目用Application 持有可变状态 Compose 快照收集的方式就让 UI 与后台服务实现了干净解耦这对新手非常友好。 项目结构总览源码按职责分为五大目录入口文件为 ToolboxApp.ktapp/src/main/java/com/wifi/toolbox/ ├── ToolboxApp.kt # Application 入口组装各功能模块 ├── app/ # 功能模块AppPojieTask / AppShizuku / AppUI / AppAidl / AppCrash ├── services/ # 服务层PojieService前台服务 pojie/破解核心循环 ├── structs/ # 数据模型PojieSettings / PojieRunInfo / WifiLogData 等 ├── ui/ # Compose 界面pages/导航、编辑器 screen/各功能页 └── utils/ # 工具类ShizukuUtil / AidlServiceHelper / ResourcesRunnerAIDL 接口独立存放于 aidl/com/wifi/toolbox/预置密码本放在 assets/pojieres/脚本编辑器的语法高亮规则放在 assets/textmate/。⚙️ 核心架构状态驱动的任务流水线1️⃣ 以 Application 作为单一事实来源ToolboxApp.kt 在onCreate中组装了五个功能模块其中任务状态模块 AppPojieTask.kt 是整个架构的关键TaskRunList是一个mutableStateListOfPojieRunInfo()——正在运行的破解任务列表TaskEndTip是mutableStateMapOf—— 已结束任务的提示信息pojieConfig/logState是mutableStateOf包裹的可变状态这里妙在直接用 Compose 的mutableState*家族充当跨层状态总线UI 层读写它Compose 自动刷新而 Service 层跑在主进程里修改它UI 同样实时响应。无需 LiveData、无需 ViewModel 中转一份状态驱动全局。任务的数据结构见 PojieRunInfo.ktssid、密码列表tryList、当前尝试下标tryIndex、重试计数retryCount、耗时历史costList用于估算剩余时间。2️⃣ 前台服务 调度主循环UI 调用AppPojieTask.start()后任务列表变为非空随即拉起 PojieService.kt 前台服务。服务启动时做三件事创建常驻通知防止被系统杀掉、初始化日志采集服务、启动任务调度循环。真正的调度大脑是 PojieTaskManager.kt一个while (isActive)主循环找任务findNextReadyTask从运行列表里选出冷却期已过的最久未尝试任务执行尝试executeTaskAttempt用async(Dispatchers.Default)委托ConnectWorker发起单次连接处理结果handleAttemptResult区分 5 种结果码成功 / 失败 / 超时 / 临时错误 / 取消推进tryIndex或终止任务自动收尾用snapshotFlow监听任务列表变化任务被移除时自动调用forgetNetwork清除系统保存的凭据其中指数退避设计值得学习PojieTaskManager.kt#L115-L125任务连续超时时等待时长为2^(重试次数-1) × 基准时间避免疯狂重试拖垮系统。3️⃣ 单连接执行器4 种连接模式ConnectWorker.kt 负责尝试一个密码的完整逻辑通过connectMode分发到不同权限通道connectMode通道实现位置特点1ShizukuShizukuUtil.kt免 Root 调用隐藏 API最稳定2Root AIDLIToolboxService.aidl跨进程调用 root 服务的connectToWifi3系统 APIApiUtil.ktWifiManager传统接口可能误报4Android 10 官方 APIConnectivityManager回调驱动suspendCancellableCoroutine桥接成挂起函数细节亮点当密码为空时验证系统里已保存的密码各模式统一走enableNetwork(netId)重新激活已保存网络——这是一个很实用的验密技巧。整体流程可用仓库自带的流程图 run_lc.svg 对照理解。4️⃣ 结果判定双通道日志采集如何知道这次连接成功还是密码错误项目用两条日志流来判定logcat 模式WifiLogcatService.kt 以命令行抓取系统日志解析出EVENT_WIFI_CONNECTED、EVENT_CONNECT_FAILED、EVENT_HANDSHAKE等事件广播模式WifiBroadcastService.kt 监听系统 WiFi 状态广播更轻量两类事件统一封装为 WifiLogData.kt由checkLogDataSync消费。这里藏着破解工具最经典的判定逻辑——握手成功但连接失败 密码错误ConnectWorker.kt#L200-L206failureFlag 1握手耗时超过阈值判为失败failureFlag 2握手次数超过上限判为失败可捕捉超次断连所有判定都在withTimeout(maxTryTime)保护下执行超时返回RESULT_TIMEOUT进入退避重试整体参数由 PojieConfig.kt 定义。 可脚本化的密码本系统密码本资源是这个项目的灵魂功能由 ResourcesRunner.kt 驱动支持两种类型 普通类型一行一个密码的 txt按顺序轮询尝试兼容幻影WiFi格式。 脚本类型每次执行都重新运行一段 JavaScript 动态生成密码。它的实现非常巧妙——把用户 JS 代码包裹进一个 async IIFE注入到 WebView 中执行并通过JavascriptInterface搭建 JS ↔ Kotlin 桥task.ssid—— 脚本可读取目标 WiFi 名称task.addItem(...)—— 向本次任务追加密码await wait(ms)—— 支持异步等待脚本还能使用 WebView 的fetch发起网络请求受跨域限制比如动态拉取弱口令字典。配套的内置编辑器 CodeEditor.kt 基于 Rosé 编辑器 TextMate 语法引擎高亮规则来自 assets/textmate/javascript/。 UI 层Compose Miuix 主题界面代码集中在ui/目录骨架很清晰MainActivity.ktsetContent内套MiuixThemeAppTheme支持动态取色注入 Snackbar、编辑器控制器、全局对话框AppNav.ktModalNavigationDrawer抽屉 NavHost定义 6 条路由Home / Pojie / Viewer / Test / Settings / About抽屉打开时主内容层用Modifier.blur做实时模糊过渡是 Compose 动画与snapshotFlow结合的好例子PojieScreen.kt运行主界面订阅runningPojieTasks实时渲染每个 WiFi 的进度条、当前密码与预计剩余时间组件层ui/items/复用卡片、日志视图、WiFi 列表项等多语言资源含 values-en/、values-zh-rTW/ 甚至 values-lzh/文言文 权限体系三种模式如何抉择不同权限决定了可用的通道组合配置模型见 PojieSettings.ktParcelize SharedPreferences 序列化权限条件推荐配置说明有 RootAIDL 模式设置中勾选启用 aidl 服务后重启走 AidlServiceHelper.kt 跨进程调用 root 服务有 Shizuku无 RootShizuku 模式官方推荐[AppShizuku.kt](https://link.gitcode.com/i/90f4ab0cefe222ad3610adbe7aa5f6a5)负责生命周期管理都没有系统 API 模式可用但可能误报且不支持握手超次判定日志读取与连接方式相互独立、可自由组合这也是设置页里执行方式矩阵出现的原因。 动手构建想要亲手编译或魔改先拿到源码git clone https://gitcode.com/gh_mirrors/an/android-wifi-pojie然后用 Android StudioAGP 8.13.2 / Kotlin 2.3.0打开根目录Gradle 会自动依据 settings.gradle.kts 与 gradle/libs.versions.toml 拉取依赖。真机运行后先读 README.md 了解各模式配置再到设置页按本机权限选择运行模式。 结语新手能从中学到什么这份 android-wifi-pojie 源码剖析展示了一个教科书级的中型 Compose 应用架构可复用经验有五点状态即总线用mutableStateOf/mutableStateListOf让 Application、Service、UI 共享一份状态替代复杂的 MVVM 样板前台服务 协程主循环处理长时任务用SupervisorJob隔离故障指数退避处理网络重试snapshotFlow监听集合变化做副作用多通道降级设计同一抽象接口下按权限环境切换 Shizuku / AIDL / 系统 APIWebView 当脚本引擎JavascriptInterface桥 async 包裹十行代码获得完整 JS 运行时理解这套调度器 工作器 日志判定的流水线后你迁移到任何轮询型、任务型 Android 工具的开发都会事半功倍。赞分享网络安全渗透测试【免费下载链接】android-wifi-pojieAndroid使用密码本暴力破解wifi密码工具项目地址https://gitcode.com/gh_mirrors/an/android-wifi-pojie点击查看免费下载相关推荐如何快速获取WiFi密码并生成连接二维码WiFi密码获取工具全指南如何快速获取WiFi密码并生成连接二维码WiFi密码获取工具全指南 在日常生活中我们经常需要分享WiFi密码给家人朋友或者在重新连接设备时忘记密码。今天推CLIform-builder源码解析PHP表单生成器的设计模式与架构思想form builder源码解析PHP表单生成器的设计模式与架构思想 form builder是一款高效的PHP表单生成器能够快速生成现代化的form表单后端低代码jsdoc-to-markdown实战集成CI/CD流水线自动化生成项目文档jsdoc to markdown实战集成CI/CD流水线自动化生成项目文档 jsdoc to markdown是一款能够从JSDoc注释的JavaScrip开发工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?