基于 AndServer-RPC 模拟执行 so 文件

本节介绍利用 AndServe-PRPC 模拟执行 so 文件的过程。

AndServer的简介

平时我们编写服务器脚本,代码都是运行在电脑上的。例如写一个简单的 Flask 服务器脚本,就需要在电脑上运行该脚本来启动对应的服务。那服务器能不能直接运行在手机上呢?答案是肯定的。

AndServer 是可以运行 Android 手机上的一个 HTTP 服务器,其实就是一个 Android 的第三方包,我们可以开发一个 Android App 后将其引入; 再将其提供的服务器功能设置为随之启用,并指定运行的端口,这样在 App 启动的时候就可以在 Android 手机上启动一个 HTTP 服务了。

AndServer 包是基于 Java 编写的,在 Java 生态中有一个非常流行的服务器框架叫作 SpringMVC,不过它是运行在电脑端的。AndServer 借鉴了 SpringMVC 的一些设计思路,具有和其相似的功能,例如利用注解(Annotations)来定义一些路由规则和处理规则,使用起来非常方便。

那 AndServer 和我们本节要讲的内容有什么关系呢?接下来我们详细看一下。

基本思路

准备工作

App的初始化

引入 AndServer

爬取数据

总结

本节中我们利用 AndServer 成功在 Android 手机上搭建了 HTTP 服务器,并模拟执行了 so 文件,使执行结果可以通过 HTTP 服务器暴露出来。最后我们通过 Python 脚本调用了该 HTTP 服务器,拿到了关键的 token 值,成功爬取了数据。

对于模拟执行 so 文件的场景,AndServer-RPC 不失为一个不错的解决方案,大家在实际生产环境中也可以尝试应用它。