使用 Appium 进行安卓应用自动化“爬虫”

最近在做微信公众号采集的时候,延申出来一个需求,我要对公众号进行批量采集的话,势必需要先获取我自己关注的公众号列表,后面的自动化已经非常完整,所以只需要获取所有公众号的中文名称,整个流程就打通了。但问题来了,中文名称也不好搞哇。要不我手动一个一个输?列表拉下来一看,嗬,346个。我掐指一算,10秒一个,我得机械的在那儿打打打打字一个小时。不行不行,太要命了。

那就找找自动化的方法?微信现在PC端、移动端的接口都是铁板一块,像我这种工具小子,开个Fiddler毛都抓不到,毕竟人家也没用HTTP去通信。从通信角度肯定没办法了。一般这个时候我会想到Frida/Xposed,但现在的目标是微信,之前因为插件已经封过一个号了,需要获取数据的又是大号,不敢造次。因此只能去调研一下其他非侵入式的方法了。找来找去,在UI上做文章最为保险,本文就简单讲一下,如何利用应用自动化测试框架 Appium [1],在非root环境的情况下获取任意安卓App界面上任意数据。

快速搭建Mock API进行应用安全测试——以某音频处理软件为例

在测(po)试(jie)软件时,我最不愿意遇到的情况,就是目标软件有联网验证的功能。说要改代码吧,又不知道代码里在哪儿有暗桩,改掉所有的输入输出点也麻烦的很。说要断它的网吧,又不是所有软件都提供离线激活的功能。今天我介绍一种四两拨千斤的联网验证绕过方式,不用断网,字节码改动少,外加Python不到100行。不流失,不蒸发,零浪费[1]

绕过 Cloudflare 保护进行全站爬取——使用 Cyotek WebCopy + Fiddler

前言

Cloudflare作为一个CDN服务商,它最有存在感的时候(也是最令人反感的时候)就是浏览网站时蹦出它的DDoS保护页面了。一般情况下倒还好,顶多像下图中的页面一样,留人片刻。在某些特殊网络环境中,或进行一些特殊操作(比如本文中,我们准备搞的爬虫)时,Cloudflare会强制用户输入图形验证码,而且最近还从谷歌的reCaptcha切换到了自家的hCaptcha[1],原因是嫌reCaptcha要钱。更新之后,一些开源的Cloudflare反反爬虫方案[2][3][4]也全都凉了,其中NodeJS库[3:1]的作者直接表示弃更,把项目的Github仓库设置为归档模式了。

CodeQL漏洞挖掘实战

CodeQL是一个白盒源码审计工具,它以一种非常新颖的方式组织代码与元数据,使研究人员能够“像查询数据库一样检索代码”,并发现其中的安全问题。Github于去年收购了开发CodeQL的公司Semmel,并与其联合成立了Github Security Lab,Semmel在此前推出了面向开源社区和企业的源代码分析平台LGTM,这个平台能够自动化的发现并预警Github上开源软件的安全问题,同时,与CodeQL一样对开源社区与开发者保持免费。

本文将从CodeQL的基础知识出发,跟随Github Security Lab发布的互动式体验课程[1],带领读者认识CodeQL在代码审计中的实际应用——在特定版本的uboot源码中发现多个安全问题,通过一段CodeQL查询语句定位到9个CVE漏洞。

敏感文件读写预警——基于Windows Defender勒索软件防护功能

Windows系统自带杀软,Windows Defender中,包含了很多不为人知的功能。我们今天用到的勒索软件防护[1](也叫受控文件夹访问,Controlled Folder Access),就是一个非常有意义的小功能。这个功能在Windows 10、Windows Server 2019全系列可用,但只有在系统里没有安装其他杀毒软件时,才能够看到这个选项。

总体来说,这个功能做的事情就是对用户指定和系统预置的几个目录[2]进行监控,只允许白名单里的程序修改其内容,其他程序读文件不受限制,写文件时就会报错,同时Windows Defender会对非白名单程序的修改行为进行告警,在通知中心弹一个窗。可以当一个低配版的火绒剑用 😉

