Oszukiwanie w Bitcoin Billionaire – Fake Kliknięcia przy pomocy ADB

Bitcoin Billionaire jedną jedną z wielu gier typu idle clicker. https://play.google.com/store/apps/details?id=com.noodlecake.bitcoin. Jak wiadomo jedną z opcji zdobywania waluty w tego typu grach jest klikanie w ekran lub w myszkę. Chciałem trochę sobie ułatwić grę poprzez samoczynne klikanie w ekran. Pierwsze co potrzebowałem to ADB którego użyłem do łączenia się z telefonem. http://developer.android.com/tools/help/adb.html Następnie zrobiłem mały research i znalazłem komendę
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
adb shell input tap x y
adb shell input tap x y
adb shell input tap x y
Niestety komenda jest zbyt wolna na zastosowanie tutaj. Dlatego zacząłem szukać innych sposobów. Kolejne które znalazłem to
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
adb shell getevent
adb shell getevent
adb shell getevent
oraz
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
adb shell sendevent
adb shell sendevent
adb shell sendevent
Telefon który używałem do testów to Samsung Galaxy S5 z Androidem 5.0 Szybkie sprawdzenie eventów wykonywanych przy pojedynczym dotyku palcem
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
add device 1: /dev/input/event15
name: "es705 input"
add device 2: /dev/input/event14
name: "w1"
add device 3: /dev/input/event12
name: "hrm_sensor"
add device 4: /dev/input/event11
name: "ssp_context"
add device 5: /dev/input/event10
name: "meta_event"
add device 6: /dev/input/event9
name: "step_cnt_sensor"
add device 7: /dev/input/event8
name: "sig_motion_sensor"
add device 8: /dev/input/event7
name: "temp_humidity_sensor"
add device 9: /dev/input/event6
name: "proximity_sensor"
add device 10: /dev/input/event5
name: "light_sensor"
add device 11: /dev/input/event4
name: "gesture_sensor"
add device 12: /dev/input/event3
name: "qpnp_pon"
add device 13: /dev/input/event0
name: "sii8240_rcp"
could not get driver version for /dev/input/mice, Not a typewriter
add device 14: /dev/input/event13
name: "gpio-keys"
add device 15: /dev/input/event1
name: "sec_touchkey"
add device 16: /dev/input/event2
name: "sec_touchscreen"
/dev/input/event2: 0003 0039 0000113e
/dev/input/event2: 0001 014a 00000001
/dev/input/event2: 0003 0035 000002bc
/dev/input/event2: 0003 0036 000005ef
/dev/input/event2: 0003 0030 00000007
/dev/input/event2: 0000 0000 00000000
/dev/input/event2: 0003 0035 000002c7
/dev/input/event2: 0003 0030 00000009
/dev/input/event2: 0003 0031 00000007
/dev/input/event2: 0000 0000 00000000
/dev/input/event2: 0003 0039 ffffffff
/dev/input/event2: 0001 014a 00000000
/dev/input/event2: 0000 0000 00000000
add device 1: /dev/input/event15 name: "es705 input" add device 2: /dev/input/event14 name: "w1" add device 3: /dev/input/event12 name: "hrm_sensor" add device 4: /dev/input/event11 name: "ssp_context" add device 5: /dev/input/event10 name: "meta_event" add device 6: /dev/input/event9 name: "step_cnt_sensor" add device 7: /dev/input/event8 name: "sig_motion_sensor" add device 8: /dev/input/event7 name: "temp_humidity_sensor" add device 9: /dev/input/event6 name: "proximity_sensor" add device 10: /dev/input/event5 name: "light_sensor" add device 11: /dev/input/event4 name: "gesture_sensor" add device 12: /dev/input/event3 name: "qpnp_pon" add device 13: /dev/input/event0 name: "sii8240_rcp" could not get driver version for /dev/input/mice, Not a typewriter add device 14: /dev/input/event13 name: "gpio-keys" add device 15: /dev/input/event1 name: "sec_touchkey" add device 16: /dev/input/event2 name: "sec_touchscreen" /dev/input/event2: 0003 0039 0000113e /dev/input/event2: 0001 014a 00000001 /dev/input/event2: 0003 0035 000002bc /dev/input/event2: 0003 0036 000005ef /dev/input/event2: 0003 0030 00000007 /dev/input/event2: 0000 0000 00000000 /dev/input/event2: 0003 0035 000002c7 /dev/input/event2: 0003 0030 00000009 /dev/input/event2: 0003 0031 00000007 /dev/input/event2: 0000 0000 00000000 /dev/input/event2: 0003 0039 ffffffff /dev/input/event2: 0001 014a 00000000 /dev/input/event2: 0000 0000 00000000
add device 1: /dev/input/event15
name:     "es705 input"
add device 2: /dev/input/event14
name:     "w1"
add device 3: /dev/input/event12
name:     "hrm_sensor"
add device 4: /dev/input/event11
name:     "ssp_context"
add device 5: /dev/input/event10
name:     "meta_event"
add device 6: /dev/input/event9
name:     "step_cnt_sensor"
add device 7: /dev/input/event8
name:     "sig_motion_sensor"
add device 8: /dev/input/event7
name:     "temp_humidity_sensor"
add device 9: /dev/input/event6
name:     "proximity_sensor"
add device 10: /dev/input/event5
name:     "light_sensor"
add device 11: /dev/input/event4
name:     "gesture_sensor"
add device 12: /dev/input/event3
name:     "qpnp_pon"
add device 13: /dev/input/event0
name:     "sii8240_rcp"
could not get driver version for /dev/input/mice, Not a typewriter
add device 14: /dev/input/event13
name:     "gpio-keys"
add device 15: /dev/input/event1
name:     "sec_touchkey"
add device 16: /dev/input/event2
name:     "sec_touchscreen"
/dev/input/event2: 0003 0039 0000113e
/dev/input/event2: 0001 014a 00000001
/dev/input/event2: 0003 0035 000002bc
/dev/input/event2: 0003 0036 000005ef
/dev/input/event2: 0003 0030 00000007
/dev/input/event2: 0000 0000 00000000
/dev/input/event2: 0003 0035 000002c7
/dev/input/event2: 0003 0030 00000009
/dev/input/event2: 0003 0031 00000007
/dev/input/event2: 0000 0000 00000000
/dev/input/event2: 0003 0039 ffffffff
/dev/input/event2: 0001 014a 00000000
/dev/input/event2: 0000 0000 00000000
Teraz prze konwertowanie parametrów zwróconych przez getevent na te używane przez sendevent. Zmiana wszystkich liczb z hex na dec http://www.binaryhexconverter.com/hex-to-decimal-converter oraz usunięcie ’:’ Efekt:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
adb shell sendevent /dev/input/event2 3 57 4250
adb shell sendevent /dev/input/event2 1 330 1
adb shell sendevent /dev/input/event2 3 53 630
adb shell sendevent /dev/input/event2 3 54 1570
adb shell sendevent /dev/input/event2 3 48 8
adb shell sendevent /dev/input/event2 3 49 7
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 3 57 4294967295
adb shell sendevent /dev/input/event2 1 330 0
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 3 57 4250 adb shell sendevent /dev/input/event2 1 330 1 adb shell sendevent /dev/input/event2 3 53 630 adb shell sendevent /dev/input/event2 3 54 1570 adb shell sendevent /dev/input/event2 3 48 8 adb shell sendevent /dev/input/event2 3 49 7 adb shell sendevent /dev/input/event2 0 0 0 adb shell sendevent /dev/input/event2 3 57 4294967295 adb shell sendevent /dev/input/event2 1 330 0 adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 3 57 4250
adb shell sendevent /dev/input/event2 1 330 1
adb shell sendevent /dev/input/event2 3 53 630
adb shell sendevent /dev/input/event2 3 54 1570
adb shell sendevent /dev/input/event2 3 48 8
adb shell sendevent /dev/input/event2 3 49 7
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 3 57 4294967295
adb shell sendevent /dev/input/event2 1 330 0
adb shell sendevent /dev/input/event2 0 0 0
Wrzucenie w pętle i zapisanie jako plik cmd
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@echo off
for /l %%x in (1, 1, 999999999) do (
adb shell sendevent /dev/input/event2 3 57 4250
adb shell sendevent /dev/input/event2 1 330 1
adb shell sendevent /dev/input/event2 3 53 630
adb shell sendevent /dev/input/event2 3 54 1570
adb shell sendevent /dev/input/event2 3 48 8
adb shell sendevent /dev/input/event2 3 49 7
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 3 57 4294967295
adb shell sendevent /dev/input/event2 1 330 0
adb shell sendevent /dev/input/event2 0 0 0
)
@echo off for /l %%x in (1, 1, 999999999) do ( adb shell sendevent /dev/input/event2 3 57 4250 adb shell sendevent /dev/input/event2 1 330 1 adb shell sendevent /dev/input/event2 3 53 630 adb shell sendevent /dev/input/event2 3 54 1570 adb shell sendevent /dev/input/event2 3 48 8 adb shell sendevent /dev/input/event2 3 49 7 adb shell sendevent /dev/input/event2 0 0 0 adb shell sendevent /dev/input/event2 3 57 4294967295 adb shell sendevent /dev/input/event2 1 330 0 adb shell sendevent /dev/input/event2 0 0 0 )
@echo off
for /l %%x in (1, 1, 999999999) do (
adb shell sendevent /dev/input/event2 3 57 4250
adb shell sendevent /dev/input/event2 1 330 1
adb shell sendevent /dev/input/event2 3 53 630
adb shell sendevent /dev/input/event2 3 54 1570
adb shell sendevent /dev/input/event2 3 48 8
adb shell sendevent /dev/input/event2 3 49 7
adb shell sendevent /dev/input/event2 0 0 0
adb shell sendevent /dev/input/event2 3 57 4294967295
adb shell sendevent /dev/input/event2 1 330 0
adb shell sendevent /dev/input/event2 0 0 0
)
Szybkość jest już lepsza ale nadal niezadowalająca. Kolejny pomysł to bezpośrednie zalogowanie się na urządzenie poprzez adb shell i wykonanie dwóch poleceń.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dd if=/dev/input/event2 of=click # record
dd if=./click of=/dev/input/event2 #play
dd if=/dev/input/event2 of=click # record dd if=./click of=/dev/input/event2 #play
dd if=/dev/input/event2 of=click # record
dd if=./click of=/dev/input/event2 #play
Co do dd To chyba wiadomo co robi http://pl.wikipedia.org/wiki/Dd Wrzucenie
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
dd if=./click of=/dev/input/event2 #play
dd if=./click of=/dev/input/event2 #play
dd if=./click of=/dev/input/event2 #play
w pętle i bylibyśmy w domu. Niestety a
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
shell@klte:/ $ dd if=/dev/input/event2 of=click
dd if=/dev/input/event2 of=click
dd: click: Read-only file system
shell@klte:/ $ dd if=/dev/input/event2 of=click dd if=/dev/input/event2 of=click dd: click: Read-only file system
shell@klte:/ $ dd if=/dev/input/event2 of=click
dd if=/dev/input/event2 of=click
dd: click: Read-only file system
I narazie przy tym zostanę. Niestety nie mam obecnie zrotowanego urządzenia na którym mógłbym dalej działać. Już zostawiłem skrypt podany wcześniej odpalony na noc 😉

Dodaj komentarz

This site uses Akismet to reduce spam. Learn how your comment data is processed.