概念
Sekiro是一个android下的API服务暴露框架,可以用在app逆向、app数据抓取、android群控等场景。是一个多语言的、分布式、网络拓扑无关的服务发布平台,通过书写各自语言的handler将功能发布到中心API市场,业务系统通过RPC的方式使用远端节点的能力。
官网文档
https://sekiro.iinti.cn/sekiro-doc/
作者公众号文章
https://mp.weixin.qq.com/s/m0M_-vlaqFuVufEX6XOwRQ
运行启动脚本
bin/sekiro.sh :mac or linux
bin/sekiro.bat :windows
windows 启动成功如图:
将对应的js代码在console中注入
查看分组列表
展示当前系统有那些注册过的group
http://sekiro.iinti.cn:5612/business/groupList、
返回结果
{"data":["test"],"ok":true, "status":0)
需要注意5612是端口号,通过conf/config.properties路径文件查看对应端口号
调用转发
也就是查看注入代码中resolve返回的数据
http://127.0.0.1:5612/business/invoke?group=test&action=test¶m=testparm
group对应任务中的字段test,group下面可以注册多个终端(SekiroClient),同时Group可以挂载多个Action
action也是写对应的js中起的任务名,是为了方便用户开发的时候隔离多个业务进行的抽象,在sekiro层面可以帮你进行一次路由
可以通过requests进行参数传递如:url后面追加 &page=1,在js代码中可以通过num = request[‘page’];方式获取
接口调用
import requests
params ={
"group":"ws-group-test",#接口名称
"action":"executeJs",#注册的服务名
}
res = requests.get("http://ip:5601/asyncInvoke",params = params)
print(res.json())
返回如下格式就说明获取到数据了