Mythsman


乐极生悲,苦尽甘来。


  1. 树莓派与1024x600分辨率屏幕的适配问题

    问题为了方便操作,买了一个 7英寸的 LCD 触摸屏,结果发现屏幕是 1024x600 的分辨率,系统总是会认为是 1024x768 的分辨率,导致了两个后果: 分辨率不准。由于实际展示的高度比渲染的要低,导致屏幕下方的东西是看不到的。触摸板不准。虽然图像渲染会超出屏幕,但是触摸板似乎却做了缩放,触摸的地方越往下鼠标跟手的位置就越不准。问了下亚博智能的技术客服,按照他的建议修改了 /boot/config.txt 中的 hdmi_cvt 等相关参数,重启后依然不行。接着他们建议直接刷入他们配置好…

    Raspberry Pi阅读全文

  2. 树莓派4B使用arm64系统踩坑

    背景由于工作原因,需要一台 arm64 的服务器测试一些功能。但是目前这个点没法快速采购到腾讯云或者百度云的arm服务器(这俩公司的arm服务器好像都只是在内测阶段,据说得2022年初才能 Release)。想了一圈发现树莓派似乎正好有 arm64 的cpu,于是去官网确认了下 Specification: Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz看起来挺好的,于是在亚博智能店里买了个 4B ,但是买到…

    Raspberry Pi阅读全文

  3. 移动爬虫虚拟化自动化方案调研

    背景目前移动爬虫现有架构运行了大半年了,发现爬虫设备在长时间维护的时候会有很多问题: 移动设备太多、用途不一,管理容易乱,IT审计设备时经常出现丢失的情况。一直插电导致移动设备的电池容易鼓包,有安全风险,而且使用寿命也较短,经常需要更换。办公环境经常出现断网检修、断电检修、安全检查等事情,导致服务可用性很低。设备申请和扩量比较困难,审批、采购、部署、拽线、移动设备初始化、主机申请、主机设备初始化等都很费劲。账号管理和充值很麻烦,sim卡分散到很多手机里,很容易弄乱,续费管理、短信管理都很难做,基…

    Spider阅读全文

  4. Android系统推送Hook实战

    背景随着数据生产功能的逐渐稳定,工作重点开始从保证数据总量转移到了保证数据实效性上来了。传统的定时爬虫能比较轻松的把数据总量做起来,但是对于很多热点数据,却很难做到实时获取。 考虑到大部分产品、尤其是新闻资讯类的产品,都会对热点数据做推送拉活,如果能拦截到这些数据,那么我们就能应当将数据实效性提升一个档次。 这次我们就主要尝试拦截下小米手机的系统通道的推送数据。当然,对于各个 App 自身的通道,也可以用类似的方法做到拦截,不过那就需要对各个 App 再做好保活。 推送流程以小米官方的文档为例,…

    Android, Spider, Frida阅读全文

  5. Isaac64解密算法JNI的封装

    前言众所周知,理论上最安全的加密方式是使用一次一密(OTP)。但是传递与明文长度相等的、完全随机的加密面板这件事情并不具有实践意义,因此就诞生了流密码(Stream Cipher)。流密码将一个密钥作为种子,按照某种伪随机数生成算法生成供OTP使用的加密面板。有了加密面板之后,就可以逐字使用传统的 Vernam 算法 或者 Vigenère 算法进行加密解密。 由于这样进行的加密解密操作没有复杂的计算、并且不需要对数据进行预取分块等复杂操作,因此执行效率很高,非常适合用作流媒体数据的加密。最常见…

    Algorithm, Java, Spider阅读全文

  6. Canvas指纹隐藏实战

    前言前两天和隔壁做风控的同学聊天,据说他们经常使用浏览器指纹来识别和标记爬虫(当然具体的细节是不能透露的),联想到我们最近也经常遇到被风控的情况,于是就花了点时间研究下浏览器指纹相关的知识。 需要明确的是,“隐藏浏览器指纹”和“隐藏Webdriver/Selenium/Puppeteer”、“匿名浏览”都不是同一个问题。“隐藏Webdriver/Selenium/Puppeteer”的目的是告诉服务端自己不是自动化爬虫(这个似乎可以尝试用 stealth.min.js 来做);“匿名浏览”的目的…

    Spider, JavaScript阅读全文

  7. Gnirehtet生产环境实践

    背景目前业界的移动端爬虫在前端数据提取的部分大致有两套方案,一套是网络抓包、另一套是逆向Hook。无论是哪一种方案,都必须要解决一个问题,那就是网络要稳定。在一个较为狭小的空间内,如果是只有几十台设备,那一两台AP一般还能顶住。可如果有数百台设备,无脑堆AP的话就会出现各种问题(过载、负载不均、信道干扰、网段可用IP不足)等问题。 即使网络本身没有问题,在对抓包数据进行审计的时候,通常也需要维护一个设备号到IP的映射关系。随着设备的增多,映射关系的维护也是一个麻烦的事情,而且IP漂移的情况也不容…

    Reverse Engineer, VPN阅读全文

  8. Frida爬虫分析流程——以微信视频号下载为例

    前言微信的通信协议没有使用传统的https,而是采用 mmtls 和 quic 协议结合的方案(可能),导致常用的抓包方案完全无效。因此我们考虑使用逆向 hook 的方式,对微信视频号的数据进行获取。 Frida 是目前几乎最好跨平台hook工具,深受广大牢友的喜爱。因此我们考虑用这个工具来进行 hook 。 准备准备一个解锁了 bootloader 、刷了 TWRP 并安装了 Magisk 的手机。(当然,也有无需root权限的方法,但是用起来会不方便,还是建议 root )准备好 adb 环…

    Frida, Reverse Engineer阅读全文

  9. Python依赖管理的一些思考

    前言之前一直比较抵触用 Python ,很大一部分原因是觉得 Python 项目的环境管理比较混乱。Node.js 有 Npm 包管理工具,通过 package.json 配置项目依赖,最多再通过 nvm 来进行环境切换;Java 有 Maven Gradle 来进行包管理和项目依赖配置,并体现在 pom.xml 和 build.gradle 等中。而 Python 相比编程语言有时更体现了脚本语言的特性,系统化和标准化程度都不太高。很多 Python 项目上来就是怼代码,没有声明依赖、配置环境…

    Python, Conda阅读全文

  10. Magisk模块常用功能编写

    Magisk简述概述Magisk 是目前最流行的安卓手机 root 解决方案。 虽然像小米等手机厂商也提供了所谓支持 root 的开发版 Rom,但在较新的版本中,他们无法直接写入像 /system/ 之类的被保护的路径。这就导致了很多事情仍然做不了。最经典的就是连系统证书都修改不了。。。 而 Magisk 能避免写入被保护的路径,将自己的文件系统 “Mask” 在原生的文件系统上。这样既不需要直接修改的原始的数据,也能骗过程序使用 Magisk 提供的文件系统。 令人感叹的是 Magisk 的…

    Magisk, Reverse Engineer阅读全文