通過逆向快速開發(fā)一個Android APP

| 前段時間,老板讓我開發(fā)一個TV的安全類的APP,本人比較懶,如果全部手敲一個APP太費勁,周期時間又長,正好最近在學習關于逆向方面的知識,正好拿來練練手!
好了那么現(xiàn)在開始我們的快速開發(fā)之旅!
首先,準備工具:1.Androidkiller
2.jadx0.6.1
按照需求找類似的APP,用AndroidKiller查殼工具看下APP有沒有加殼,如果有殼可以使用脫殼神器drizzleDumper工具辨嗽,這個工具是開源的,大家想看源碼可以去下載:https://github.com/DrizzleRisk/drizzleDumper扁位;當然這個工具網(wǎng)上有人已經(jīng)分析了原理卡啰,這里就大致在說一下,他的原理就是一點:root設備之后脚作,通過ptrace附加需要脫殼的apk進程葫哗,然后在脫殼的apk進程的內(nèi)存中進行dex文件的特征搜索缔刹,當搜索到dex文件時,進行dex文件的內(nèi)存dump劣针。
其實這個思路和之前介紹的ZjDroid校镐,DexExtractor等工具原理還不太一樣,之前的脫殼工具都是基于hook攔截系統(tǒng)的加載dex函數(shù)進行dump出dex的捺典。但是這個工具是基于附加目標程序鸟廓,尋找內(nèi)存段具備dex文件頭部信息進行dump的操作。這個思路也是非常好的襟己。我們也知道dex的長度是保存在頭部信息中的引谜,所以只要在內(nèi)存段中找到dex的頭部信息,然后解析長度擎浴,有了起始地址和長度员咽,那么就可以獲取內(nèi)存中的完整dex文件了。(對脫殼是否成功贮预,這個估計有一定的概率性)
drizzleDumper工具使用:(以com.qihoo.freewifi為例)
在cmd控制臺的條件下贝室,執(zhí)行cd命令進入到存放drizzleDumper的文件夾,然后將drizzleDumper文件推送到android手機的/data/local/tmp文件夾下并賦予可執(zhí)行權限仿吞,然后根據(jù)每種android加固的特點档玻,選擇需要脫殼的apk和drizzleDumper運行的先后順序,調(diào)整能夠脫殼成功的過程茫藏。這里使用的com.qihoo.freewifi為例误趴,先運行com.qihoo.freewifi程序,然后adb shell條件下su提權务傲,****執(zhí)行drizzleDumper的脫殼操作凉当,等待2秒。

  • cd xxxxx/drizzleDumper

  • adb push drizzleDumper /data/local/tmp

  • adb shell chmod 0777 /data/local/tmp/drizzleDumper

  • adb shell #進入androd系統(tǒng)的shell

  • su #獲取root權限

  • ./data/local/tmp/drizzleDumper com.qihoo.freewifi 2 #執(zhí)行脫殼操作

     最好不要找經(jīng)過混淆的APP,這樣增大閱讀代碼難度!一般 Apk 在發(fā)布出去之前售葡,都是會被混淆的看杭,這基本上國內(nèi) App 的標配。這樣一個類挟伙,最終會被混淆成 a.b.c 楼雹,方法也會變成 a.b.c.a() ,這樣其實非常不利于我們閱讀尖阔。我們很難看到一個 a.java 的文件贮缅,就確定它是哪一個,還需要根據(jù)包名來區(qū)分介却。
    

