js rpc
顾名思义,就是远程调用js代码。
优点:可以让我们直接调用浏览器环境下的js加密或解密函数,免去了扣加密逻辑的时间,和避免很多本地用node去执行js所出现的各种问题,比如说环境缺失等问题
缺点:必须开着浏览器
欢迎大佬们关注公众号
准备工作 WebSocket
想要远程调用浏览器里的js,那最先要解决的就是怎么通讯的问题,这里最合适的协议是WebSocket。
可以自己写一个,也可以用现成的工具,比如:https://github.com/jxhczhl/JsRpc,这个是用go语言写的,具体用法可以看作者写的文档。而且作者还很贴心的给出了编译好的包。
如果是想自己编译的话这里说两个作者没有提的。一是编译前需要先执行下面两行代码去安装下环境依赖
go mod tidy
go run main.go
如果报代理错误,要先执行下面的代码,再重新执行上面的两行代码
# windows
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
# macOS 或 Linux
$ export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn
二是,如果要本地运行main.go,要修改成这样,然后,根据文档去运行就可以了
另外还要有一定的Hook基础
实战
按作者的文档,先在控制台输入JsEnv.js里的js代码,然后以rs为例,只需要再按着文档的格式编写个hook浏览器cookie的代码,最后再访问本地url即可获取到cookie了。
小结
其实rpc还有个缺点就是,出门没办法装X,ps:这是志远大佬说的,手动狗头保命