偽裝是門技術活:看我如何繞過殺毒軟件盜取你的QQ
免責聲明:本站提供安全工具、程序(方法)可能帶有攻擊性,僅供安全研究與教學之用,風險自負!
本文的閱讀對象是具有一定Android開發經驗,想進一步提升自我的Android開發人員。這里只上核心代碼。
一、買菜
1、下載安裝好最新版的“QQ安全中心”— QQSecV6.2.apk ,我們將利用它重新打包來偽裝正版軟件,盜取QQ號和密碼。
2、下載安裝好360手機衛士、騰訊管家,我們將介紹如何規避這些軟件的查殺。
二、種菜
1、新建一個android項目,自定義一個ViewGroup,我們將修改QQsecV6.2的登錄頁面的Layout,將自定義View作為它們的容器,然后findViewById通過ID取得EditText控件,提取密碼。
我這里的繼承的ScrollView,然后再構造函數里添加:
當控件要顯示的時候,我們就取得RelativeLayout和Button,Button就是QQ安全中心里的登錄按鈕。這里我們準備給這個按鈕的OnClick做一個鉤子。所以我們先取得原先設置好OnClick事件oldListener,保存起來。然后自己再設置一個onClick取得密碼,最后調用oldListener.這里大家可能有個疑問findViewById(0x7f0902e5),這個0x7f0902e5是怎么來的呢?這個其實是在layout 里控件的ID,可以根據Layout找到控件android:id="@id/wtlogin_account_ok",然后就到value/public.xml里查找到的。下面會講解
這里就涉及一個重要的方法:
設置button點擊事件
寫完后就導出jar,如view.jar
三、切菜
我們通過運行APP得知,賬號輸入界面有一行Hit,文字為“請輸入QQ號/手機/郵箱”.
反編譯QQSecV6.2后,我們通過res/value/strings.xml找到 這行string的name為“wtlogin_login_input_account_hint”
接著,我們返回到res目錄,通過windows的文件內容搜索“wtlogin_login_input_account_hint”
我們確定了在res/layout-xhdpi/wtlogin_account_input.xml和多個layout里都存在這個name,說明QQ安全中心有多個登錄頁面。
我們這里以修改 res/layout-xhdpi/wtlogin_account_input.xml為例,我們在其中添加在(二)中我們準備的自定義ViewGroup,
注意在下面還要以結尾。
這里重新打包簽名APK我們就能實現盜號功能,但是,360、騰訊管家會報毒,所以我們要找個傀儡。。。我們到QQSecV6.2/AndroidManifest.xml 將其包名修改成com.test.test,這樣打包后的APK就不會報毒了。
當然還有更好的選擇。。。。 嘿嘿不說了。。。我是一個好人。。。
四、下鍋
我們再將原來的QQSecV6.2.apk改名成QQSecV6.2.zip,解壓后獲得classes.dex,利用dex2jar將其轉換成jar。還記得我們(二)中導出的view.jar嗎?我們可以用WinRAR壓縮文件管理其打開,全選粘貼,將兩個jar合成一個jar。這時,我們利用android SDK自帶的dx.bat將jar再次轉換回dex文件,取名classes.dex。
利用apktool重新打包,打包后在dist目錄會生成一個未簽名的QQSecV6.2.apk 。然后用WinRAR打開,將上一步生成的classes.dex文件替換壓縮包里的。
最后用jarsigner重新簽名,安裝到手機上,嘗嘗這盤菜味道如何吧^-^
我們自己做的集成了郵件發送密碼的功能,當然你也可以繼承短信發送,但是這個會被殺毒軟件提示哦,想不提示?辦法還是有的,但是這個不是現在的重點。
五、洗碗
如何防護此類盜號軟件呢?
1、下載這類涉及個人隱私的軟件建議到官方下載,不要輕信所謂的個人和APP Store
2、應用在請求服務器的時候可以做簽名校驗,QQ就是這樣,所以你無法將本文應用于QQ.apk上。但是QQ安全中心卻沒有哦
3、NDK保護。可以利用第三方加固軟件加固,防止反編譯。