本文不教大家怎么开启这个功能,这个官方文档[3]都写过了,再写没意思。本文的目的主要有两个。

  1. 更详细的告警信息——弹窗的时候就说明白,哪个进程访问了哪个目录。默认的弹窗只说“Windows阻止了一次访问”,不告诉我们哪个进程,不告诉我们对哪个目录的操作。如果要看到详情,就要点到Defender的界面,点点点好几回,再确认好几次UAC弹框,体验极差。而且,Windows Server中不提醒!不提醒!不提醒!
  2. 更详细的告警历史——一个列表就能看到,哪个进程之前访问过哪个目录。Defender的界面里,点开每一条详情就需要点一个UAC弹框,很安全,但是体验还是极差!而且,查看历史记录这个功能只有Windows 10里有,Windows Server的Defender界面中连阻止历史记录这个菜单都没有!
  3. 到这里我们可以得出一个结论,我就是那个把Windows Server 2019装在日常电脑上的蠢B……

本文实现这两个目标的方式,是通过在Windows系统事件中,截获关于Windows Defender“受控文件夹访问”部分的告警事件,再通过PowerShell脚本将事件详情推送到桌面上,这样恶意进程的操作我们就能够实时看到了。

Hexo 热门主题列表

Hexo的官方网站维护了一个用户提交的主题列表[1],但遗憾的是,Hexo的官网也是一个静态网站,所以并没有排序功能,默认,过滤和搜索也不好用,甚至有的主题的Github Repo都404了,所以这个页面并不能从291个主题中,直观的告诉我们哪个主题好用。

不过万幸的是,Hexo官网本体也是开源的,所以我们能够很容易的找到这个主题列表的yaml原始数据[2]。我们用脚本读这个原始数据,并解析其中的Github repo名,再通过Github API获取这些repo的star数量,就可以大概看出来哪些主题比较热门(用的人比较多),然后选一个自己喜欢、好用(且大概率有人维护)的主题了。

如何优雅地撰写博客公众号

第一篇文章。好紧张。记录一下,怎么让写文章更舒适~

写博客,容易……吗?

为了激励自己多写一点东西,想将博客同步到刚刚申请的公众号上,这样也能为文字多带来一些曝光的机会。培养写作的习惯本已不易,一套方便趁手的工具链更是尤为重要。开始做了一些调研,发现要想输出一个带格式的文章,没有想象中的那么简单。尤其是看到很多人吐槽知乎编辑器难用,所以也特意看了看文章能不能也弄到知乎。最后总结一套还算舒服的写作工具,顺带讲讲整个流程。

新弄了一个兔兔

一个新的兔兔……域名!

兔兔.tk

还不知道干啥好,先让它跳到这里好咯。

一次失败的迅雷 Mac 版破解尝试

新片 Ready Player One 看得我心痒痒,想去海盗湾下一波枪版过过瘾。一本正经的用 uTorrent 下了一会……这尼玛太慢了受不了。迅雷——启动!下载,开……嗯?会员试用?试用!哇。爽歪歪!——会员试用结束!呃,比 uT 还慢的我天。正好心痒痒想实战一下怎么写一个 hook ,就来吧。

V2Ray 免翻接收谷歌 FCM 推送

从维修点回来的一加,脸上布满着岁月的痕迹,身体也一天不如一天了。打开电池使用情况,耗电大家除了手机屏幕谷歌服务就是想删又不能删的超级费电宇宙无敌旋转爆炸垃圾手机QQ。

绿色守护过来!给我拖出去!

好了。现在问题来了。怎么收消息呢?

我们都知道第三方 QQ 推送有两种方案,一个是据说支持Nougat通知特性、利用谷歌 Firebase 推送消息的 FCM-For-Mojo ,还有一个就是用老版 GCM 但是同时支持华为、小米等国产推送 SDK 的 GcmForMojo (这项目连个README都没有?!)

纠结了一秒作为颜控当然选界面好看的啦

那么问题又来了。我总不能上个Q还要成天到晚挂梯子吧?——我要把这个解决了的话,还有一个好处,其他使用 FCM Push 的软件可以一同受益,Qng内生活就会很轻松了。

网上教程传统的思路都会告诉你,装个haproxy呀,装个nginx呀,你得有个国外VPS呀,巴拉巴拉巴……不过为了个QQ没必要搞这么多幺蛾子,而且好线路的VPS是真的贵。鉴于我的机器都是国内的且有备案,使用成本反而更低。所以在国内架一个 MojoQQ 服务,并让他同时作为 FCM 服务端与安卓 FCM 客户端的反向代理,大概是最好的选择了。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×