百趣云
百趣云的博客
👦百趣云
点选验证码的两种形态点选验证码("请依次点击图中的汉字/图标")分两种:文字点选:背景图里有几个汉字,按提示顺序点击(极验、网易易盾的经典题型)图标点选:图里一堆小图标,点击与示例相同的(顶象、部分电商自研)对抗链路相同:识别(知道点哪)→ 坐标转换(页面坐标系换算)→ 加密上传(坐标参数的生成)→ 行为模拟(点击节奏)。识别:三条路线路线一:打码平台(最快落地)超级鹰、图鉴、TT 打码等都支持点选题型:上传图片+题型编号,返回坐标序列。成本约 1-3 分/次,准确率 90-95%。适合业务量小或验证频率低的场景。路线二:目标检测模型(规模化首选)自己训练 YOLO 模型识别图标/文字位置:抓
JSBridge 是混合开发 App 的"海关"混合开发 App(原生壳 + H5 核心页面)里,所有 native 能力和 H5 逻辑的交互都走 JSBridge:H5 调 native 算签名、native 给 H5 推登录态、H5 调 native 起支付……把 JSBridge 看光,混合 App 就没有秘密。JSBridge 有两种主流实现,分析前先分清对手用哪种。实现一:addJavascriptInterface(直接调用型)native 把 Java 对象暴露给 JS:webView.addJavascriptInterface(new BridgeObject(), &quo
设备指纹的本质:稳定 + 唯一的"设备画像"风控 SDK(数美、顶象、同盾、腾讯防水墙)的核心产品是设备指纹——给每台设备算一个唯一 ID,让"换账号不换设备"的批量行为无所遁形。理解它的采集清单,才知道改机要改到什么程度。设计约束决定采集思路:单个字段都不够唯一(机型一样的手机千千万),所以采集 30+ 个字段做联合哈希。字段选择遵循两个原则:稳定性(不能重启就变)和区分度(不同设备尽量不同)。采集清单分类拆解硬件层(区分度高,改机难度大):CPU 型号/核心数/频率 /proc/cpuinfo
内存大小 /proc/meminfo
屏幕分辨率
为什么第一个 hook 点永远是 Application.onCreate写 Xposed 模块逆向 App,90% 的功能需要 Context(拿包管理器、访问 SharedPreferences、弹 Toast 调试)。而模块加载时(handleLoadPackage)是没有 Context 的——进程刚启动,Application 都还没创建。所以所有 Xposed 模块的第一个标准动作:hook Application.onCreate,在回调里拿 Context,再干正事。模块骨架public class MainHook implements IXposedHookLoadPack
MonkeyDev 解决什么问题iOS 逆向有个天然矛盾:tweak 需要越狱环境,但目标 App 检测越狱;真机不越狱又没法注入代码。MonkeyDev 给出的方案是重打包注入——把 hook 代码编译成 dylib,塞进脱壳后的 IPA,修改 Mach-O 的加载命令让它启动时自动加载,重签名装回非越狱机。等于把 App 和你的分析代码打包成一个"合体版"安装包,在非越狱设备上实现 tweak 的效果。环境搭建与标准流程# 安装(依赖 theos)
git clone https://github.com/AloneMonkey/MonkeyDev.git
# 按 wiki 配置 theo