跟著鬼哥學so修改,五,執行個體第二篇,so第二篇

來源:互聯網
上載者:User

跟著鬼哥學so修改,五,執行個體第二篇,so第二篇

圖/文  聽鬼哥說故事

---------------------------------------------分割線--------------------------------------------



這篇文章也是前段時間的文章,最近這個系列的so分析剛好可以做為一個執行個體教程,所以就補充拿回來了。

前四篇沒看的,請繼續關注部落格,看完前面四篇。


趁熱打鐵,加深對so的分析過程,於是就有了這篇文章的補充························

另,此文章需要對android反編譯逆向有一定基礎,簡單瞭解so的作用,有任何疑惑,可去群裡和論壇或自行google搜尋解決。


文章受www.pd521.com 站長邀請,首發在其論壇,大家可以過去關注,很多基礎資料,方便新手學習





請大家自己動手去練習!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



---------------------------------------------分割線--------------------------------------------


以TTX連萌來多層次分析遊戲破解


這裡只是摘取so部分過來給大家看,原文詳細連結:

http://blog.csdn.net/guiguzi1110/article/details/40586339



0x1:直接修改金幣


通過OnBillingFinish()方法




我們進入到這個PopStar查看:




當然,這個類裡面還有很多方法,很多支援破解的方法,如:





定義購買金幣數量的,即購買成功後增加的數量。等等。。。

 

長話短說,咱們看到PopStar.nativeAddCoin方法後,確定是一個native方法,那麼我們找到上文

System.loadLibrary("xinxin");


用IDA載入libxinxin.so,然後定位到nativeAddCoin方法.

現在大家多數用的大佬的那個IDA,帶F5的,那麼我們直接f5





查看到這裡的方法,useGameCoin方法。開啟這個方法查看:






這裡有我加的注釋,很清晰的,看不明白的,F5一下也就知道了。

因為getIntegerForKey,返回值為R0,然後往下第二行代碼,R0=R0+R6,所以我們關鍵是在這裡修改R0,即金幣數量

Hex查看一下二進位,這裡為Thumb指令,那麼我們可以操作局限性也很高了。

所以,這裡提供一個思路,大家可以尋找更加簡便的方法。


即,BL getIntegerForKey,我們直接複製R0一個數值,然後在下面Adds R0,R0,R6這裡,直接對R0邏輯左移一下,即LSL一下,將其數值變大。


因為第一個BL是4個位元組,我們直接修改 00 00 09 20 ,即Movs R0,R0 代表沒有任何操作,09 20是將數字9賦值給R0

然後ADDs那一行,有兩個位元組,直接改為 00 04,即 LSLS R0,R0,#0x10

這樣,我們即完成了對金幣數量的賦值,如:






然後,我們在16進位下修改,選用010Editor或UE,ctrl + g,進行地址跳轉,尋找到我們在IDA修改的地址,按照上文修改,儲存,替換,回編譯。


注釋::  int a=9        ;                a=a<<0x10;         即金幣鎖定為589824

這裡需要說明的是,這個方法何時被調用,即才能啟用我們對金幣的賦值呢?





直接在IDA裡面對這個方法按下x鍵,查看調用,有5處。那麼應該很容易被啟用。



紅色標註的,是使用金幣的道具,按照我們看到方法被調用的地方,這裡被調用了,然後金幣數量即我們定義的。

 

0x2:修改簡訊

 

這裡不多說了,根據系統傳送簡訊函數進行尋找修改,替換簡訊內容,替換簡訊發送人即可。

我直接使用hook的方式替換的,比較省事了。。

相關代碼不難,看完我前面幾篇hook java的文章的同學,應該很容易能夠寫出來代碼,這裡不再多寫,有興趣,自己動手去。

 

文檔和相關附件:


http://pan.baidu.com/s/1kTLwwDL



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.