神秘技術, 防好友撤回QQ消息神器, Python碼農神發明!
點擊上方「
Python開發
」,選擇「置頂公眾號」
關鍵時刻,第一時間送達!
作者:Python新世界
https://www.jianshu.com/p/d7e4ec86a64c
Python開發整理髮布,轉載請聯繫作者獲得授權
序言
前段時間學到了利用Python查看微信撤回消息,從中受到啟發,不如讓 QQ 也不被撤回吧。
開始
準備工作
實驗開始
按照慣例,先 otool 一下看看是不是解密的,不過在越獄軟體下肯定是解密的了。
otool -l
/Users/TsuiYuenHong/Downloads/PP 下載/應用/QQ-6.5.8(越獄應用)/Payload/QQ.app/QQ | grep crypt
然後,使用 class-dump 看看有什麼可用的信息
class-dump-H
/Users/TsuiYuenHong/Downloads/PP 下載/應用/QQ-6.5.8(越獄應用)/Payload/QQ.app -o qq
class-dump
這裡就要用到 目測估計法,哈哈,就是這麼簡單粗暴。撤回無非就幾個單詞,revoke / recall / withdraw,(⊙v⊙) 那就都試試吧。不過這次運氣比較好,試到 recall 就發現了可能有用的信息。
在頭文件中發現一個叫
QQMessageRecallModule 的類,這翻譯過來不就是 QQ信息撤回模塊 嗎?
還發現了裡面有個 處理撤回通知 的方法
●
(void)handleRecallNotify:(struct RecallModel *)arg1 isOnline:(BOOL)arg2;那就直接從這個方法入手吧。
把
QQ可執行文件
丟進hooper
,搜索handleRecallNotify
。
返回值是
void
,那我就再次簡單粗暴直接在函數一開始就return
吧。然後使用hooper
重新生成可執行文件,替換掉原本的QQ可執行文件
。然後將
QQ.app
放到payload
文件夾下,然後壓縮並重命名為QQ.ipa
,裝到越獄設備上運行。
因為手上沒有iPhone越獄設備,所以就丟到iPad運行。
這是用 iPhone 發的信息,並且間隔 1 分鐘後撤回。
iphone
這是我在 iPad 運行的修改版本,可以看見之前被撤回的信息還在。
iPad
後記
其實這個過程並不像文本一樣簡單,期間還試過烏龍,例如在找撤回方法的時候就試過iPad弄到自己不能撤回,hhhhh。
關於為什麼不能在非越獄設備上運行,我也有嘗試過,不過QQ會檢測簽名問題,所以當我重簽名之後,會提示簽名被修改,而不能正常運行。目前還在嘗試...
不過總算也是成功了,快去試試吧!
哈哈~
【點擊成為Java大神】


TAG:Python開發 |