AutoBot APK 4.5 fix
Bought a new AutoBot dashcam. iOS app worked; Android could not add devices. This documents a Frida patch plus optional Frida-gadget repack.
Also fixes an infinite crash from JPush.
Frida hook
Download: autobot-frida-hook.js
frida -U -f com.vgoapp.autobot -l autobot-frida-hook.js --no-pause
'use strict';
setImmediate(function () {
Java.perform(function () {
Java.use('cn.jpush.android.service.k').run.implementation = function () {};
function ok() { return '{"SUCCESS":true}'; }
Java.use('com.vgoapp.autobot.view.setting.u')
.a.overload('java.lang.Throwable', 'java.lang.String')
.implementation = function (th, body) {
console.log('[setting] ' + body);
return this.a(ok());
};
Java.use('com.vgoapp.autobot.view.setting.aq')
.a.overload('java.lang.Throwable', 'java.lang.String')
.implementation = function (th, body) {
return this.a(ok());
};
});
});
Uncomment the HTTP block in the download to proxy API calls to your own server (e.g. 127.0.0.1 or https://autobot-1p.api.zhis.ltd).
Official APK
Pairing order
- Add Magic first — wait for success
- Then add Eye + Magic
Adding Eye+Magic first can show success while Magic never appears in the list.
Rootless repack (Frida-gadget)
Based on Frida + LIEF. Tools: Apktool, LIEF, frida-gadget (armeabi only).
Decode
apktool d AutoBot_4.5.apk -o autobot.out
Inject gadget
import lief
lib = lief.parse("libjpush180.so")
lib.add_library("libgadget.so")
lib.write("libjpush180.so")
libgadget.config.so:
{
"interaction": {
"type": "script",
"path": "/data/local/tmp/myscript-autobot.js",
"on_change": "reload"
}
}
Place libgadget.so (renamed from frida-gadget-*-android-arm.so) and config under autobot.out/lib/armeabi/.
Rebuild, sign, deploy
apktool b autobot.out -o autobot-frida.apk
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 \
-keystore your.jks autobot-frida.apk your_alias
adb push autobot-frida-hook.js /data/local/tmp/myscript-autobot.js
adb install -r autobot-frida.apk
Use your own keystore. Only on devices you own.