Closed TurnrDev closed 5 years ago
Hello, sorry for the late response.
I didn't understand, so the problem is that it is not able to record/replay touch events when using the Pokemon Go
App?
That what seems to be the issue on the surface, yeah.
However, I'm not convinced the full range of actions recorded are being played back, hence the two recordings. (the second recording was recording whilst the first was playing back and is just a subset)
I have a OnePlus 5T if that helps
Hello, currently I don't have a USB debuggable cable so I am not able to recreate it.
Relatively to Pokemon Go I imagine that they have some sort of protection against bots, but this is just speculation, I would have to try it on my own phone. Do you think you could test in another phone if it works?
I'll dig out another phone and give it a try. I'm hoping it's not the Pokemon Go protection because PVP is so tedious
Thank you! If you give a try with another phone that would be awesome!
I am getting an issue that it does not record and playback swipes accurately. As in I will get it to swipe in snapchat down a list, and anything where it involves some momentum, it does not seem to function accurately.
What phone/android version are you using?
i am using either a nexus 5, or samsung s9. It does not seem to do it accurately with either.
Hello, I have tested on my android and it is working fine. It may depend on the phone or Android version but honestly, I do not know.
I am using the following settings:
Android version: Android 6.0
Phone: Wiko LENNY 3
In this example, I will assume that your touchscreen is the event7
so make sure to first change the following lines if that is not the case.
Recording
adb shell getevent -t dev/input/event7
./record_touch_events.sh
recorded_touch_events.txt
(you can use this website for example: https://www.diffchecker.com/diff)Replay
adb shell getevent -t dev/input/event7
./replay_touch_events.sh
recorded_touch_events.txt
(you can use this website for example: https://www.diffchecker.com/diff)Please let me know what happens when you run these tests.
I did this, comparing replay values to original input values. The diff did not show a difference in commands, except for those with value 'ffffffff'. Replay showed there '7fffffff'. The 7f thing is the max value for signed int32. So I will experiment with a larger type.
Ok, fixed that, with a strtoll
instead of strtol
and a uint32. But while output diffs are now equal, the playback still hangs. It seems now that the recording itself is not complete, instead of a error in the replay.
Yeah, I do not know why. I tried with two phones and with one of them it works great, but on the other one, it gets stuck.
Ok, fixed that, with a
strtoll
instead ofstrtol
and a uint32. But while output diffs are now equal, the playback still hangs. It seems now that the recording itself is not complete, instead of a error in the replay.
Did you write the strtoll
in these three lines (mysendevent.c)?
I changed event.value
to a uint32
and using stroll
. The other ones I kept like they were.
@peterdk I just committed those changes
@Cartucho great. However the struct also needs to be a uint32
for .value
Also there is a double sleep()
now.
Thank you @peterdk
Can someone try the most recent version on GitHub and see if it works?
I tried the version on Github but the mysendevent file itself is not executable on my ARM device. ./mysendevent: not executable: 64-bit ELF file When compiling it myself from the .c file it works ok. Also the script now finds my touchscreen, so that's also fixed.
I can't tell you exactly what's differing but what I do know for a fact is;
When I actually tap, the on-screen tap provided by "Show taps" disappears. When I run the script it remains.
Taps after the first tap don't recognise in Pokemon Go.
I ran it back and recorded the screen again and compared the values of the two recordings (with datetimes stripped) - the values differ greatly.
For reference: The first recording:
The second recording, ended early: