Android 逆向工程 實踐篇

來源:互聯網
上載者:User

標籤:const   shu   net   ret   自己   sdn   http   手機   條件   

Android逆向工程 實踐篇

上篇給大家介紹的是基礎+小Demo實踐. 如果沒有看過的同學可以進去看看.(逆向工程 初篇)


本篇主要給大家介紹如何反編譯後修改源碼, 並打包運行在手機上.
先介紹下本篇文章用到的工具和資源.
1: Android Killer 1.3.1.0 (工具)
2: crackme.apk

還沒有破解之前會提示隨意輸入使用者名稱密碼會提示下面的資訊.

下面我們來開啟apk, 看看源碼是怎麼回事.
我先用工具(Android Killer) 開啟creckme.apk

這個是項目概要. 我們主要看的就是MainActivity 這個類, 其它的不看也沒什麼關係. 如果有耐心和興趣的,朋友可以去看看MainActivity裡面具體寫了什麼, 判斷機制是什麼.
破解步驟:
1: 點擊註冊按鈕後,彈出的toast 資訊,這裡可以分析出來,是什麼條件觸發,使程式彈出toas. [關鍵詞搜尋]
2: 這個程式,就上面那一步已經足夠破解了.

下面開啟MainActivity看看具體邏輯.
如果看不懂smali可以使用

下面我們找到程式入口 onCread 方法. 為什麼要早這個入口呢? 我們要在這裡找到初始化控制項的函數,對於這個程式來說, 只有一個Buttong(按鈕)比較容易找到,我們可以在onCread裡面找到Button的監聽(setOnClickListener)


中間是有幾句代碼沒有.
接下來是重點, 大家看到 我前面提到了的方法, setOnClickListener 沒有?? 這裡就是一個點擊事件, 但是這裡沒有發現Toast 相關的資訊. 這個MainActivity.smali都沒有發現. 難道搞錯了??. 同志,別灰心, 看看項目列表,是不是還有一個MainActivity$1.smali, 這個是一個內部類,我們開啟這個smali可以看到有一個onClick方法, 這裡就是在點擊onClick後,觸發的地方.那麼我們要具體的看看裡面的邏輯.


getText()方法代表是得到我們輸入的內容. trim()方法代表去除多餘的空格.


if-nez v0, :cond_0 條件判斷語句, 當滿足某些條件之後會做什麼.

const v0, 0x1 定義一個整形4位元組的局部變數v0 它的值是1. 假如條件瞞足,也就是v0!=0 會跳轉到 :cond_0 執行另一段代碼. 假如我們修改一下v0 的值,那麼他就不會跳轉到 :cond_0的裡面. 也就是破解成功.const v0, 0x0 這樣就可以讓程式彈出 註冊成功的Toast.
程式到這裡已經破解完成了. 感覺步驟很繁瑣…
下面教大家一個簡單一點的方法.一分鐘左右就可以搞定.

大家看到第一張圖片, 程式提示: 無效使用者名稱或註冊碼 這個是最直接的破解資訊.我們可以在程式裡面搜尋下這個關鍵詞.

*搜尋範圍記得換成整個項目

文本轉Unicode 後如果搜尋不到,就轉回來搜尋.


上面是我搜尋的結果. 下一步搜尋下 0x7f05000b 這個是unsuccessed的id,程式會通過這個id 來找到[無效使用者名稱或註冊碼]字串.

我用箭頭標出來的大家還熟悉嗎??? 就是上面我們改過的地方.這麼容易就找到了.

工具
如果沒有找到,就自己去下載把. 我上傳了csdn, 沒有那麼 快顯示出來的.
連結: http://pan.baidu.com/s/1hsunUcc 密碼: rfbn

大家新年快樂. 早日脫單!!

http://blog.csdn.net/QQ541159192/article/details/54755685 原創地址

Android 逆向工程 實踐篇

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.