溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

iOS逆向開發(fā)之微信自動添加好友功能

發(fā)布時間:2020-09-17 14:47:08 來源:腳本之家 閱讀:150 作者:廣州小程 欄目:移動開發(fā)

這一次,小程演示怎么讓一個APP自動地運行,從而代替手工的操作。同樣以“微信”以例,實現(xiàn)在一個微信群里面,對所有的成員,自動地一個一個地發(fā)出添加好友的請求。

知識點還是之前介紹的東西,流程方面還是跟蹤與最終注入。因為這是一個系列的文章講解(微信公眾號“廣州小程” -> 逆向開發(fā)),所以讀者可以聯(lián)系前面的文章來理解,用自己的話“翻譯”成自己的知識與經(jīng)驗。

本文解決一個問題:如何讓第三方程序自動化地運行。

(一)批量添加好友的效果

小程使用“奇哥”的賬號,在某個群里面向所有人請求加好友,程序運行的效果是這樣的:

iOS逆向開發(fā)之微信自動添加好友功能

同樣,如果是附近的人,也可以做到自動批量地發(fā)出請求:

iOS逆向開發(fā)之微信自動添加好友功能

需要解釋一下,這種批量加好友的行為是被微信限制的,并且會對違規(guī)者作出處罰。那加人的限制是怎么樣的?小程在網(wǎng)上找了一個說法,讀者可以了解一下:

2017+微信加人限制規(guī)則:
 微信群:最多每天30~50個,保險是20人,超過對方收不到驗證信息。
 附近的人:15個每次,每天最多3次,每次之間最少間隔×分鐘;
搖一搖:15個每次,每天最多3次,每次之間最少間隔×分鐘;
搜索微信號:6個每次,每天最多5次,每次之間最少間隔×分鐘;
手機通訊錄:8個每次,每天最多6次,每次之間最少間隔×分鐘;
漂流瓶:5個每次,每天最多3次,每次之間最少間隔×分鐘;
主動加好友:每天每個微信號,最多30個;
被動加好友:每天每個微信號,最多180個。

如果被限制了,會有什么表現(xiàn)呢?首先,不會有特別的通知告訴你,但你發(fā)送的請求不會去到別人那里(如果是在“附近的人”,那就是你可以看到別人,而別人看不到你;你打呼,別人不會收到。),而且,需要過一個星期或更長時間,才能正常“交流”。

所以,應(yīng)該慎用批量加好友的功能。

小程在這里只是演示“如何自動化”,目的并非加好友。

(二)如何實現(xiàn)

先是跟蹤目標(biāo)函數(shù)。

(1)群成員列表的界面類是什么?

iOS逆向開發(fā)之微信自動添加好友功能

由此可見,ChatRoomInfoViewController是一個目標(biāo),它的結(jié)構(gòu)是這樣的:

iOS逆向開發(fā)之微信自動添加好友功能

注意m_arrMemberList這個變量,它就是所有群成員的數(shù)組,每一個成員是一個CContact。

(2)點擊每一個群成員

點擊一個成員,就是調(diào)用- (void)openContactInfo:(id)arg1 這個函數(shù),傳入的就是成員。

可以想像,只要循環(huán)調(diào)用這個函數(shù),并傳入不同的成員,就可以達到批量點擊成員的目的。

(3)觸發(fā)添加成員

點擊成員后,進到“成員詳細資料”頁面,這個頁面所在類是這樣的:

iOS逆向開發(fā)之微信自動添加好友功能

再作一些猜測與跟蹤,就可以知道,點擊“添加到通訊錄”,觸發(fā)的函數(shù)是

ContactInfoViewController::onSendVerifyMsg。

(4)發(fā)送請求

到了這一步,就是填寫打招呼的內(nèi)容了。一個好的招呼應(yīng)該是帶上對方昵稱的,而這個昵稱可以從成員信息中取得。如果微信的UITextField有長度限制(有些版本作了限制)的話,還可以重寫文本框的回調(diào)以取消限制。

發(fā)送請求的類:

iOS逆向開發(fā)之微信自動添加好友功能

(三)總結(jié)

小程在這里給出一個批量自動化的思路:

手動進到群成員列表,然后進入自動化流程。
 在ChatRoomInfoViewController::viewDidLoad完成時,取得m_arrMemberList即成員列表,循環(huán)打開每個成員。
 使用CContact::isMyContact,判斷成員是否已經(jīng)添加過了,如果是則下一個成員。
 每點擊一個成員時,設(shè)置一個變量的狀態(tài),然后進入等待,直到這個變量的狀態(tài)變化,再進入下一個成員的點擊。
 點擊成員,進入到“詳細資料”界面,同時,UINavigationController進入等待若干秒(比如4秒),若干秒后執(zhí)行返回操作(不管最終是否添加成功)。
 進入驗證界面,在SendVerifyMsgViewController::viewDidLoad時,設(shè)置好UITextField的內(nèi)容,再觸發(fā)onSendVerifyMsg的調(diào)用。
 驗證如果成功,則驗證界面會自動消失,如果失?。ㄊ∮谢卣{(diào))則需要主動調(diào)用一下成功時的調(diào)用使得驗證界面消失。這時即使有alertview彈框也不影響后續(xù)的操作。
UINavigationController執(zhí)行返回操作,并設(shè)置可以下一個成員。
ChatRoomInfoViewController執(zhí)行下一個成員。

總結(jié)

以上所述是小編給大家介紹的iOS逆向開發(fā)之微信自動添加好友功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI