1. 程式人生 > >Xposed監控微信操作行為之:刪除聊天訊息。分4種情況。筆記記錄。

Xposed監控微信操作行為之:刪除聊天訊息。分4種情況。筆記記錄。

要做一個監控微信操作行為的功能,即監控這個手機上,使用者對微信做了哪些操作行為。現在要做一個監控刪除聊天訊息的行為記錄,即一旦使用者刪除微信上的聊天記錄,就將此行為記錄下來。

經過研究,刪除聊天訊息,有4個情況:聊天頁面單條刪除、聊天頁面選擇多條批量刪除、在主頁面刪除一個好友會話、在主頁面刪除一個群會話。

其實還有一種情況,就是用微信自帶的聊天訊息清理功能。不過這個就算了,暫時不監控了。

本文的測試環境,都是基於微信6.6.7版本,其他版本的函式名可能不一樣。本文也僅作為自己的一個筆記記錄,以免以後忘記。

跟蹤點選事件,使用Android studio自帶的Android profiler。就是下面的這個東東。

準備好後,在點選按鈕事件之前,點選profiler的紅色記錄按鈕,開始記錄。點選事件完成後,再次點選按鈕結束記錄。

之後,就可以看到記錄了。

搜尋click方法,從而覓得點選事件的關鍵處。

1、單條聊天訊息刪除時,記錄軌跡頁面如下。

hook類com.tencent.mm.ui.chatting.viewitems.b$c$a裡面的onMMMenuItemSelected函式,如果發生單條聊天訊息刪除,就會呼叫此方法。

2、在聊天介面,批量刪除多條訊息,軌跡如下。

由於批量刪除不是彈出上下文選單,而是選擇後在底部點選按鈕,之後還有再次確認,才會呼叫刪除功能。因此需要hook類com.tencent.mm.ui.chatting.b.j$2$1裡面的onClick函式。

3、在主頁面,刪除一個好友會話。

刪除一個會話時,點選選單後,會先彈出確認對話方塊。所以如果直接hook上下文選單的選項,是不準確的。因為有可能點選了取消。要能正確監控確實刪除了會話,需要hook類com.tencent.mm.ui.conversation.b$2裡面的onClick函式。

4、在主頁面,刪除一個群會話。

需要hook類com.tencent.mm.ui.conversation.b$9裡面的onClick方法。

相關推薦

Xposed監控操作行為刪除聊天訊息4情況筆記記錄

要做一個監控微信操作行為的功能,即監控這個手機上,使用者對微信做了哪些操作行為。現在要做一個監控刪除聊天訊息的行為記錄,即一旦使用者刪除微信上的聊天記錄,就將此行為記錄下來。 經過研究,刪除聊天訊息,有4個情況:聊天頁面單條刪除、聊天頁面選擇多條批量刪除、在主頁面刪除一個好

小程式雲開發初體驗--致我的第一個小程式

背景:一直關注微信小程式的發展,看著小程式一步步完善,一步步壯大,心裡癢癢,也想做一個自己的微信小程式,但是苦於只會前端,不會服務端,所以想法一直被卡著。現在小程式有了雲開發,很輕鬆實現後端功能,寫後端跟寫前端沒啥區別,真的是前端小夥伴們的福音啊。 經過幾個晚上的熬夜奮戰,我的第一個微信小程式正式

[轉]小程序加載更多(頁加載)實例 —— 小程序實戰系列(2)

是否 底部 watermark water ongl 小程序教程 所有 空數組 osi 本文轉自;http://blog.csdn.net/michael_ouyang/article/details/56846185 loadmore 加載更多(分頁加載) 當

Java--對接第二篇訂閱傳送圖文訊息給使用者

在第二篇的基礎上,把訂閱響應事件下的,傳送文字訊息介面替換成傳送圖文訊息的介面。 // 建立圖文訊息 NewsMessage newsMessage = new NewsMessage();

小程式定時傳送模板訊息

步驟一:獲取openID 步驟二:獲取模板ID 步驟三:頁面的 <form/> 元件,屬性report-submit為true時,可以宣告為需發模板訊息,此時點選按鈕提交表單可以獲取formId,用於傳送模板訊息。或者當用戶完成支付行為,可以獲取prepay_

小程式陣列操作push與concat的區別

