close

SmaliTranslate

這個程式是我在中文化Vignette的時候想到的,目的是將所有的smali檔案中的常數字串抓出來

統一放在一個文字檔中,之後就直接翻譯該文字檔,翻完後可再利用該程式將翻譯檔寫回smali檔

然後就可以用DoAPK去產生apk檔~~

 

apk的中文化大概有三個地方

1.xml檔 - 這可以直接改

2.smali檔 - 這是反編譯之後產生的檔案

3.圖檔 - 這得用PhotoShop之類的工具來改

 

這裡針對的是smali檔的修改

第一步,先用DoAPK將apk檔反編譯

apk檔案位置:d:\temp\Vignette\Vignette v2011.03.16.6.apk

反編譯存放目錄:d:\temp\Vignette

doApk.png

反編譯成功後會產生 d:\temp\Vignette\vignet~1.apk.decode\

 

第二步,改動 SmaliToolsV1.3.jar,使用下指命

start javaw -Dfile.encoding=utf-8 -jar SmaliToolsV1.3.jar

smali檔的位置:d:\temp\Vignette\vignet~1.apk.decode\smali   ( 這裡要到\smali )

翻譯檔輸出位置:D:\temp\Vignette\strings.txt

開頭為大寫,選取後字串只會抓取字串開頭第一個字元為「大寫」、「數字」、「空白」、「<」,這四種,不勾就抓取全部的字串!

然後就可輸出翻譯檔了。

SmaliTranslate  

 

第3步,就是翻譯啦~~這裡的用法有兩種

1.直接覆蓋

原本的字串(開頭的#表示該字串不進行替換,cj.smali是檔案名稱,200是指第200行,Zoom就是要翻譯的字串)

#cj.smali--200--"Zoom"    直接把Zoom替換掉!!

#cj.smali--200--"縮放"

2.加在原字串後面 (我都用這個)

#cj.smali--200--"Zoom"--"縮放"

這裡得記得把最前面的#給拿掉才有效!!

strings.png

翻譯完後就可以進行第四步,在SmaliToolsV1.3.jar的

翻譯檔輸入檔位置:D:\temp\Vignette\strings.txt

點「套用翻譯檔」就可以把翻譯過的字串都寫回去smali檔中!

 

第五步,用DoAPK

選擇反編譯文件目錄:d:\temp\Vignette\vignet~1.apk.decode\

存放APK文件的目錄:d:\temp\Vignette\newApk

點「編譯為APK文件」,成功的話就會產apk檔

d:\temp\Vignette\newApk\vignet~1.dec.apk_signed.apk

 

註:

1.翻譯檔必須使用UTF-8編碼

arrow
arrow
    全站熱搜

    Kirk 發表在 痞客邦 留言(11) 人氣()