主頁 > 企業開發 > Autojs - 用 JavaScript 實作自己的安卓手機自動化工具腳本

Autojs - 用 JavaScript 實作自己的安卓手機自動化工具腳本

2020-09-20 22:09:28 企業開發

我是風箏,公眾號「古時的風箏」,一個不只有技術的技術公眾號,一個在程式圈混跡多年,主業 Java,另外 Python、React 也玩兒的 6 的斜杠開發者,
Spring Cloud 系列文章已經完成,可以到 我的github 上查看系列完整內容,也可以在公眾號內回復「pdf」獲取我精心制作的 pdf 版完整教程,

一個神奇的 APP

這個軟體叫做 Auto.js,只支持安卓,是一個不需要 Root 權限的 JavaScript 自動化軟體,什么意思呢,就是在你的安卓手機上安裝這個 APP,然后通過撰寫 JS 腳本的方式實作自動化操作,類似的也有其他的一些軟體,比如蘋果自帶的快捷操作,可以通過自定義配置完成一系列的流程,但是由于其目標是所有人都可以使用,所以定制的時候就沒有那么靈活,

而 Auto.js 通過寫代碼的方式定制,那不用多說,靈活性肯定是沒的說,關鍵的是,竟然寫 JS 就可以,不用懂 Java,也不用懂 kotlin,是不是有點兒優秀呢,

有人說了,這有什么用呢,一般人看到還真覺得用處不大,但是,我們先來看看通過 AutoJS 能實作什么功能吧,只有你想不到的,沒有做不到的,隨便舉幾個例子:

  1. 基本操作,比如安裝、卸載 、啟動、停止APP,切換網路模式、自動打開網址等;
  2. 微信轟炸機,也就是自動不斷的給某個人發訊息;
  3. 自動收取螞蟻森林能量;
  4. 百度貼吧簽到;
  5. 王者榮耀刷金幣;
  6. 抖音、快手自動養號;

是不是操作逐漸具有迷惑性、邪惡感,有一些人可以用它來賺錢,那就是搞手機群控的,當然中間少不了黑灰產,以至于作者都已經在應用商店將 APP 下架,

當然,違法犯罪的事兒是絕對不能干的,我們就是學習學習,做點提高學習、作業效率的事兒而已,

來做一個練練手

現在抖音這么火,幾乎人人都想在抖音上火一把,有的專業做短視頻的團隊或個人會同時運營好多個抖音號,而抖音的一些策略導致在開了新號之后必須要有個養號的程序,也就是模擬正常人刷抖音的方式,告訴抖音后臺這是個正常的賬號,

下面我們就來用 VSCode 寫個自動刷抖音的腳本,來完整看一下如何使用 VSCode 配合手機完成自動刷抖音的自動化操作,

此自動化流程包括:

  1. 自動打開抖音 APP;
  2. 隨機觀看 20 秒以內;
  3. 隨機打開觀看 15秒以上的評論區,然后隨機查看3頁以內的評論;
  4. 關閉評論,繼續隨機等待3秒以內;
  5. 自動觀看下一個視頻;

下面是演示 gif,gif 質量太差,可以點擊查看視頻演示

安裝 APK

首先下載 Auto.js APK 安裝包,由于已經在應用商店下架,需要的同學可以掃碼文章末尾的二維碼關注我的公眾號,在公眾號內回復 「autojs」獲取安裝包和自動刷抖音腳本,

打開已安裝好擴展插件的 VSCode

開發者的目的是為了讓大家可以在手機上就能通過撰寫 JS 的方式實作自動化操作,比如下面這個是 APP 內置的手機編輯器界面,

但是,在手機上寫代碼豈是程式員所為,有點束手束腳的感覺,還是得上電腦,沒錯,還得電腦,當然也可以,作者為我們提供了 VSCode 插件,

打開 VSCode,通過選單"查看"->"擴展"->輸入"Auto.js"或"hyb1996"搜索,然后安裝即可,

點擊可以查看插件的官方介紹

新建一個專案

通過選單“查看”->“命令面板”->"Auto.js: New Project "新建一個專案,專案包括一個 main.js 和一個project.json 檔案,main.js 就是寫主要邏輯的檔案,project.json 是專案的一些配置資訊,這和其他前端專案類似,

