TuyaAPI / cloud

🌨 🎁 A NodeJS wrapper for Tuya's cloud API. Documentation: https://tuyaapi.github.io/cloud/.
MIT License
32 stars 15 forks source link

I keep getting ILLEGAL_CLIENT_ID #14

Open szupi-ipuzs opened 1 year ago

szupi-ipuzs commented 1 year ago

I'm trying to crack LSC smart connect and I think I got all the secrets right:

{
  "key": "ufhnhpkh9np8t3rs9qda",
  "secret": "4c93vt3cm87a4wdgwas8hgvnhcdtt8xy",
  "secret2": "qmcy7pp5kafkdgq8cp3n45eqcrpwu5ng",
  "certSign": "28:23:66:B3:FD:B7:55:81:63:B8:FD:71:02:DA:3F:3E:F4:8D:E9:BC:66:06:93:FB:19:C7:8B:CF:5D:1A:3B:26"
}

These have been confirmed by memory dumps.

But I keep getting ILLEGAL_CLIENT_ID error from a call to loginEx. I think in this case I also need to set ttid and apiEtVersion to some non-default values, but not sure to what specifically... trying different combination, nothing works. Tracing of the doCommandNative shows the app calls gives me this:

message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.pull.config.data.for.app||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||postData=9a2682b2b9526461c4e727650ed485df||requestId=043b2ca8-52d3-437b-bd69-b25d09965aaf||time=1684533904||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=1.0, paramInputByte2=(null), ret=e5bcfe9d54f3ffbd75fb814180dee58d8a2b2322dd3a2b4a35cbb5a03f7f2337'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.miniprogram.basiclibrary.get||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||postData=608c02b72ff5bbe1c9593ada2c0857f9||requestId=a3310b9a-6fc3-4c1c-b3d9-9ce17a8d4c3e||sid=eu16845363622339Qc5RasH3621e2b2a496b8db0ce08fb37fb3cb3ff||time=1684533904||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=1.0, paramInputByte2=(null), ret=6ec59afbec69a71a417019796d11f255682ed35db527573576bc729592bc019e'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.hades.log.skye.config||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||requestId=6dd272de-9e68-4b66-86f3-78a9d9cee788||time=1684533905||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=1.0, paramInputByte2=(null), ret=663dce78f5ad06deba0e33604ea01456ba425abef90e4b0190881f670782e926'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.app.smart.privacy.setting||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||requestId=fc6f7d56-8153-44b7-b89a-d693499b3829||time=1684533906||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=1.0, paramInputByte2=(null), ret=1b06916615caaff0c6729a48b836278e0cfab7376b0f2110a6af95cc5c9227f2'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.activity.info.get||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||postData=3e54845a49cddfed988eadc8a592b5a7||requestId=a689b7fa-c56f-4fc7-8d86-5c02668ae87f||sid=eu16845363622339Qc5RasH3621e2b2a496b8db0ce08fb37fb3cb3ff||time=1684533906||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=1.0, paramInputByte2=(null), ret=5ed4e995984756c4b629f6b09c7131b398512e4a59ebc8d10c1ecf6d96e26934'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.app.ad.list||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||postData=86729f98a5d12c19ec5dddb3f7ea036f||requestId=f30d3806-75cf-4365-a243-a078e8f0a51b||sid=eu16845363622339Qc5RasH3621e2b2a496b8db0ce08fb37fb3cb3ff||time=1684533906||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=2.0, paramInputByte2=(null), ret=b5356cc351e4b28ad22bc7159213a33243256b077ae113614fae3d3377d1ae59'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.app.experience.get||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||requestId=ad2e5969-3c14-4976-81bd-6a1e48af09fc||time=1684533906||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=1.0, paramInputByte2=(null), ret=5d1c099aa12e81a305fb969928fc9f2fd72e7b9cf275c633ce8f550426bf4d73'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.user.info.get||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||requestId=4c9fe04c-f523-47f2-8569-854621574eeb||sid=eu16845363622339Qc5RasH3621e2b2a496b8db0ce08fb37fb3cb3ff||time=1684533906||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=1.0, paramInputByte2=(null), ret=a932318523c0a3303451eb6806790d4ecb57ccc6dbeb32a1dfe33886a52eab05'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.user.mobile.sendcode.whitelist||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||requestId=f1036f34-3400-471f-ab2b-afaac418d23a||time=1684533906||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=2.0, paramInputByte2=(null), ret=2fd74d770fb0623097b8f754049a7b72d6a1a7bdfe4387996fb14f8184d696f2'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.app.version.upgrade||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||postData=bf268a35508e982ef75f4d79cc97eb0a||requestId=55ca0dd0-4c6b-4d04-9c2a-f5fb5ad32819||sid=eu16845363622339Qc5RasH3621e2b2a496b8db0ce08fb37fb3cb3ff||time=1684533906||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=4.0, paramInputByte2=(null), ret=407fa7a6d25460cf3df884fef9016faa62c2dc5f0a4d9ec172557a49802fbc4c'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=2, paramInputByte=44u5684656511663, paramInputByte2=(null), ret=09f6f08950c27ec33ff43b82a0146399'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.linkage.fence.query||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||requestId=7f03527b-c115-4438-b69a-17dae19c5d08||sid=eu16845363622339Qc5RasH3621e2b2a496b8db0ce08fb37fb3cb3ff||time=1684533906||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=2.0, paramInputByte2=(null), ret=8b34ee0a8f1aa27baf19a9ce2cc704d2a5b69ce9a18cc45b223cdded886c1b88'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.health.cloud.location.list||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||postData=e0a3963e0e311da99315c9394e0eb87a||requestId=f4458c82-d8f7-448f-b665-d70b9a7c7917||sid=eu16845363622339Qc5RasH3621e2b2a496b8db0ce08fb37fb3cb3ff||time=1684533907||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=2.0, paramInputByte2=(null), ret=ebe3ff644897fe617a1538a35db7423a72108b43f63a0141aaedc34655acfe43'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.language.update||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||postData=506dfea9234f74a7c22c7d53f70afb5b||requestId=22740c2e-b29a-4ace-9673-f294461f0aa2||time=1684533907||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=1.0, paramInputByte2=(null), ret=32df3beee4a1bd4e5ec06981f3505445558e36d11a8020ac5caa442f3e61a3f5'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.client.conf.get||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||requestId=776d7e2a-1608-4fff-8d7e-d8a67a536f0f||sid=eu16845363622339Qc5RasH3621e2b2a496b8db0ce08fb37fb3cb3ff||time=1684533907||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=1.0, paramInputByte2=(null), ret=62413571b0bcbd0c1132b7ff979b90f09bb476351ff8f91c5259711930f61bab'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.user.logout.notice.get||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||requestId=f73eeaa4-abfd-4982-9a03-6292f89f6d9a||sid=eu16845363622339Qc5RasH3621e2b2a496b8db0ce08fb37fb3cb3ff||time=1684533907||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=1.0, paramInputByte2=(null), ret=8e99906cc95d471fdd4b3e3cd8aeba68327eb6717e7f89cd963ca5b512f48c74'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.device.allow.maxNum||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||requestId=ecb8f419-85d3-4e88-9d48-916e08daa499||sid=eu16845363622339Qc5RasH3621e2b2a496b8db0ce08fb37fb3cb3ff||time=1684533907||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=1.0, paramInputByte2=(null), ret=0af31fb15960960f926efb34b1555045fa67bb6264759cd642ba38e9b8f6083a'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=1, paramInputByte=a=tuya.m.app.config.unit.transfer.list||appVersion=1.1.4||chKey=284d4bb3||clientId=ufhnhpkh9np8t3rs9qda||deviceId=c677d66e99345839dbddb932bbcfcb698cfad9f46713||et=3||lang=en_US||os=Android||requestId=464e9ec4-80e8-4716-a8b3-0fc43f18e0f5||sid=eu16845363622339Qc5RasH3621e2b2a496b8db0ce08fb37fb3cb3ff||time=1684533907||ttid=sdk_tuya_international@ufhnhpkh9np8t3rs9qda||v=1.0, paramInputByte2=(null), ret=58bc9b67c95b66bb2ee6cb38e560da0e616293d70ac922b8e9623270e226087a'} data: None
message: {'type': 'send', 'payload': 'doCommandNative: paramInt=2, paramInputByte=44u5684656511663, paramInputByte2=(null), ret=09f6f08950c27ec33ff43b82a0146399'} data: None

Any ideas what else could be wrong?