爲了向經典的"Hello, World"致敬,咱們也從一個簡單的程序開始HelloWorld.apk。當你把這個APK安裝到手機上運行後,在屏幕上就顯示一行文字"Hello, World!"。如今咱們想要經過注入的方式把」Hello World~!」修改成中文的」你好世界」。html
1.反編譯android
Dos命令提示行 輸入 apktool.bat d HelloWorld.apksegmentfault
這條命令運行完後,在當前目錄下會生成一個名爲HelloActivity的目錄。
該目錄的結構爲(名稱後跟/表示這是一個目錄):編輯器
HelloWorld/
|--------------AndroidManifest.xml
|--------------apktool.yml
|--------------res/
|--------------smali/學習
2.代碼注入加密
打開 smaili目錄找到須要注入的代碼,MainActivity.smali。用文本編輯器打開該文件。搜索關鍵字」Hello World」找到代碼spa
修改成」你好世界」。(這裏咱們也能夠插入咱們的代碼,感興趣的朋友能夠學習下 smali語法:http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html)命令行
3.從新打包生成1.APKcode
保存文件。命令行 apktool.bat b HelloWorld 1.apk 生成APK文件。xml
4.給新生成的apk文件簽名
因爲咱們從新打包的apk文件,簽名已經丟失,因此咱們要從新簽名,應用才能被安裝。 這裏咱們用到了jdk/bin/jarsigner.exe。
命令行輸入jarsigner -keystore E:\keystore\1.keystore -storepass 123123 -verbose 1.apk zs.keystore
說明 jarsigner -keystore [簽名文件路徑] -storepass [密碼] -verbose [須要簽名文件路徑] [簽名文件別名]
5.刪除手機上原有的HelloWorld,從新安裝咱們修改後的apk文件。
更多內容,期待您的探索,請關注愛加密,讓您精彩不斷!
愛加密官方地址:http://www.ijiami.cn/