而 deobfusation 功能谴供,可以為它們其一個特殊的名字,這樣它在這個項目中齿坷,名字就唯一了桂肌,方便我們識別和搜索数焊。
這個功能可以在 Tools -> deobfusation 中激活。接下來來看看它的效果崎场。deo-beforedeo-before開啟 deobfusation 之后的效果如下:deo-afterdeo-after可以看到佩耳,a 變成了 p003a。
按照步驟一步步來,要有耐心,不要一心急把整個都COPY到時候一大片爆紅,瞬間就沒了心情!
1.先新建一個項目.
2.用AndroidKiller編譯找到的APP,找到res資源文件,在Window Explorer外找到文件,整個COPY.
3.在工程信息里面找到程序路口,copy下名字.
4.用jadx打開APP,Ctrl+N快速搜索找到程序入口!
5.將整個類copy到自己的項目,記得在AndroidMainFest.xml注冊!這是會有一大片紅,不要急,耐心!跟著我一步步來!
6.首先看看第一個BaseActivity,這個很明顯是缺少父類class,來到jadx ,Ctrl+N搜索baseActivity,找到該類整個copy,好了問題解決!,按照類似的方法,哪里錯誤點那里,!大部分原因是因為缺少類或則包沒有導入.一天時間整個框架就搭好了,差不多一周時間就把整個項目完整的COPY出來了.然后就可以坐在那里抖腿看看論壇啥的!
AS里有些比較實用的快捷鍵Alt+j批量修改,ctrl+f查找,F2找到錯誤的信息,shift+shift全局搜索!
7.copy也是有技巧的,按步驟來,首先先把布局主界面做出來,先不要實現(xiàn)邏輯,做出一個大概的框架,然后具體功能一個模塊一個模塊去實現(xiàn),千萬不要急,要不然很容易出錯!把自己搞得暈頭轉向,還有一些找不到類的情況,一般是用了第三方的框架,去官網(wǎng)上下框架就好了!
因為項目已經(jīng)做好,有些問題一是半會想不出來,自己也懶得截圖,所以寫的有亂,打字好累,本人比較懶!后期有時間我會慢慢修改!

|

<ignore_js_op style="word-wrap: break-word;"><dl class="tattl attm" style="word-wrap: break-word; margin: 0px; padding: 10px 10px 10px 0px; float: none; overflow: visible; width: 1191px; height: auto;">

<dd style="word-wrap: break-word; margin: 0px; padding: 0px; color: rgb(153, 153, 153);">

3.png (76.7 KB, 下載次數(shù): 0)

3.png

</dd>

</dl></ignore_js_op> <ignore_js_op style="word-wrap: break-word;"><dl class="tattl attm" style="word-wrap: break-word; margin: 0px; padding: 10px 10px 10px 0px; float: none; overflow: visible; width: 1191px; height: auto;">

<dd style="word-wrap: break-word; margin: 0px; padding: 0px; color: rgb(153, 153, 153);">

2.png (21.99 KB, 下載次數(shù): 0)

2.png

</dd>

</dl></ignore_js_op> <ignore_js_op style="word-wrap: break-word;"><dl class="tattl attm" style="word-wrap: break-word; margin: 0px; padding: 10px 10px 10px 0px; float: none; overflow: visible; width: 1191px; height: auto;">

<dd style="word-wrap: break-word; margin: 0px; padding: 0px; color: rgb(153, 153, 153);">

1.png (116.63 KB, 下載次數(shù): 0)

1.png

</dd>

</dl></ignore_js_op>

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末谭跨,一起剝皮案震驚了整個濱河市干厚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌饺蚊,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悬嗓,死亡現(xiàn)場離奇詭異污呼,居然都是意外死亡,警方通過查閱死者的電腦和手機包竹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門燕酷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人周瞎,你說我怎么就攤上這事苗缩。” “怎么了声诸?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵酱讶,是天一觀的道長。 經(jīng)常有香客問我彼乌,道長泻肯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任慰照,我火速辦了婚禮灶挟,結果婚禮上,老公的妹妹穿的比我還像新娘毒租。我一直安慰自己稚铣,他們只是感情好,可當我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布墅垮。 她就那樣靜靜地躺著惕医,像睡著了一般。 火紅的嫁衣襯著肌膚如雪算色。 梳的紋絲不亂的頭發(fā)上曹锨,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機與錄音剃允,去河邊找鬼沛简。 笑死齐鲤,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的椒楣。 我是一名探鬼主播给郊,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼捧灰!你這毒婦竟也來了淆九?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤毛俏,失蹤者是張志新(化名)和其女友劉穎炭庙,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體煌寇,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡焕蹄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了阀溶。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片腻脏。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖银锻,靈堂內(nèi)的尸體忽然破棺而出永品,到底是詐尸還是另有隱情,我是刑警寧澤击纬,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布鼎姐,位于F島的核電站,受9級特大地震影響更振,放射性物質(zhì)發(fā)生泄漏症见。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一殃饿、第九天 我趴在偏房一處隱蔽的房頂上張望谋作。 院中可真熱鬧,春花似錦乎芳、人聲如沸遵蚜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吭净。三九已至,卻和暖如春肴甸,著一層夾襖步出監(jiān)牢的瞬間寂殉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工原在, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留友扰,地道東北人彤叉。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像村怪,于是被迫代替她去往敵國和親秽浇。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,619評論 2 354

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