目的
我的电脑装了一个开机卡
本身已提供了windows和Android和微信的程序
我使用的是iPhone,想拿到API 写快捷指令,这样就可以通过
嘿,Siri 打开/关闭/重启电脑 (现有的app 要打开app 还要点击 觉得麻烦,之前本来想写py脚本用快捷指令运行,但是Pythoniate太贵了 凎)
等等操作
在做这些操作之前询问过客服,不能提供。所以我就自己来弄了。
注意:这些都是我个人使用,这里就不贴出开机卡的厂家和店铺地址了
之前抓过包,抓不到
反编译过程
教程很多,可以直接跳过
反编译工具
-
apktool
下载地址
-
dex2jar
下载地址
-
jd-gui
下载地址 (Github 可能需要加速器)
准备反编译的apk包
- xxx.apk
开始反编译
-
准备
为方便,将三个工具和apk放在同一目录(最好不要有中文路径)
-
使用apktool 反编译apk
java -jar apktool_2.5.0.jar d -f [apk的路径] -o [反编译后的文件夹] //执行过程没有报错则反编译成功
-
使用dex2jar反编译apk拿到Java源代码
-
首先将apk后缀名改为rar / zip 压缩包格式并解压
-
解压后将其中的 classes.dex文件放到dex2jar-2.0文件夹内
-
在这个目录打开cmd
-
执行
./dej-dex2jar.bat classes.dex
-
执行完之后就会在当前目录生成一个classes-dex2jar.jar包了,这就是Java源码
-
-
用jd-gui打开Jar包就可以查看源码了
通过一段时间的源码阅读成功找到关键代码
-
找到了api接口
-
以及各种接口的方法
- 这里就不在多说,每个apk都不一样,而且找的过程复杂且枯燥
通过Postman测试接口
发现要成功的请求需要有顺序的三步(三个接口)
这里就不贴出详细的信息了:手动狗头
- 第一接口用来初始化客户端(请求的机器)让服务器认为你是一个合法的客户端
- 第二个接口是登录接口,会返回 用户id session cookie
- 第三个接口就是真正的发送远程控制的命令了(开机,关机,软关机,重启等)
这里看这比较简单,但却是最耗时的,其中找deviceId花费了大量的时间(代码中没有)
最终应用
-
Postman测试好之后就开始了 ios的快捷指令的编写
效果
视频
哔哩哔哩
CSDN口诉一下
- 嘿,Siri 打开电脑
- 嘿,Siri 关闭电脑
- 嘿,Siri 重启电脑