Mythsman


I wonder how the world builds software.


  1. 利用 Redsocks 解决透明代理的远程抓包问题

    背景 最近在做一些远程设备的抓包能力建设。具体来说是设备(基于 Docker 的 Redroid 云手机)在服务器上,抓包工具在本地( Mitmproxy , Charles, Fiddler 等类似工具),希望通过某种方法将远程设备上的流量打到本地的抓包工具上,并且流量通过本地的 IP 出到公网。 这样做的目的主要有两个: 1. 可以做到抓包工具和待抓包设备的分离。既能利用上强大的第三方抓包工具,又无需本地部署待抓包的设备。毕竟如果在远程服务器上部署抓包工具,操作起来就不那么方便,甚至可…

    Redroid, Network, Spider, Redsocks阅读全文

  2. 利用 FFmpeg 将视频转换为 GIF 操作指北

    背景 在写技术文档的时候,为了演示方便,经常需要插入一些短小的视频资源。比如一些操作的录频、一些经典视频片段、一些科普动画等。由于展示的地方通常是网页,而如果是插入视频之类的资源,通常需要占用额外的存储,而且也需要可用的视频播放器的支持,非常不便。对于命令行操作的回放,我们可能会采用 Asciinema [https://asciinema.org/],但是这个方案对非终端的操作无法模拟。一个常见的方案是把需要的资源转换成网页支持的 GIF、WEBP 格式等动图。考虑到各大浏览器对 GIF 格…

    Linux, FFmpeg, Tools, Gif阅读全文

  3. 纯Docker部署Https服务——以Nextcloud为例

    背景 近期阿里云的廉价学生机小水管到期了,打算把一些服务打包迁移到微软员工不要钱的azure云上。 原先各种服务的部署方式都是直接部署的,换主机需要重新搭建各种环境非常麻烦,也容易遗漏。于是就想跟随潮流把这些服务都上docker,能够做到部署一把梭。 难点 一般的开源组件都会有官方docker镜像,部署起来其实都很方便。大部分对着官方文档改改配置再用docker-compose组合一下参数就能跑起来。比较麻烦的点就是网站要部署成 https 的话需要 SSL 证书。对于个人使用的小网站来说,…

    Linux, Docker, Https阅读全文

  4. 快手抓包问题分析

    背景 不知从什么版本后,对快手进行简单抓包似乎“不可行”了。表现就是使用常规的 HTTP 正向代理抓包工具(charles [https://www.charlesproxy.com/]、mitmproxy [https://mitmproxy.org/]、fiddler [https://www.telerik.com/fiddler] 之类)并且把自签名证书种到系统证书里后,数据依然能刷出来,也能抓到一些零星的报文,但是关键出数据的那些接口报文都没有。 一般来说,常规方法无法抓安卓应用的…

    Spider, Linux, Network阅读全文

  5. 一次采耳引发的屎案

    采耳 上周去团建泡汤,由于300块的自由预算吃吃喝喝实在是用不掉,想来不如消费一波服务,小奢侈一把。于是就点了 299/50min 的采耳服务,想见识见识掏个耳朵又能掏出个什么花样。 结果采耳的小姐姐一看我的耳朵,立马就抱怨说我右耳这有个大耳屎堵在外耳道,硬的不行,尝试夹了半天也夹不出来,稍微扽一扽还容易疼。拿个挖耳内窥镜给我瞅了瞅,的确有一大球黄黑相间的东西堵在那里,甚至都看不到鼓膜了。折腾半天到钟了,只能草草收场,建议我早点去医院弄。 好嘛,300块钱整下去,整的不明不白,不仅没爽到,耳…

    Life阅读全文

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

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

    Raspberry Pi, Arm阅读全文

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

    背景 由于工作原因,需要一台 arm64 的服务器测试一些功能。但是目前这个点没法快速采购到腾讯云或者百度云的arm服务器(这俩公司的arm服务器好像都只是在内测阶段,据说得2022年初才能 Release)。想了一圈发现树莓派似乎正好有 arm64 的cpu,于是去官网确认了下 Specification [https://www.raspberrypi.com/products/raspberry-pi-4-model-b/specifications/]: > Broadcom BCM2…

    Raspberry Pi, Arm阅读全文

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

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

    Spider, Redroid, Anbox阅读全文

  9. Android系统推送Hook实战

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

    Android, Spider, Frida阅读全文

  10. Isaac64解密算法JNI的封装

    前言 众所周知,理论上最安全的加密方式是使用一次一密(OTP [https://en.wikipedia.org/wiki/One-time_pad] )。但是传递与明文长度相等的、完全随机的加密面板这件事情并不具有实践意义,因此就诞生了流密码(Stream Cipher [https://en.wikipedia.org/wiki/Stream_cipher] )。流密码将一个密钥作为种子,按照某种伪随机数生成算法生成供OTP使用的加密面板。有了加密面板之后,就可以逐字使用传统的 Vernam…

    Algorithm, Java, Spider, Isaac, Jni阅读全文