關於Android軟件破解的經驗總結

android軟件破解的工具:
smali.jar——google官方提供,主要作用是把smali文件打包成class.dex文件
baksmali.jar——google官方提供,主要作用是把*.odex文件反編譯爲smali文件
apktool.jar——第三方提供?用於解析*.apk文件,生成smali文件和解析資源文件
signapk.jar——apk簽名工具
ddms——ADT中的一個調試工具


破解工具的使用方法:
http://sin90lzc.iteye.com/blog/1198173


除了這些破解工具之外,還需要對smali語法有一定的瞭解。下面的網址對smali的語法有詳細的說明:
http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html


最後,最好對Android的應用開發有一定的瞭解,至少對Android的四大組件有深刻的認識:Activity,Service,ContentProvider,BroadcastReceiver


Android應用程序在某些機器上不能運行、崩潰的原因不外乎以下幾點:
原因一:該應用程序需要依賴於生產廠商的框架(像三星,它對android的framework做過大量的修改)
錯誤提示:找不到field,找不到對應的方法,找不到相應的類
解決途徑:
1.在smali中嘗試屏蔽掉相應的field,method,或類的調用,然後進行大量測試,確保不影響正常使用
2.反編譯framework,找到缺少的field,method,類的相應smali文件,根據smali文件編寫java源碼。(當smali文件比較小的時候,這個方法纔可行,否則儘量避免用這種方法)
3.實在無招的情況下,只能把第三方的framework的smali文件複製到自己的framework裏面(非常槽糕的方法)。
4.對於應用程序需要依賴第三方低層的功能實現時,而我們的低層卻沒有這樣的功能
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章