1. 程式人生 > >淺談微信smali注入

淺談微信smali注入

作者:郭少雷

搞android搞了幾年也沒搞出個啥牛逼app出來,眼看時下最火的app微信如此火熱,實在想搞搞它,索性就想著給它加點東西進去。

以下內容純屬本人個人愛好,僅限個人學習android用途以及對android的深入瞭解。

首先我們得想一想加點什麼東西在微信裡面,這裡簡單做個體驗,加一個推送sdk至微信最新(6.5.7)apk包中,並由服務端控制向其推送訊息。以下步驟依次講解加入流程

1.申請推送平臺

這裡以個推為例並下載Getui_SDK;新建一Android Studio工程,包名同微信包名保持一致(com.tencent.mm),新建一PushActivity用於獲取啟動個推SDK的smali程式碼片段。依據個推sdk建立相應DemoIntentService和DemoPushService;

這裡寫圖片描述

2.獲取資原始檔

生成工程apk後使用ApkTool反編譯生成好的apk後得到以下smali程式碼及資原始檔。反編譯apk檔案
命令:

    apktool d <file.apk> <dir>
 得到所有資源及程式碼檔案。 

這裡寫圖片描述

進入smali目錄獲取到PushActivity.smali中啟動個推程式碼片段:

這裡寫圖片描述

3.反編譯

使用ApkTool反編譯微信apk得到微信資源及smali程式碼:

這裡寫圖片描述

4.定位onCreate方法

檢視微信資源AndroidManifext.xml中啟動Launcher的Activity為LauncherUI,開啟LauncherUI.smali檔案並找到onCreate方法:

這裡寫圖片描述

在該方法最後加入啟動個推smali程式碼,並將PushActivity改為Launcher所在位置後儲存:

這裡寫圖片描述

5.加入個推服務

儲存個推用到的資原始檔到微信目錄後修改微信AndroidManifest.xml加入個推服務:

這裡寫圖片描述

6.回編apk檔案

命令:

apktool b <dir>
使用apk回編命令對微信資源目錄進行回編後得到新的微信apk;安裝啟動後即可由個推服務端對客戶端進行Push訊息推送。

這裡寫圖片描述

相關推薦

smali注入

作者:郭少雷 搞android搞了幾年也沒搞出個啥牛逼app出來,眼看時下最火的app微信如此火熱,實在想搞搞它,索性就想著給它加點東西進去。 以下內容純屬本人個人愛好,僅限個人學習android用途以及對android的深入瞭解。 首先我們得想一想加點什

公眾號營銷背後的技術

       微信公眾號已成為很多公司/產品線上營銷的主戰場之一。本文試圖分析在開發者模式下,微信公眾號營銷背後的幾個常用技術方案。就目前接觸的業務來看,基於微信公眾號的營銷主要有下面兩條線。         其中,第一條線是以公眾號為核心的運營方案,第二條線是依靠

Android 支付+支付寶支付

       負責的專案中剛做完微信支付和支付寶支付,也跨過幾道坑,略有收穫,記錄一下。        整合第三方嘛,無非去看開發文件,按照步驟一步步的來。都需要後臺來二次簽名,生成預付單各種值什麼的。       1.微信支付:       微信的開發文件寫的還行,app

卡券功能開發(1)

閒扯     由於公司的業務,有幸接觸到了微信平臺的開發,不得不感慨下,微信的業務規劃實在是巨集大的很呢。看來微信是想涉及生活的各個方面啊,再加上最近微信封殺各路豪傑(網易音樂、支付寶錢包)等,不難看出微信在產品規劃上的野心。     貌似閒話說的太多了,

公眾平臺

其中 集合 記得 構建 str 鏈接 相對 Coding 溝通 微信提供給第三方服務接入的方案,就是服務號、訂閱號、小程序以及企業微信。 這些方案集中在微信公眾平臺,日趨完善,給微信提供無限活力,讓微信的服務內容越發精彩豐富。 官方介紹 服務號 給企業和組織

黎想首公眾號搜尋排名的規則?怎樣提高排名?

微信公眾號在我國可謂是唄用到了極致,下面產品經理黎想將就微信公眾號的相關功能技巧發表自己的觀點! 微信公眾號是開發者或商家在微信公眾平臺上申請的應用賬號,該帳號與QQ賬號互通,通過公眾號,商家可在微信平臺上實現和特定群體的文字、圖片、語音的全方位溝通、互動 。微信公眾號分為訂閱號和服務號

服務架構、容器技術與K8S

  關注嘉為科技,獲取運維新知   企業應用系統:從單體應用走向微服務架構;從裸金屬走向容器。   如果在諸多熱門雲端計算技術諸如容器、微服務、DevOps、OpenStack等之中,找出一個最火的方向,那麼可能非微服務莫屬。儘管話題炙手可熱,但對傳統行業來說,微服

從前端介面開發小程式體驗

