由於本人在整個項目中使用了WechatSpellbook的部分開源代碼,並且遵從作者寫給開發者的內容中,提及能夠修復bug也是很好,在此過程中我發現了自動版本匹配的幾個bug及不足之處,
故我也會將此部分代碼開源(請注意是部分而非全部,也請大家不要噴,這裏面涉及到工作以及全部分享出去的法律風險問題),將核心基礎功能提供給更多的人共同學習,當然如果你覺得對你有幫助,也請給個star,項目地址:
一些工具及參考文章代碼
關於xposed很多知識點網上其實是存在大量的文章及範例的,在此我也列舉出個人在開始進入xposed時的一些較好並且幫助到我的一些文章及範例,在此感謝各位走在前面人的分享
可能會使用到的工具
- Win上的Android Killer
- bytecode-viewer
- ApkStudio
- Apktool
- jadx、dex2jar
以上工具你都可以在github或者網絡中找到其使用方法,我主要使用的工具還是隻有jadx以及dex2jar,基本上能夠完全滿足所需了
可能會瀏覽的網站
可能值得參考的範例
- WechatSpellbook我就大量參考了此框架的設計
- 微信巫師WechatMagician
- MDWechat
- 搶紅包
- XposedWechatHelper
可能需要閱讀的一些文章
- Xposed API文檔
- 微信Xposed插件
- 定製Xposed框架
- xposed源碼編譯與集成
- xposed源碼編譯--源碼及工具概述
- Xposed 免重啓
- Xposed模塊開發,免重啓改進方案,結合瞭如何查找apk
- Android Hook技術防範漫談(美團)
- Android安全防護/檢查root/檢查Xposed/反調試/應用多開/模擬器檢測
- 無需 Root 也能使用 Xposed,來和支付寶大牛一起玩黑科技!
- 經過測試,下載的代碼你可以即刻運行,並且如果你的手機安裝了xposed框架,那麼現在只需要將其勾選並重啓手機運行即可
- 如果你的手機未安裝xposed框架,建議你使用VirtualXposed,將此插件安裝到VirtualXposed(相信你已經熟悉如何使用VirtualXposed了)並重啓VX即可
此倉庫中包含的kernel代碼
- async: 異步處理
- cache: 磁盤緩存、內存緩存
- core: 此包中的代碼主要來源於WechatSpellbook,但其內部已經做過一些改版,可以更方便的處理一些hook方法,你可以查看HookerCenter中的具體變動
- helper:一些幫助工具,包含自動解析APK,自動查找,以及錯誤處理的重試機制
- media: 此包是用於每天類消息的處理,涉及到音頻編解碼,圖片壓縮處理
- okhttp: 針對okhttp的一個簡單封裝,用於網絡請求以及文件下載,裏面包含了下載、上傳進度、重試機制、緩存策略
- utils: 一些工具類
此倉庫中包含企業微信以及個人微信的shared代碼實現了
- 針對Activity的hook
- 針對數據庫的hook
- 針對文件操作的hook
- 針對Log打印的hook
此倉庫包含企業微信wework代碼實現了
- 通知消息接收解析
- Application的hook
- 會話消息的監聽,包括:會話同步狀態變更、新增了會話、退出羣聊、消息已讀狀態變更、添加成員、收到新消息回調、改變了羣主、消息草稿變更、消息更新、修改了羣聊名稱、移除消息監聽、移除羣成員監聽、移除消息監聽、會話被收藏、置頂、免打擾等等監聽功能
- 通知消息監聽,接收所有通知消息的監聽回調,並且實現了通知消息的解析
此部分爲企業微信相關的hook,涉及多方面,主要包括:
- 好友/聯繫人/用戶相關
在此你可實現針對好友的查詢、刪除、獲取、修改外部客戶、內部成員的操作,可以實現自動通過好友添加、獲取二維碼、部門用戶等等的功能
- 會話相關
這裏涉及單聊、羣聊、羣會話監聽、獲取羣列表、會話列表、刪除羣、退出羣、解散羣、邀請羣成員、設置置頂、設置備註、設置羣內暱稱、設置羣公告等等功能
- 消息相關
此模塊主要收發消息,包括但不限於文本、圖片、語音、視頻、小程序、鏈接等等的收發,實現自動下載圖片、語音、視頻、文件等等用於後期的自動轉發
App入口代碼
以下爲代碼運行的一些截圖以及項目結構解釋
當然還有更多的功能不僅限於上述,更多可以查閱我針對企業微信的xposed學習的成果,這些成果的部分我將在後續通過講解並上傳:
項目源碼地址
如果你覺得此項目中分享的代碼對你有幫助,還請給個star