admin 管理员组文章数量: 1184232
2024年4月20日发(作者:什么是随机数字表)
[教程] Android程序(.apk)汉化教程之汉化
Android, dex, apk, classes, 教程
本帖最后由 s.p.k 于 2010-9-7 14:24 编辑
是程序编译后的[程序名].java文件。
其中包含了软件所有activity编译后的代码。
JesusFreke写了一个反编译dex文件的java程序,并发布在google code上
/p/smali/ 我们可以去下载和最新版
dex解包
程序需要java环境,下载JDK或者JRE已经安装的请跳过
解包dex:
java -jar %1 -o classes
打包dex:
java -jar classes
两个jar程序和上面操作使用的批处理都在压缩包内..点击下载(内含和
v1.1版)..
把需要反编译的文件和两个jar放在同一目录下,拖动dex到 “解包.bat”,
之后会在同目录生成”classes”文件夹
打开classes文件夹看看(以twigee为例)
路径为*classesticetwitterwalk里头有很多以.smali为后缀的文件
他们就是反编译后的程序,也就是我们要修改的文件
这些文件通常有几十个甚至几百个,数量惊人(.smali文件数量=程序原activity数量),
不知从何下手吗?
用最简单的记事本打开看看吧~
没错,他们就是纯文本文件,是不是眼前一片明朗了呢?
不过对于大量的文件,window自带滴记事本是绝对应对不了的。
接下来就轮到大杀器Notepad++登场了~
Notepad++支持文件夹内批量搜索文本,而且速度超快,这就是要用他的原因了。
打开Notepad++ 按Ctrl+F 选择“文件查找”选项卡,就可以批量搜索了
那么如何知道要修改些什么呢?
首先我们来分析那一大堆.smali文件
和xml一样,作者很明确的表明了每个activity的作用
和分析xml一样地分析smali文件,想一想你要找的资源会出现在activity,但是要做的
这点对于不是学程序的人真的很难。
简单方法当然有,那就是批量搜索!
我们汉化的顺序是先arsc再xml,最后才会到dex中寻找资源
再汉化完前两者之后,最好先上机测试下,看看有还有哪些资源没有被汉化,而这些没有
被你汉化到的资源,就藏在dex中了。
也就是说,汉化dex中资源的目标是确切的,你可以在运行软件后记录下还没被汉化的地
方,然后逐个寻找,替换。
具体实例:
我再把Twigee的arsc和xml汉化完之后,还有些资源没被汉到
分别是:“Following”“Follower”“Home”等
用Notepad++搜索“Follow”
(点击图片放大)
下面出现了好多结果„.
我们找要的是const-string vn “关键字”
把英文改了吧~不过修改完是乱码„
没关系,那是编码问题,选择 格式→转为UTF8就可以显示了,不过千万要记得保存前要
改回ANSI !!
注意:1.只能修改const-string vn “关键字” 引号中的字符
2.同时出现多个重复的关键字时,请谨慎修改,有些可能是定义函数的 具体参考
/p/smali/source/browse/#svn/dalvik-docs/opcodes
3.千万记得保存时的文本编码为ANSI
dex打包
注意:打包前请确定classes 文件夹下没有其他无用文件,如notepad++的备份文件
拖动“classes”文件夹到 “打包.bat”,之后会在同目录生成””文件,它就是
重新编译后的了
就此,dex汉化完成
在完成arsc xml dex的分别汉化之后
我们进入最后的收尾步骤——打包&签名
打包 首先我们得先找到原来的那个APK包,别告诉我你已经删了„.
1.用winrar打开它,把你汉化完成的arsc,xml,dex文件按照原目录替换,也就是用鼠
标拖进winrar去
2.删除META-INF文件夹,里面是原来的证书文件,删除后才能正确签名
3.关闭winrar窗口
签名 1.把修改后的APK包重命名为 放到Auto-Sign目录下 下载Auto-Sign
(需要java环境)
2.拖动到签名,在同目录生成,这就是签名后
的APK包
签名后程序为何不能安装?
1.如果提示证书错误,请删除英文原版程序后安装。
2.如果提示无法安装,请检查汉化过程中有没有修改到程序定义或函数的环节。
3.如果安装后无法运行或各种报错,请检查汉化过程中有没有修改到程序定义或函数的环
节。
版权声明:本文标题:classes.dex汉化 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1713553745a640460.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论