Skip to content

Increase password padding - #23

Draft
kw217 wants to merge 1 commit into
prsyahmi:masterfrom
kw217:new-auth
Draft

Increase password padding#23
kw217 wants to merge 1 commit into
prsyahmi:masterfrom
kw217:new-auth

Conversation

@kw217

@kw217 kw217 commented Apr 13, 2024

Copy link
Copy Markdown

Use 64 bytes for encrypted passsword rather than 32, as required for my firmware Hw_AWT3610E_XHR_E_V1.0_WF_20231114.

Not ready for merge - it should probably be an option whether to use the old or new mechanism, and also I haven't yet proven that the stream data that comes out is usable.

Fixes #22 .

@kw217
kw217 marked this pull request as draft April 13, 2024 21:46
@waheedullahkhan001

Copy link
Copy Markdown

I tried it and it doesn't fix the problem.
image

@waheedullahkhan001

waheedullahkhan001 commented Jun 18, 2024

Copy link
Copy Markdown

We could also see the desktop app for testing.
Here is how it does the login:
image

Extra info:
I also copied the data and resent it using python and apparently it gives success? but when I continued to copy paste other packets, camera didn't send anything when the it was supposed to send (I guess) the video data. I took a look at the desktop app and it has some interesting dll files tho I couldn't find something good but I am not good at reverse engineering. I also noticed that login app is separate from the main app and it runs the main app by passing some command line args. If we choose to run it manually by passing the same args we are able to see some interesting logs. I thought the info might help or give new ideas :D

@waheedullahkhan001

waheedullahkhan001 commented Jun 18, 2024

Copy link
Copy Markdown

Changing the password size to 48 instead of 64 worked for me.

image

image

image

I also did not change the size as done here:
image

Although I am still unable to preview the video the way written in original README.md. The stream keeps restarting after random intervals. I can see some gibberish without piping the output but when I do feed to output to, let's say ffplay, It doesn't show preview.

@kw217

kw217 commented Jun 21, 2024

Copy link
Copy Markdown
Author

@waheedullahkhan001 I can't tell from your description - are you seeing some valid video but it keeps being interrupted, or are you just seeing noise?

@waheedullahkhan001

Copy link
Copy Markdown

I am not able to preview it at all. I can only see the (I assume) video data being printed in console which I referred to as gibberish.

@kw217

kw217 commented Jul 11, 2024

Copy link
Copy Markdown
Author

Yes, that's as far as I got. I've looked at the stream contents and looked at the MP4 specs and cannot figure out what has been done to the video. It has obvious patterns, but nothing that looks like the expected video framing. My best guess is that it's been XORed with some key. I tried reversing the Android app but it has been obfuscated in some way that I haven't yet figured out.

@prsyahmi

Copy link
Copy Markdown
Owner

@kw217 Can you try changing the key to macro$%video@#*-+^2020

@cuenta1

cuenta1 commented Jul 14, 2024

Copy link
Copy Markdown

Hi Keith
This version of the android app has the same mechanism as the most recent one and seems to have no obfuscation ;)
https://apkpure.com/es/v380/com.macrovideo.v380/download/6.1.42

@kw217

kw217 commented Jul 16, 2024

Copy link
Copy Markdown
Author

Thanks both! I'll give this a whirl in the next few days!

@waheedullahkhan001

Copy link
Copy Markdown

The android app 💀
image

@cuenta1

cuenta1 commented Aug 8, 2024

Copy link
Copy Markdown

Use 64 bytes for encrypted passsword rather than 32, as required for my firmware Hw_AWT3610E_XHR_E_V1.0_WF_20231114.

Not ready for merge - it should probably be an option whether to use the old or new mechanism, and also I haven't yet proven that the stream data that comes out is usable.

Fixes #22 .

For mine too: Hw_AIC33105_W1_50_WF1_20230519

@cuenta1

cuenta1 commented Aug 8, 2024

Copy link
Copy Markdown

@kw217 Can you try changing the key to macro$%video@#*-+^2020

Tested with 64-bytes mechanism: "invalid password" :(

@waheedullahkhan001

Copy link
Copy Markdown

Any luck in decoding the stream?

@Bluscream

Copy link
Copy Markdown
Contributor

Same question here, can no one help get this v380 tool actually support v380?

@kw217

kw217 commented Sep 27, 2024

Copy link
Copy Markdown
Author

I'm hoping to get time to work on this again in the next few weeks. If anyone else is keen, please go ahead!

@cuenta1

cuenta1 commented Sep 27, 2024

Copy link
Copy Markdown

Hi, I'm interested. How can I help?

@waheedullahkhan001

Copy link
Copy Markdown

Try setting up the project and getting to the point where you get the stream data using comments here for starters.
Then maybe look into the pc app. I have a feeling anyone with some knowledge of reverse engineering in windows might be able to help a lot. I tried and it makes sense of it overall but I can't really understand what exactly is going on at a particular part. I feel like the answer is just there but I don't know how to read it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Login response: unsupported -11, continuing

6 participants