乐于分享
好东西不私藏

移动安全之跟风用AI开发设备检测app

移动安全之跟风用AI开发设备检测app

运请注明出处公众号编角料,不欢迎个人网站等盗版平台搬运

前言

以下内容,皆无具体的技术细节,有了AI,还要啥技术细节,主要一些有关AI的分析发现和想法
今天正好有时间,那么,反正也闲着,水一篇
不知道从什么时候开始,AI这波冲击,突然就进入大家视线,本来一开始我是不太喜欢用AI的,总感觉,这就和开车用辅助驾驶一样,还是不太放心全权交给它
但是嘛,咱们这一行,就得快速接受时代的变迁,不然就会被淘汰,主要动不动就看群里说,谁谁谁,用AI又把5s秒了,把什么6神,x-sign啥的秒了,jsvmp秒了,什么什么纯算秒了
看到这些,我相信只要是圈里的人,应该都懂这些词汇的分量,所以应该也能感觉到焦虑了,“难道AI真的这么强?”
所以,我大概是从一两个月前开始,逼着自己去学习使用AI,花钱买AI付费服务,体验AI
我一开始下了一堆AI软件
最后只留下这几个,长期挂着的就前面两个
不解释,懂的都懂
反正装上就是配置如下
  • 配置各项mcp
  • 配置skill
  • 配置codex 安全机制绕过
一开始还是玩得挺开心,至少真的不用去从0开始自己写代码了,后面就是感觉舒服,再后来就是感觉焦虑,非常焦虑
还有啥是AI不能干的,玛德,也太全面了

有想法就能立马落地

之前研究过各种安卓设备检测的app,研究如何绕过,以前也法发过相关的文章  移动安全之某app设备环境常规检测绕过移动安全之某海外app环境检测排查
所以其实,当时就想自己写一个检测的app,但是,能力有限加上时间没那么多,一直没行动,
现在有了AI,我准备让它给我干,看看是否真的可行
进而也能看看,那些app到底都怎么检测的,这就好比,你爬虫写多了,也想自己试试怎么写个反爬策略,逆向多了,也想试试怎么写个反调试
说干就干,android studio建一个native的项目(这是从0开始到最后,这个步骤是我真纯手动操作的了),随便取了个名字—— StandUp,就像学生时代上课的时候突然被老师叫起来回到问题一样
app权限也都是默认的,没有做一些越级操作行为
然后直接让谷歌 antigravity给我一点点开发了
好了,整完一点点来

检测adb

很轻松

检测app安装列表

也很轻松,都不需要通过用户获取app列表的权限

检测apatch

用的朋友给的方案,检测密钥相关

检测zygisk模块

直接用antigravity让它去联网查询源码
跑了没一会儿,claude opus4.6直接就跑完了,焦灼
换gemini 3.1pro,也是一会儿就没了
然后写了不少检测,大部分都是检测/data/adb/子目录,以及 /proc/self/mountinfo、tracerpid相关,以及maps之类的,但是效果非常的差,一堆检测代码,但基本不可用
我拉取了zygisk next最后一版的开源代码,以及rezygisk,neozygisk的源码,然后正好gpt5.5发布,直接让它一顿分析,刚开始只找到一些特征,但是大部分还是围绕在/data/adb/子目录部分
最后给了我一个分析报告

太长了,只贴一部分

———————————

| 特征 | ZygiskNext | NeoZygisk | ReZygisk | 需要 root | 检测难度 |

| ptrace PID 1 | ✅ | ✅ | ❌ | ❌ | 低 |

| memfd (jit-cache) | ✅ | ❌ | ❌ | 需读 Zygote maps | 中 |

| memfd (zygisk-module) | ❌ | ✅ | ❌ | 需读 Zygote maps | 中 |

| Unix Socket 路径 | ✅ | ✅ | ✅ | ❌(/proc/net/unix) | 低 |

| zygisk-ptrace 进程 | ✅ | ✅ | ❌ | ❌ | 低 |

| zygiskd 进程 | ✅ | ✅ | ✅ | ❌ | 低 |

| Companion 进程名 | ✅ | ✅ | ✅ | ❌ | 中 |

| libzygisk.so in maps | ✅ | 部分 | ❌ | 需读 Zygote maps | 中 |

| 模块目录存在 | ✅ | ✅ | ✅ | 需 root | 低 |

| ZYGISK_ENABLED | ✅(仅Manager) | ✅(仅Manager) | 不确定 | ❌ | 低(App内) |

| /proc/net/unix socket | ✅ | ✅ | ✅ | ❌ | 中 |

