Android逆向之旅---破解"穿靴子的貓"遊戲的收費功能

來源:互聯網
上載者:User

標籤:void   搜尋   內容   .com   功能   lan   shell   and   檔案   

一、遊戲收費分析

遊戲收費非常正常的,可是玩遊戲最噁心的就是你還沒玩就要儲值,非常惱火,事實上我不怎麼玩遊戲,主要是給小孩子們弄,比方如今好多小屁孩們喜歡玩水果忍者這個遊戲。可是這個遊戲在沒有開始玩的時候就彈出個收費的介面:


這個是不可忍受的,儘管支付費用不是非常多。可是還是不想支付。這個對話方塊是強制性的,當點擊取消就離開遊戲了,所以這裡必須支付成功了才幹夠繼續玩耍。


二、尋找破解入口

前面已經看到了這個遊戲入口收費情境,以下咋們就把這個功能給去掉就可以。從以往的破解經驗來說我們有幾百種方法把這個東西幹掉。比方:不然這個收費解密展示,改動取消之後的邏輯代碼不讓其離開遊戲等。

都是各種手段。本文就簡單點做。直接讓這個介面不展示。

操作非常easy。這個遊戲沒有加固。首先用apktool工具反編譯。由於要找到這個介面入口,我們能夠通過字串進行搜尋就可以,反編譯之後在values/strings.xml檔案裡找到“好友代付”這個字串內容:


找到之後。看到這個字串的id是:gc_billing_net_contacts,這裡能夠不用在通過public.xml中的id值轉化得到相應的int類型值。再去搜尋了。能夠直接到jadx中進行搜尋就可以:


這裡看到有一個BillingView類,從命名能夠猜想這個應該就是上面那個收費的頁面:


這個視圖繼承了LinearLayout布局,詳細實現這裡就不,從View的代碼實現能夠確定就是上面的收費頁面。在看看這個類在哪些地方有調用:


到這裡看到應該是兩個地方。一個是BillingActivity類。一個是GameInterface類,那麼就有兩個分析路線了,這裡用一個巧妙的辦法直接定位到是哪個類,假如是BillingActivity類,那麼當前的topActivity就是他。我們用命令查看當前裝置的topActivity看一下:adb shell dumpsys activity top

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamlhbmd3ZWkwOTEwNDEwMDAz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />

這裡看到並非BillingActivity類,所以能夠斷定,處理收費的頁面是在GameInterface類中。那麼直接進入這個類的getBillingView方法中:


然後查看這種方法在哪個地方被調用了,這裡假設發現Find Usage菜單不好使,也能夠直接全域搜這種方法:


這裡看到有兩個地方用到了這種方法,依舊是依照上面那個topActivity推斷,不可能是DGCPaymentActivity這個類了,所以直接看以下那個類,點擊進入就可以:



三、屏蔽收費入口功能

到這裡就清楚了,這裡通過一個Dialog來進行展示的,設定Dialog的contentView就可以。所以找到展示的入口了,幹掉這個入口就簡單了。找到相應的smali代碼,直接凝視這行show代碼:


然後在回編譯又一次在打包就可以,只是可惜的是,執行時報錯的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamlhbmd3ZWkwOTEwNDEwMDAz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />

這裡搜了一下,沒有好的處理方法。最後直接把整個方法代碼所有幹掉。讓這種方法稱為一個空方法,直接用一個指令替換原來的代碼就可以:return-void,直接方法返回:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamlhbmd3ZWkwOTEwNDEwMDAz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" />

然後再次回編譯打包就可以。這次就看不到那個收費的對話方塊了。


遊戲apk:http://pan.baidu.com/s/1bo6rFdX


嚴重聲明:本文的目的非常單純僅僅是為了介紹逆向技術,絕沒有不論什麼商業目的,假設有人將此文技術用於商業目的帶來的不論什麼法律責任將由操作者本文承擔,和本文內容作者沒不論什麼關係,也由衷的希望各位能夠秉著技術學習的態度閱讀此文,非常感謝!


四、總結

本文就簡單的介紹了怎樣去除遊戲中的收費功能,順利進入遊戲玩耍。能夠看到本文的篇幅非常短,事實上這個破解流程非常easy。適合0基礎逆向愛好者入門練習功能。文章閱讀完了,記得多多分享擴散!


很多其它內容:點擊這裡

關注公眾號。最新技術乾貨即時推送

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="border: none; max-width: 100%; max-height: 100%;" />掃一掃加小編
加入時註明:“編碼漂亮”否則不予通過。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="border: none; max-width: 100%; max-height: 100%;" />

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.