Vadim170 / zepp-fetch-ident-me

An example of an application on Xiaomi Smart Band 7(Zepp OS). Makes a request to ident.me and displays your external ip address on the watch. Details in the article: https://habr.com/ru/post/699368/
Apache License 2.0
10 stars 2 forks source link

Further examination #1

Open juan518munoz opened 1 year ago

juan518munoz commented 1 year ago

Greetings Vadim, I'm reaching you from here as i couldn't find a better way to reach you. I have followed your steps and ended finding the following:

I've decompiled the app myself and found that each device has its own function list that sets some features over others. Whereas you enable Zepp OS apps by changing the function called when setting up the Mi band 7, making it call the Amazfit band 7 function, I think the init function itself can be modified to enable said features.

The following image shows the initialization function for the Mi band 7 (not all the features as they don't fit on the screenshot) image

With this mail I also send you a text file where I list what features are shared within each other, as well as pointing out the exclusive ones for each device. The ones I assume enable the App Store are: SUPPORT_JS_APP GT3_SOURCE
SUPPORT_APP_SORT_NEW SUPPORT_READ_APP_SORT_FROM_DEVICE

As to why I don't test it myself, I intend to purchase an Amazfit Band 7, as I prefer its screen over the Xiaomi counterpart, but I still have to find a way to allow quick replies on the device, I think it might be doable by the same procedure I shared above.

MBvsAB.txt

Vadim170 commented 1 year ago

@juan518munoz

Hi, Juan! Yes, I agree with your decision, I also thought to do so at first. This should work. But such a change in the bytecode seemed to me a little more complicated, it would take more time) I was too lazy to do that.

I didn't understand what quick replies you want to allow. When receiving a notification, the watch already has the functionality for a quick response. The list of quick responses can be edited.

Also about your solution, in theory there may be a problem when installing a bridge for debugging applications. Perhaps on the server side it will be seen that the bridge was installed on Mi Band 7 via Zepp and the bridge can be blocked.

I am very interested in the way you have come across my article? This was my first experience of writing articles on the Internet. I did not expect that someone from a non-Russian-speaking audience would read it)

juan518munoz commented 1 year ago

Hi, Juan! Yes, I agree with your decision, I also thought to do so at first. This should work. But such a change in the bytecode seemed to me a little more complicated, it would take more time) I was too lazy to do that.

On the contrary, if not mistaken, it'd only be just adding a few lines of code to a .smali file image

I didn't understand what quick replies you want to allow. When receiving a notification, the watch already has the functionality for a quick response. The list of quick responses can be edited.

The Mi band 7 has this implemented, but the Amazfit Band 7 doesn't. If you still have the quick reply functionallity after doing the procedure of your article, then it may be baked into firmware and not accessible by changing the Zepp App bytecode.

Also about your solution, in theory there may be a problem when installing a bridge for debugging applications. Perhaps on the server side it will be seen that the bridge was installed on Mi Band 7 via Zepp and the bridge can be blocked.

Yes, debugging with the device info unchanged might be and issue, I'd have to do further testing to see what are the limits of my solution.

I am very interested in the way you have come across my article? This was my first experience of writing articles on the Internet. I did not expect that someone from a non-Russian-speaking audience would read it)

I stumbled upon your article in this site but found no contact information: https://prog.world/we-write-an-application-on-mi-band-7-with-a-service-part/

So I reached out MelianMiko, who kindly directed me to the original article.

Something I couldn't understand completely after reading your post, was it possible to install apps from the app store? And were they listed (and launchable) on the Mi band?

Vadim170 commented 1 year ago

@juan518munoz Yes, installing apps from the app store is possible, but I was able to see apps in the store only for Amazfit Band 7. There were only 5 of them there, now there are about 15. After installing them, you can see them in the watch menu, most of them started normally, there are problems on a couple of applications due to the screen size.

It's funny, my article seems to have been translated by automatic translation and the links to some sites and the mention of me as an author were also erased. I didn't know about it. And I didn't know that MelianMiko had read the article.

juan518munoz commented 1 year ago

I've been trying to get the fetch app to work with the simulator, yet it never fetches the data, do you do something else on your guide aside of what is shown?

Vadim170 commented 1 year ago

I'm sorry, I haven't made applications for a watch for a very long time and I don't remember if applications with a service part work in the simulator. It seems that they worked, I don't know what could be the matter. It's worth seeing if there are errors in the appside or service side logs. If not, then it's worth looking through debug at which point execution ends.