———————————

看似分析得头头是道,然后让它操作写代码,全是无用的检测
然后这还非常自信的说能检测到,我看着就想笑
反正给我的感觉就是不太行,加上反重力(antigravity)老网络崩溃需要点retry,最后就是对它骂一顿收场,gemini 3.1 flash(没法pro和opus用完了)简直是嘴硬的蠢狗
后面换codex,然后
没过一会儿就给我开发好了代码,后面微调了下,直接可以命中zygisk
就很6
它不仅可以检测zygisk,rezygisk也没问题
并且误报率也很低,目前我测试的手机,基本都正常,没有就是没有,有就确实能检测

检测trickyStore/Teesimulator模块

还是codex蹬起来,类似的提示词
当然这里它分析的就不够用了,我网上找了个无影佬开发的密钥认证
这个app就是能检测trickyStore模块,正好,用jadx打开
发现混淆非常严重,这时候,mcp+ai的作用就体现出来了,我直接配置好一堆需要的mcp,
然后利用jadx-mcp(https://github.com/zinja-coder/jadx-ai-mcp)分析
一开始它分析得并不好,这个流程我其实执行了多次,后面重新一轮分析,也不知道是不是5.5刚出来没降智还是怎么,我用5.5以后,突然分析得又很6了,即使这个app有ollvm也能分析了,很奇葩的各项字符加密也能直接转义了,它这个app借助了一个开源的字符串加密库【com.github.megatronking.stringfog.xor.StringFogImpl】,反正没搞多久,代码就写好了
刚开始效果也不太行,我测试了好几台手机,给了它一堆终端logcat,它一顿分析
然后还有误报,给它提醒
我感觉很接近了,后面又给了我一版,结果就是,直接可以检测trickyStore了,顺便它还自己把检测KeyAttestation链以及Tee,谷歌吊销证书,还有verfiyboothash也自动补齐了,真不错
那是不是误报呢?我用谷歌p5,p3看看:
结果就是,目前来看并没有误报,那确实太6了

UI设计

这个对AI来说,也不在话下
icon长这样
部分activity截图如下:
再次说明,我真全程没有手写一行代码,全是AI帮我写的

后续预计工作

后续就是我暂时停止继续挖掘,按目前这个节奏,
检测lsp/xp/frida,检测Sukisu ultra、检测crc、检测脱壳机、魔改rom、模拟器、云手机等的,这些一套组合拳,应该也是一个时间问题了,技术上都不是问题了

分析chrish_peekaboo.kpm

其实之前我也让反重力分析过chrish_peekaboo这个内核模块
然后记录已经找不到了,操作就是直接把kpm拉进ida和binarry ninja,然后借助mcp,同时让ai去自行分析,效果也不错,也让它帮我照着chrish_peekaboo和noHello两个内核模块的原理,另写了一个内核隐藏模块,但是前两周看到无名侠佬开源的内核隐藏模块(https://github.com/P4nda0s/kpm-panda-hide)
我感觉就没必要再深挖了,直接用现成的吧
毕竟IT界有一句话:“不要重复造轮子

也分析过某秋等的检测app

结果这里就不公开了

让AI给我写爬虫压测代码

中途我也让AI给我写过一个测试代理的爬虫代码
这种开发的东西,对他来说,非常的丝滑,我直接拿着就能用,是真的牛
所以,还有啥AI不能干的?

结语

源码我暂时先不公开,毕竟代码虽然是AI写的,但是还很low,而且我也只测了几台手机,这个准不准至少得测试上百台才行,等我把功能补齐再公开吧
总之就是,我们确实会在不久的将来被AI替代
但是还是那句话,AI只是拉低了行业下限和拓宽行业的广度,能不能提升上限,能,但是提升的上限很有限
毕竟,你不可能上来就跟他说,帮我逆向某音,某宝,这就涉及到了提问的艺术
你说的越清楚间接越精准,越能有最准确的答复
如果你说的很笼统,那它也只能敷衍回答
那么,如何问得越精准呢,那你先得懂啊,你才能问啊
一代伟人季羡林曾说过,想尿尿就多喝水,憋是憋不出来的,水喝多了,尿自然就有了
最后说一句就是,如果你真的要用AI,一定要用claude/gpt/gemini/grok。
什么,你问我国内AI行不行?算了吧
我就不点名哪一家了,我上周用国内某AI,让它给我审查优化代码,它能给我改出一堆低级语法错误,再让它给我修复bug,它直接把那有问题的整段代码删掉了,就很符合“国情”,给我气笑了都