從零開始實(shí)現(xiàn)微信抓取

本篇內(nèi)容主要從實(shí)現(xiàn)微信抓取來(lái)講述如何在Android平臺(tái)來(lái)逆向APP适贸。這篇文章主要面向剛接觸逆向工程灸芳,同時(shí)又對(duì)逆向有迫切實(shí)際需求的同學(xué),讓其少走彎路拜姿,有跡可循烙样;避免篇幅太長(zhǎng),內(nèi)容過于初級(jí)蕊肥,本文不會(huì)從gi的使用t谒获,linux基本命令一一贅述。

如有表述不當(dāng)或紕漏之處壁却,歡迎指正批狱。

背景介紹

一年前,在工作中儒洛,有做數(shù)據(jù)抓取的同學(xué)找到我問精耐,能不能幫他們實(shí)現(xiàn)從客戶端來(lái)抓取微信的消息,甚至是幫他們實(shí)現(xiàn)一些特定的功能需求琅锻。秉著樂善好施的為人基本準(zhǔn)則卦停,Zoe當(dāng)然是一口答應(yīng),此等小事恼蓬,不在話下惊完,下周一過來(lái)拿PoC方案。

既然夸下捍τ玻口小槐,那Zoe也只能周末加班加點(diǎn),來(lái)研究微信的逆向工作,還在Android的逆向在當(dāng)下也算趨于成熟凿跳,有不少可用的方案和框架件豌,再加上抓取同學(xué)的需求也只是集中在數(shù)據(jù)的獲取,所以幾天的時(shí)間還是足夠充裕的控嗜。

由于這篇文章Zoe主要是從實(shí)際操作出發(fā)茧彤,所以不會(huì)提前介紹「Reverse Engineering」相關(guān)的知識(shí),不過但凡涉及基礎(chǔ)知識(shí)點(diǎn)的地方疆栏,Zoe都會(huì)一一點(diǎn)明曾掂,還忘各位同學(xué)及時(shí)補(bǔ)充相關(guān)知識(shí)。

確定安裝包

這里很簡(jiǎn)單壁顶,我們需要確定一個(gè)版本的安裝包來(lái)做為我們研究的對(duì)象珠洗,或者說是作為以后使用的主要對(duì)象。其原因是Android的資源在不同版本中是有不同的ID若专,大多情況下我們需要使用這些ID來(lái)確定我們要使用的資源许蓖,比如按鍵的點(diǎn)擊等等。

這里富岳,我們第一考慮的不是其對(duì)逆向工作的難易程度蛔糯,而是先確認(rèn)所選的安裝包能不能滿足業(yè)務(wù)的基本使用,以及會(huì)不會(huì)存在其他風(fēng)險(xiǎn)窖式。比如選了一個(gè)很老的微信版本蚁飒,他根本就不支持掃描二維碼,那我們抓取同學(xué)的業(yè)務(wù)需求就跟本沒法滿足萝喘。

另外淮逻,我們還需要選擇當(dāng)下最新的版本,主要可避免升級(jí)提示帶來(lái)的麻煩阁簸,同時(shí)最大的原因可以增加開發(fā)工作的存活有效期爬早,越老的版本,其不能正常正常使用的風(fēng)險(xiǎn)也就越高启妹。

這里微信以6.5.14版本為例來(lái)展開后續(xù)工作筛严。

脫殼/解壓APK

一般情況下我們的APK會(huì)被加殼,這是軟件安全的一般手段饶米,其目的就是讓軟件的真是執(zhí)行代碼不易直接被看到桨啃。這一這里是不“易”而不是不“能”,也就說檬输,加殼并不能完全阻止其他人的惡意行為照瘾。

我們使用apktool工具講APK解壓并轉(zhuǎn)換成smali代碼,smali是一種JVM運(yùn)行的機(jī)器碼丧慈,這也將是我們之后工作的主要研究對(duì)象析命。

使用如下命令將APK解壓,很幸運(yùn)微信這個(gè)版本并沒有加殼,當(dāng)然了之前的版本也沒有鹃愤,


待上述命令執(zhí)行完畢簇搅,我們得到如下結(jié)構(gòu)的代碼目錄,


這基本等同于微信的源碼了昼浦,我們的主要工作也將從此處展開馍资。

從需求還是分析著手點(diǎn)

目標(biāo)函數(shù)的??為方法

Hook指定函數(shù)

添加輔助邏輯

后記

參考資料

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市关噪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌乌妙,老刑警劉巖使兔,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異藤韵,居然都是意外死亡虐沥,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門泽艘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)欲险,“玉大人,你說我怎么就攤上這事匹涮√焓裕” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵然低,是天一觀的道長(zhǎng)喜每。 經(jīng)常有香客問我,道長(zhǎng)雳攘,這世上最難降的妖魔是什么带兜? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮吨灭,結(jié)果婚禮上刚照,老公的妹妹穿的比我還像新娘。我一直安慰自己喧兄,他們只是感情好无畔,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著繁莹,像睡著了一般檩互。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咨演,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天闸昨,我揣著相機(jī)與錄音,去河邊找鬼。 笑死饵较,一個(gè)胖子當(dāng)著我的面吹牛拍嵌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播循诉,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼横辆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了茄猫?” 一聲冷哼從身側(cè)響起狈蚤,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎划纽,沒想到半個(gè)月后脆侮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡勇劣,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年靖避,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片比默。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡幻捏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出命咐,到底是詐尸還是另有隱情篡九,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布侈百,位于F島的核電站瓮下,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏钝域。R本人自食惡果不足惜讽坏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望例证。 院中可真熱鬧路呜,春花似錦、人聲如沸织咧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)笙蒙。三九已至抵屿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間捅位,已是汗流浹背轧葛。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工搂抒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人求晶。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像衷笋,于是被迫代替她去往敵國(guó)和親芳杏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,500評(píng)論 25 707
  • 分析APK文件 要分析APK文件辟宗,首先要了解APK打包過程 打包資源文件(aapt)檢查Manifest合法性將r...
    黃怡菲閱讀 16,496評(píng)論 1 19
  • 一爵赵、前言 今天我們開始apk破解的另外一種方式:動(dòng)態(tài)代碼調(diào)試破解,之前其實(shí)已經(jīng)在一篇文章中說到如何破解apk了: ...
    JiangWei_App閱讀 3,650評(píng)論 2 29
  • 一個(gè)抗日老兵泊脐,由于戰(zhàn)爭(zhēng)時(shí)頭部負(fù)傷而間歇性精神失常亚再,當(dāng)他再一次漂泊到故鄉(xiāng)時(shí),已是耄耋之年晨抡。 他來(lái)到橫店,抗日劇的拍攝...
    汴京遺夢(mèng)閱讀 2,493評(píng)論 0 0
  • 一则剃、中秋節(jié) 丙子年八月十五日耘柱,是夜,月明棍现,風(fēng)從南 起调煎,大興云霧,逐主東方己肮。 這是丫頭離去后的第一個(gè)中秋節(jié)士袄,紅...
    涂黎山主閱讀 1,928評(píng)論 1 9