《Android破解之北斗手機定位系統》之繼續破解
,感興趣的朋友可以速速圍觀,下面我要說明的是以下幾點:
一款視覺化的用於修改安卓Apk程式檔案的工具,集Apk反編譯、Apk打包、Apk簽名,支援語法高亮的程式碼編輯器,基於檔案內容的關鍵字(支援單行程式碼或多行程式碼段)搜尋、替換引擎,打造一條龍修改工具(不必再借助各種第三方工具),從而大大簡化Apk修改過程中的繁瑣工作,節約時間,讓你能夠把精力全部集中在修改任務中。
1、全自動的反編譯、編譯、簽名,從此不必再輸入繁瑣的Apk解包、打包命令。
2、以樹目錄管理全部Apk資原始檔,瀏覽、管理、開啟、刪除檔案或資料夾都可以統一在軟體中實行,方便快捷。
3、自動識別影象資源,並提供該類資源的快捷替換功能,方便修改這類圖片資源。
4、內建程式碼編輯器,支援包含(但不限於)。samli、。xml、。html、。java等的各種檔案的語法高亮顯示,根據檔案格式自動匹配相應語法;同時支援使用系統編輯器來編輯程式碼檔案。
5、內建基於檔案內容的單行或多行程式碼搜尋、替換引擎,一鍵搜尋替換,可顯示無窮多個搜尋結果以標籤的形式分門別類;可指定搜尋範圍(全部原始碼或在指定的資料夾中搜索),支援正則表示式搜尋和替換。搜尋功能是Apk修改的一個重要工具,從此你不必藉助其它第三方搜尋工具。
6、內嵌Unicode、AscII互轉工具,以方便漢化類修改。
7、內建類似於系統cmd.exe的命令視窗,高手也可以手動直接輸入各種命令來手動操作。
8、所有操作步驟、操作結果都以良好的閱讀格式輸出在日誌視窗,方便檢視修改的歷史記錄。
9、內建adb功能,包括使用adb向裝置(或模擬器)安裝、解除安裝修改後的apk進行測試,並嵌入adb log、ddms等功能監測修改apk的執行狀況,以便於分析和查詢錯誤。
10、支援介面換膚。
截圖如下:
small語法:
反編譯後可以得到jar或者得到smali檔案,Android採用的是java語言 進行開發,但是Android系統有自己的虛擬機器Dalvik,程式碼編譯最終不是採用的java的class,而是使用的smali,具體詳情看參考文章:http://mobile.51cto.com/aprogram-464015.htm
,這裡我列下基本語法,以便本內容使用:
.field private isFlag:z 定義變數
.method 方法
.parameter 方法引數
.prologue 方法開始
.line 12 此方法位於第12行
invoke-super 呼叫父函式
const/high16 v0, 0x7fo3 把0x7fo3賦值給v0
invoke-direct 呼叫函式
return-void 函式返回void
.end method 函式結束
new-instance 建立例項
iput-object 物件賦值
iget-object 呼叫物件
invoke-static 呼叫靜態函式
條件跳轉分支:
"if-eq vA, vB, :cond_**" 如果vA等於vB則跳轉到:cond_**
"if-ne vA, vB, :cond_**" 如果vA不等於vB則跳轉到:cond_**
"if-lt vA, vB, :cond_**" 如果vA小於vB則跳轉到:cond_**
"if-ge vA, vB, :cond_**" 如果vA大於等於vB則跳轉到:cond_**
"if-gt vA, vB, :cond_**" 如果vA大於vB則跳轉到:cond_**
"if-le vA, vB, :cond_**" 如果vA小於等於vB則跳轉到:cond_**
"if-eqz vA, :cond_**" 如果vA等於0則跳轉到:cond_**
"if-nez vA, :cond_**" 如果vA不等於0則跳轉到:cond_**
"if-ltz vA, :cond_**" 如果vA小於0則跳轉到:cond_**
"if-gez vA, :cond_**" 如果vA大於等於0則跳轉到:cond_**
"if-gtz vA, :cond_**" 如果vA大於0則跳轉到:cond_**
"if-lez vA, :cond_**" 如果vA小於等於0則跳轉到:cond_**
看到這裡應該大概明白為什麼作者要改lt為gt了吧,小於變成大於了,呵呵,這裡大家重點要掌握就是這個函式呼叫:invoke-static,看明白了基本就可以完成下面去廣告的功能了,除了作者的lt轉gt功能;
去廣告:
如果大家完成了作者的修改lt左右後,發現有個非常討厭的彈出廣告每次都出來,而且不小心點選就會自動下載,我就中招無數,可憐了筆者的小手機,故此必須除掉它,我們首先看下整個專案反編譯後的效果,瀏覽會發現waps這個jar 包,
那就好辦了,搜尋waps 關鍵字,終於出了它本身之外,我們發現了在自己的smali檔案裡出現了一個方法showPopAd,判斷就是它,直接刪除即可,編譯生成可不再顯示彈出廣告;
修改軟體顯示資訊
1,中文
直接定位到string檔案,雙擊開啟就可以編輯任何可見中文,截圖如下:
2,ASCII
發現文字是直接寫到程式碼裡面的,這裡表示對開發者偷懶的極度不滿,讓破解遇到問題,比如如下文字:
轉換後明顯親切了,如下圖:
遇到問題如何解決:
1 破解工具使用,記得要安裝JDK1.7喔,不然可能出現問題吧,出現別的問題自行百度;
2 語法問題,smali 基本語法要懂,不然無法下手,反正就是邊學邊用,程式設計師基本都是如此;
3 第三方jar包,建議先瀏覽看看有哪些方法,然後進行全域性搜尋;
4 ASCII,遇到不要怕,因為這是可以轉成中文的,如果看不懂,記得轉成中文喔;
聯絡筆者:
感興趣的可以發郵件聯絡筆者:[email protected],特別註明:破解後的軟體不免費提供,請尊重智慧財產權。
附言:
非常感謝原破解作者,站在巨人肩膀,別忘記了繼續往上爬,不然,你還是沒有人家看的高,看的遠,與君共勉。