文件修改如何簡單修改Android的so文件


PS:今天上午,非常郁悶,有很多簡略基礎的問題搞得我有些迷茫,哎,代碼幾天不寫就忘。目前又不當COO,還是得用心記代碼哦!

    

場景

    有的時候須要定制Android默認藍牙設備名稱,當然在我們有源碼的情況下自然是很好處理,但如果沒有源碼呢?這時候就須要修改so文件了。

    藍牙默認設備名稱的修改在:
frameworks\base\core\jni\Android_bluetooth_common.h

    主要就是修改BTMTK_ANDROID_DEFAULT_LOCAL_NAME的值

    #define BTMTK_ANDROID_DEFAULT_LOCAL_NAME "ANDROID BT"

    查看相關mk文件可以知道,該文件終究編譯到了libandroid_runtime.so中,所以我們直接找到編譯好的libandroid_runtime.so

    

工具

    每日一道理
生活中受傷難免,失敗跌倒並不可怕,可怕的是因此而一蹶不振,失去了對人生的追求與遠大的理想。沒有一個人的前進道路是平平穩穩的,就算是河中穿梭航行的船只也難免顛簸,生活中所遇上的坎坷磨難不是偶爾給予的為難,而是必然所經受的磨練。

    WinHex

    該工具是一款非常不錯的 16 進制編輯器,得到 ZDNetSoftwareLibrary 五星級最高評價,擁有壯大的系統效用。

    (PS:按F3查找下一個)

    

方法

    將libandroid_runtime.so載入到WinHex中,然后全文搜索ANDROID BT,理論上只會有一處,當然也不能消除有多處,終究定位到代碼如下:

    00684736 | 73 31 35 00 48 49 4B 65  20 37 31 36 00 5B 47 41 | s15 ANDROID BT

    在WinHex中我們可以搜到唯一一處定義,因此直接修改成自己想定義的名稱,完成以后點擊保存,從新push到設備中,重啟設備即可失效

文章結束給大家分享下程序員的一些笑話語錄: Borland說我很有前途,Sun笑了;Sun說我很有錢,IBM笑了;IBM說我很專業,Sybase笑了;Sybase說我數據庫很牛,Oracle笑了;Oracle說我是開放的,Linux笑了;Linux說我要打敗Unix,微軟笑了;微軟說我的系統很穩定,我們都笑了。

--------------------------------- 原創文章 By
文件和修改
---------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM