How to find the localkey of a Proscenic M8 Pro

Hello everyone,
if you are interested I found a way to find the localkey of the Proscenic M8 Pro: I anticipate that to do this you will have to use an android emulator, adb in root mode, Frida and custom integration localtuya. The operations to be performed are not completely easy but not impossible either. I ask the moderators if I can share a step-by-step guide or do I risk breaking the rules by putting them in a condition to delete my post?

if this is a tuya device, localtuya will probably help you to find localkey as long as you create a tuya iot account.

localtuya wants in input the localkey and the proscenic device does not allow registration on tuya cloud

Try these terminal commands:
-1: Token

[email protected]
PASSWORD=very-secure
curl -v -k -X POST -H “os: i” -H “Content-Type: application/json” -H “c: 338” -H “lan: en” -H “Host: mobile.proscenic.com.de:443” -H “User-Agent: ProscenicHome/1.7.8 (iPhone; iOS 14.2.1; Scale/3.00)” -H “v: 1.7.8” -d “{“state”:“欧洲”,“countryCode”:“49”,“appVer”:“1.7.8”,“type”:“2”,“os”:“IOS”,“password”:”$(echo -n $PASSWORD | md5sum)",“registrationId”:“13165ffa4eb156ac484”,“language”:“EN”,“username”:"$LOGINUSER",“pwd”:"$PASSWORD"}" “https://mobile.proscenic.com.de/user/login

-2:ID

[email protected]
curl “https://mobile.proscenic.com.de/user/getEquips/$LOGINUSER” -d “username=$LOGINUSER”

@sparkgap-code

were you able to integrate it with home assistant? I found the key, but with the integration it doesn’t work…

@ millenniumy2k
I found the key and thanks to the component (tuya-smart-device) of NodeRED I was able to command via HA and thus also voice assistants the Proscenic. I was also able to get it to clean a certain area.

I try it for first and not work for Proscenic M8Pro

Hi @sparkgap-code ,
the localkey, after you register the device in tuya (not in proscenic), is easily visibile in Tuya IoT platform.
After that may I ask you to explain me how to control from HA and clean a specific area.
Thanks

Hi,

Can you get a similar map in tuya as in proscenic App?

Greetings

no sorry, only commands for now

@sparkgap-code @millenniumy2k

How did you find the local key? Could you please provide me instructions? I can’t get it.

I figured out how to do this! All you really need are Bluestacks and Frida. Though I have mentioned adb, it’s not really a requirement. I just happened to use it. I used version 16.0.19 of Frida because that was the latest version. Any version after that should work, I believe.

Steps below - if anyone is looking for this.

Install Bluestacks

Enable root

Install Proscenic M8 Pro app

Install termux and run below commands

On Termux Terminal

  • Needed for later to avoid error messages

Download from Github, Frida Core Devkit and save it to /data/local/tmp/
Then, run the following command.

export FRIDA_CORE_DEVKIT=/data/local/tmp/frida-core/

  • Just make sure everything is up to date

pkg upgrage

  • Install Python3

package install python

  • Run necessary updates
pip install --upgrade pip
pip install --upgrade pip setuptools wheel
  • Install frida-tools client on Bluestacks

pip install frida-tools

  • Download frida-server from github latest
  • Make sure the architecture/release matches.
  • I used android_x86_64 for Bluestacks
  • Extract it and rename to frida-server
  • Using ADB push it to /data/local/tmp

On your Windows machine command line

adb push ./frida-server /data/local/tmp/

Login to Bluestacks shell

adb shell

  • Become root

su

  • Make it executable

chmod 755 /data/local/tmp/frida-server

  • use below command to run frida-server in the background

/data/local/tmp/frida-server &
You may have to hit CTRL + C to exit (and that’s OK, server will continue to run).

On Bluestacks UI

  • Run the Proscenic app and login with your credentials

Open termux

  • Run the following command to become the superuser/root

su

  • Run the following command to get the PID of the Proscenic app

ps -ef | grep robot

  • Quit root
exit
frida-trace -H 127.0.0.1:27042 --decorate -j '*!*encodeString*' -p <PID from the above command> -o <a folder location to save frida_trace outputs to a local file>

The -H is to connect to the frida-server running on local Bluestacks machine.
The -j is to trace all methods called encodeString in any class in the PID

Go back to the Proscenic app and pull down the main/first screen/page to refresh your device list.
Check/search for localkey in the frida-trace output file.

This would work with any app using Tuya and localkey to connect to Tuya. Just make sure to get the PID of the app that you are attempting to trace and give that PID to frida-trace.

1 Like