本文由雲+社群發表 這段時間有幸加入了一個關於微信小程式的專案開發組,從無到有的根據文件自行學習了小程式的開發過程,前面已經有幾位前輩的文章珠玉在前,我這裡就先從前端介面的開發方面談一談小程式以及我所遇到的問題吧。 在結構和樣式方面,小程式提供了一些常用的標籤與控制元件,比如: view,小程

從前端界面開發小程序體驗

關註 運行模式 中項 證書 pix src 技術分享 菜單 aspect 本文由雲+社區發表 這段時間有幸加入了一個關於微信小程序的項目開發組,從無到有的根據文檔自行學習了小程序的開發過程,前面已經有幾位前輩的文章珠玉在前,我這裏就先從前端界面的開發方面談一談小程序以及

網絡(四)——TCP層

定義 停止 取值 引入 發現 上層 序號 完成 最大 需求: 通信的本質是進行信息的傳遞,而我們希望達到的效果總結起來就兩點:快而準。 背景: 基於TCP/IP協議,運行在IP層上的流量將變得不可靠,無法僅僅靠IP層技術保障數據包的準確傳達。 TCP協議 由此誕生了TCP協

服務體系中的分層設計和領域劃分

1.摘要 本文闡述了一種將分層設計和DDD領域設計應用於微服務體系架構的方案實踐,也是個人的最佳實踐。對於網際網路公司來說,我們主張將其Web服務架構分為五層:基礎設施層、領域服務層、應用服務層、閘道器層和使用者介面層(表示層)。領域服務層和應用服務層均可以採用

服務基建的邏輯

這篇文章主要目的是面向初接觸微服務的朋友簡單介紹微服務基礎建設所需要的各個模組以及緣由。 起點 首先,我們得有一個“服務”。根據定義,我們可以把每個服務例項都視作一個黑盒。這個盒子有著明確的輸入點和輸出點,並且(理想情況下)僅通過這些輸入和輸出點和外界產生關聯。每個服務例項會擁有專屬的網路地址、獨立的計算資

服務】服務基建的邏輯

這篇文章主要目的是面向初接觸微服務的朋友簡單介紹微服務基礎建設所需要的各個模組以及緣由。 起點 首先,我們得有一個“服務”。根據定義,我們可以把每個服務例項都視作一個黑盒。這個盒子有著明確的輸入點和輸出點,並且(理想情況下)僅通過這些輸入和輸出點和外界產生關聯。每個服

服務架構中的鑑權體系

文章概要 在微服務架構中,有一個核心的問題是處理好“集權”(中心化)和“放權”(去中心化)的關係。雖然微服務的主旋律是把資料和業務拆成小而獨立的模組,但我們仍然需要一個強力的中央安保體系來確保“資料分散,許可權集中”。這一篇就談談微服務架構中的鑑權體系。 身份認證 身份認證(Auth

雲全球錢包所運用的區塊鏈技術

一、微雲全球系統規則 2018過去了,在這一年裡,一項技術得到了很多科技、網際網路的人士的關注,那麼就是區塊鏈技術,區塊鏈技術可以解決很多很多問題,商品溯源、保密資料、微雲全球系統等等,那麼,微雲全球系統到底是個什麼呢? 【餘額】:法定貨幣現金,也可以稱之為現金幣,簡稱錢。 【積

29.服務的架構設計

現在很多人都在談微服務,那麼到底什麼是微服務呢?這裡談談我對微服務的理解。微服務有兩個核心:·        微:服務的粒度要細,即服務要細化到API·        服務:提供好服務,要讓使用者感到好用(要做到這一點很不容易)上面兩個核心總結起來,可以用下面這幅圖表示:從上

Web安全-SQL注入

簡單的說一下我對Web安全的瞭解,主要是程式碼注入方面。 SQL注入 簡介: SQL攻擊(SQL injection),簡稱為注入攻擊,是發生於應用程式資料庫層的安全漏洞。簡而言之,是在輸入的字串之中注入SQL指令,在設計不良的程式當中忽略了檢查,那麼這些

網絡(七)終結篇——網路

終結篇 span 指定端口 改變 cond 報告 str 走了 消息 記得自己最初深入了解網絡,就是直接架空的從這部分開始的,其實很不應該啊,前面六章的基礎內容都沒有。那麽開始~ 目的: 在復雜網絡下,解決數據流有效到達目的地。有效分為兩個維度:最迅速;不打環。

分享網頁在中已停止訪問怎麽辦,細自動跳轉手機瀏覽器的原理

利用 ase jump html ont 問題 跳轉 false 微信 最近很多朋友在使用微信分享轉發網頁鏈接的時候,都很容易碰到鏈接在微信中無法打開的問題。通常這種情況微信會給個提示 “已停止訪問該網址” ,那麽導致這個情況的因素有哪些呢,主要有以

服務轉型

微服務已經流行很久了。相比前兩年而言,確實很流行了。 微服務流行不是什麼壞事,微服務本身是一個很好的架構思想,架構思想一直在改變,微服務之前的SOA也是不錯的做法。只是,在享受新思想帶來的好處時,卻不要為了新而新。 微服務解決了SOA沒有解決的一些問題,但它並不是萬能的,它本身也並非什麼高大上的新技術。