AutoBot APK fixed for Eye& Magic
最近搞了个autobot的行车记录仪
全新库存,看看有啥玩法
结果iOS app直接好用,但是Android的添加不了设备
怕google出来的apk插毒
随手搞个patch吧,
先凑活用,
正好还fixed了 无限crash的bug,极光推送的问题,
直接上代码:
setImmediate(function(){ //防止超时 console.log("[*] Staring script"); Java.perform(function(){ var jpush = Java.use('cn.jpush.android.service.k'); jpush.run.implementation = function () { }; // var http = Java.use('com.vgoapp.autobot.d.a'); // http.b.overload("java.lang.String","com.a.a.a.i","com.a.a.a.f").implementation = function(str,iVar,fVar){ // console.log(str); // var array = str.split('/'); // //var url = array[0]+'//autobot-1p.api.zhis.ltd'; // var url = 'https://autobot-1p.api.zhis.ltd'; // for(var i=3; i<array.length; ++i){ // url = url+'/'+array[i]; // } // console.log(url); // this.b(url,iVar,fVar); // }; var guide = Java.use('com.vgoapp.autobot.view.setting.SetAutoBotCameraGuideActivity'); guide.a.overload("java.lang.String","boolean").implementation = function(str,z){ console.log(str); this.a(str,z); }; var setting = Java.use('com.vgoapp.autobot.view.setting.u'); setting.a.overload("java.lang.Throwable", "java.lang.String").implementation = function(th,str){ console.log(str); this.a('{"SUCCESS":true}'); }; var magic = Java.use('com.vgoapp.autobot.view.setting.aq'); magic.a.overload("java.lang.Throwable", "java.lang.String").implementation = function(th,str){ this.a('{"SUCCESS":true}'); }; }); })
如果你想抓原来的数据上传,
或者 实现自己的server,可以把注释打开,
改下url的地址就行,
反正他现在server挂了 也不怕数据被上传上去,
可以改成127,这样app还能响应快点。
o对了,官网现在还能下载:http://autobot.vgoapp.com/appdownload.cfm
http://autobot.vgoapp.com/server/apk/AutoBot_4.5.apk
要注意,先添加一下magic,成功之后再去添加eye+magic那个选项,
要不先加eye+magic会提示成功,但是在list显示不出来magic设备,而且是再也添加不了magic。。。。。
我没仔细看具体啥问题,
因为我一开始是用注释掉的方法实现的,直接mock了添加设备的接口,返回假数据,
他app是可以直接添加eye+magic成功的。
后来觉得 让别人用我mock的数据 也有我去插毒的可能,还是整个完全自己可控的方式吧,
免root apk制作方式:
参见:https://lief.quarkslab.com/doc/stable/tutorials/09_frida_lief.html
大概步骤
1)下https://ibotpeaches.github.io/Apktool/
下https://github.com/lief-project/LIEF
下https://github.com/frida/frida/releases的frida-gadget-14.2.14-android-arm.so.xz
armeabi就行,因为autobot这货只有这个架构的lib
2)解包
apktool d AutoBot_4.5.apk -o autobot.out
解包之后,用lief给libjpush180.so注入libgadget.so
python inject.py
import lief
libnative = lief.parse("libjpush180.so")
libnative.add_library("libgadget.so") # Injection!
libnative.write("libjpush180.so")
把libgadget.config.so
{
"interaction": {
"type": "script",
"path": "/data/local/tmp/myscript-autobot.js",
"on_change": "reload"
}
}
和frida-gadget-14.2.14-android-arm.so 改名成libgadget.so 一起放到解包的lib/armeabi/目录下,
3)重新打包
apktool b autobot.out -o autobot-frida.apk
4)重新签名
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore gplay-key0-123456.jks autobot-frida.apk key0
5)把 js脚本push到设备,把apk安装
adb push AutoBot_4.5_source_from_JADX/script.js /data/local/tmp/myscript-autobot.js
adb install autobot-frida.apk