fl3xbl0w verkefnismerki

Sérvitni Bowflex - fl3xbl0w

Útgefið þann 28. maí 2022

Verkefni í afturvirku verkfræði. Það hófst með Bowflex Treadmill 22 en varð að lokum almenn fyrir hvaða Android vél sem seld er af Nautilus Inc. (Nautilus, Bowflex, Schwinn).

Skráin /sdcard/Pictures/nautilus

Þegar þú afkóðar NautilusLauncher, geturðu séð tilvísanir til þessarar tilteknu slóðar:

// slóð: com/nautilus/nautiluslauncher/LauncherService.java
public void run() {
  if (!new File("/sdcard/Pictures/nautilus").exists()) {
    LauncherService.access$000(LauncherService.this).disableAdbDebug();
    LauncherService.access$000(LauncherService.this).enterKioskMode();
    return;
  }
  LauncherService.access$000(LauncherService.this).enableAdbDebug();
}
// slóð: com/nautilus/nautiluslauncher/MainActivity.java
protected void onCreate(Bundle bundle) {
  // ...
  if (!new File("/sdcard/Pictures/nautilus").exists()) {
    this.mPlatformControl.disableAdbDebug();
    this.mPlatformControl.enterKioskMode();
  } else {
    this.mPlatformControl.enableAdbDebug();
  }
  // ...
}

Áhrif þess að setja skrána á sinn stað er að NautilusLauncher mun virkja adb eftir hvern endurræsingu. Ef skráin er EKKI á sínum stað mun NautilusLauncher VIRKJA AÐ AÐGERÐA adb (ef það var áður virkjað).

Skráin /sdcard/Nautilus/redbend/Credentials.txt

Það virðist sem Red Bend Software (yfirtekið af Harman, nú skil ég af hverju svo margar tilvísanir til KNOX) sé að veita OTA þjónustu fyrir Nautilus búnað. Ég fann nokkrar tilvísanir til þessarar skrár innan com.redbend.client.apk.

package com.redbend.client;
public class Ipl {
  protected static final String AUTO_SELF_REG_FILE_PATH = "Credentials.txt";
  // ...
  public static int iplGetAutoSelfRegDomainInfo(Context context, String[] strArr) {
    // ...
    File file = new File("/sdcard/Nautilus/redbend/");
    if (!file.exists()) {
      file.mkdirs();
    }
    copyAssets(context, "Credentials.txt", file.getCanonicalPath());
    bufferedReader = new BufferedReader(new FileReader(new File(file.getAbsoluteFile(), "Credentials.txt")));
    // ...
  }
  // ...
}

Einnig í com.redbend.client.ClientService getum við fundið:

// ...
public class ClientService extends SmmService {
  // ...
  @Override // com.redbend.app.SmmService, android.app.Service
  public void onCreate() {
    // ...
    if (Ipl.iplGetAutoSelfRegDomainInfo(this, strArr) == 0) {
      sendEvent(new Event("D2B_AUTO_SELF_REG_INFO").addVar(new EventVar("DMA_VAR_AUTO_SELF_REG_DOMAIN_NAME", strArr[0])).addVar(new EventVar("DMA_VAR_AUTO_SELF_REG_DOMAIN_PIN", strArr[1])));
      }
    // ...
  }
  // ...
}

Með þessum upplýsingum getum við merkt efnið í skránni /sdcard/Nautilus/redbend/Credentials.txt sem:

Fyrsta lína: DOMAIN_NAME
Önnur lína: DOMAIN_PIN

DOMAIN_PIN virðist vera raunverulegur pin-kóði þar sem það er sex stafa tala.

Það eru einhverjar auðkenningar innan “Red Bend Network” til að tengja vél við ákveðna vörumerki/vöru fyrir OTA uppfærslur. Ég vona að þessar auðkenningar séu EINS í öllum Nautilus búnaði. Skráin er innifalin í com.redbend.client APK og er dregin út við uppsetningu.

Ég fann tilvísanir til com.redbend.client hér, og mér fannst það frekar fyndið að sjá það hrynja í bíl. Ég vona að það bili ekki svona oft í vélum okkar líka.

Bluetooth Hjartsláttarmælir

Þetta var nokkuð beint áfram að ráða í. Bluetooth nafnið birtist sem CL831-xxxxxxx (númer falið) frá CHILEAF.

Þegar skannað með nRF Connect, var MAC heimilisfang tækisins og nokkur lykilgögn opinberuð:

Hjartsláttur:
UUID: 0x180D
Mæling hjartsláttar
UUID: 0x2A37

Þetta virtist vera nokkuð staðlað, og færsla frá Home Assistant Community hafði þegar ráðið í þetta (ekki sama módelið, en það virðist sem Hjartsláttarmælirinn noti staðlað prótókoll). Ég hef búið til ESPHome stillingarskrá hér sem sannprófun á hugmynd:

Skjámynd af Home Assistant sem sýnir hjartsláttarskynjara
Efni þýtt af gpt-4-1106-preview

©2022-2024 Sebastián Barrenechea. Öll réttindi áskilin.

Búið til með Astro v4.16.13.