微信小程式中需要用到陣列的操作,介於本人js基礎薄弱,故陣列操作進行簡單記錄,以備後期方便學習: push和concat二者功能很相像,但有兩點區別。 先看如下例子: var arr = []; arr.push(1); arr.push(2); arr.push([3,

文章抓取公眾號文章抓取常識臨時連結、永久連結

未經允許請勿轉載 曾經嘗試過抓取微信文章的小夥伴,一定很熟悉搜狗微信。搜狗微信是騰訊官方提供的搜尋引擎,專門用來搜尋微信公眾號發表的文章(不包含服務號)。 對於想要獲取微信文章進行研究學習的小夥伴,首先探索的途徑通常是搜狗微信。那麼關於搜狗微信以及微信相關的抓取,需

小程式 簡單的使用者授權系列操作

一、獲取使用者登入狀態 和 獲取使用者資訊 想獲取使用者資訊,需要點選btn按鈕,給button設定屬性open-type="getUserInfo" 和bindgetuserinfo="MygetUserInfo" <button open-type="getUs

小程式輪播元件swiper

swiper,輪播圖片,叫滑塊檢視容器。效果很屌的哦 官方文件例子很好: https://mp.weixin.qq.com/debug/wxadoc/dev/component/swiper.html 先上最終效果: 啦啦啦,程式碼: 樣式無所謂的啦,定義你自己喜

小程式tab切換後執行onload操作

小程式tab切換後,不會執行onload操作,那麼我們在某tab列表進入詳情後,再次返回列表,需要重新重新整理頁面,該如何處理? 程式碼如下: 在呼叫wx.switchTab後,通過success操作,呼叫getCurrentPages().pop()方法獲取上一個頁面的

小程式聯盟小程式獲取並解密使用者資料(獲取openId、unionId)

前言在實際的小程式開發中,往往需要使用者授權登陸並獲取使用者的資料,快速對接使用者系統。openId : 使用者在當前小程式的唯一標識 unionId : 如果開發者擁有多個移動應用、網站應用、和公眾帳號(包括小程式),可通過unionid來區分使用者的唯一性,因為只要是同一

小程式畫布】四手指觸控繪波浪線

 有問題可以掃碼加我微信,有償解決問題。承接小程式開發。 微信小程式開發交流qq群   173683895  、 526474645 ; 正文: 功能:根據手指觸控繪畫一條直線路徑-->

小程式第一天Hello World!

微信小程式開發學習的第一天:Hello Mini Programs! 為什麼要寫這篇文章? 微信作為一款擁有著數以億計的月活使用者並一直在不斷進化與演進的超級APP,在我們的日常生活中也扮演這十分重要的角色。幸運的是騰訊的微信團隊一直在致力於將微信的能力盡可

小程式畫布】一canvas元件

 有問題可以掃碼加我微信,有償解決問題。承接小程式開發。 微信小程式開發交流qq群   173683895  、 526474645 ; 正文: 此文章主要是對canvas元件的介紹與基本的使用。在元件中繪畫了一條固定的直線。 我們先了解一下canvas元件: wx

小程式JS陣列的操作

push() 方法可向陣列的末尾新增一個或多個元素,並返回新的長度。 陣列中新增新元素: var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.push("Kiwi") fruits 結果輸出: Banan

小程式無埋點函式呼叫監控

有時候,面對一個bug,左思右想就是無法理解為什麼。我就有過這樣的經歷,耗時整個一個晚上,後來還是放棄了。不得不在所有可能的點都加上日誌,部署等待再次報錯,真的很讓人抓狂!而實際上,解決一個bug的關鍵就是復現(reproduce),真正解決bug也許就是改動一兩個字元的事情。因此,如果能夠知道出錯函式被呼叫

小程式開發動畫案例圓點沿著圓圈運動

滴滴作為第一批的微信小程式開發者,大量地用到了動畫,積累了一些經驗,由於市面上的小程式動畫案例很少,我們就分享一部分滴滴做過的案例: 首先用 wx.createAnimation(OBJECT)

小程序 tabBar 不顯示

image tab 顯示 images mage 1-1 json .com 變量 第一步,按照index創建了myBus 第二步:更改app.json,即全局變量 重點在於: 最後: 完成!微信小程序之 tabBar 不顯示

小程序Flex布局

設置 兩端對齊 開始 cal spl 不同的 reverse str 一個 微信小程序頁面布局方式采用的是Flex布局。Flex布局,是W3c在2009年提出的一種新的方案,可以簡便,完整,響應式的實現各種頁面布局。Flex布局提供了元素在容器中的對齊,方向以及順序,甚至他

小程序分享,動態添加分享數據

tle images nsh 動態 fail spa tro blog ppm 1、效果: 2、.js代碼: page({ /** * 用戶點擊分享按鈕或右上角分享 */ onShareAppMessage: function (res)