撰寫自動化邏輯

根據你的需要在 main.js 中撰寫 js 代碼,作者已經提供了各種包裝好的 API,你可以到官方網站上去查看,官方地址 https://hyb1996.github.io/AutoJs-Docs/#/,例如打開抖音,只需要以下一行代碼:

launchApp("抖音短視頻");

我寫的這個例子主要用到了基于坐標的操作,其實就是模擬做一些點擊、上劃等的手勢操作,可以說沒有任何難度,當然,離不開作者完美的 API 保證,

在 VSCode 中啟動服務

通過選單“查看”->“命令面板”->"Auto.js: Start Server "來啟動專案,啟動成功后,會在右下角顯示“Auto.js server running”,只有啟動了電腦端的服務,才能進行下面的連接操作,

在 Auto.js APP 中連接電腦

如果你做過安卓開發,那應該很清楚真機除錯,要么用資料線,要么保證電腦和手機在同一局域網之下,Auto.js 也一樣的,其實就是真機除錯,

打開 Auto.js APP,點擊右上角選單按鈕,在劃出的左側抽屜框中打開連接電腦,

然后在彈出的輸入框中輸入電腦的 IP ,點擊確定即可,

打開 Auto.js 的無障礙模式

Auto.js 的實作就是依靠的無障礙模式,但是這個模式需要對應用單獨打開,仍然在 APP 的左側抽屜框中打開,

然后會自動跳到手機自身設定中的無障礙模式界面,在下方找到 Auto.js 這個應用,然后打開即可,

就算這里你暫時沒有打開,等到之后除錯的時候會自動提示你要打開無障礙模式的,

保存專案到手機

當你寫完腳本之后,可以通過選單“查看”->“命令面板”->"Auto.js: Save Project "來保存修改到你的手機上,之后,你就可以在 Auto.js 中看到你做的修改,

除錯,查看效果

當你寫好了一部分代碼后,肯定要看一下效果,也很簡單,通過選單“查看”->“命令面板”->"Auto.js: Run On Device "來運行,當然,前提是你已經安裝上面的步驟操作過,并且 Auto.js 處于活動狀態,

之后,會在選單下方顯示你已連接到此電腦的設備,我這兒只有一臺,所以只顯示一個,如果你同時除錯多臺的話,這里應該顯示多個,

當你點擊這個設備后,就會在你的手機上執行你撰寫的邏輯,就像我前面的那個演示效果一樣,

如何確定坐標

大部分的操作其實都是對坐標的模擬手勢操作,雖然 Auto.js 也支持更復雜的控制元件操作,甚至能直接連接 Java,

那么如何能確定你要操作的坐標位置呢,比如我這個例子中,評論圖示的位置,上劃重繪下一個視頻時的起止坐標,總不能截個圖然后再量吧,那肯定姿勢有問題,

首先你要打開手機的開發者模式,一般的手機都是找到設定->關于本機->版本號,然后在版本號上連續點擊幾次打開開發者模式,

打開之后,在開發者模式中有個指標位置的開關,

然后會在手機螢屏上方顯示橫縱坐標,手機型號不同,顯示位置和效果也有可能不一樣,

最好不要有強迫癥,不然這么凌亂的畫面接受不了,還好我沒有,這個指標位置我可以一直開著沒什么影響(攤手),

最后

好用歸好用,但是不要用到違法亂紀的地方,一旦用技術作起惡來是很可怕的,

要拿去學習學習的同學可以掃碼文章末尾的二維碼關注我的公眾號,在公眾號內回復 「autojs」獲取安裝包和自動刷抖音腳本,

感覺有意思的話,給個贊吧,總是被白嫖,身體吃不消!

我是風箏,公眾號「古時的風箏」,一個在程式圈混跡多年,主業 Java,另外 Python、React 也玩兒的很 6 的斜杠開發者,可以在公眾號中加我好友,進群里小伙伴交流學習,好多大廠的同學也在群內呦,

技術交流還可以加群或者直接加我微信,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/92059.html

標籤:JavaScript

上一篇:a標簽拖拽 href地址禁止顯示

下一篇:echarts 樹圖tree 改為流程圖

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more