ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:2.01MB ,
资源ID:7064563      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7064563.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(安卓软件AK编译反编译与汉化低级篇.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

安卓软件AK编译反编译与汉化低级篇.docx

1、安卓软件AK编译反编译与汉化低级篇来自安极论JU大神编辑APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式,将apk通过电脑或传入手机即可安装程序。apk文件实际是一个zip压缩包,可以通过解压缩工具解开*.apk文件。平时最常用的一款进程结束软件 Advanced Task killer 作为本次课程的教学软件!Advanceed Task killer 任务关闭程序1.9.5所需工具下载本帖隐藏的内容java环境包必装,否则无法打包解包dex文件和签名apk汉化工具包:首先用winrar压缩工具将apk压缩包内的文件

2、解压到一个文件夹内解压好,会得到如下图的几个文件和文件夹现在留意 META-INF 和 res这两个文件夹,还有AndroidManifest.xml,classes.dex和resources.arsc这3个文件,它们是每个软件都必须有的!assets可有可无,有的软件还有些其他的文件夹。各个文件夹文件详解:META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全在最后做APK签名会详细解析。res目录是存放资源文件的不同软件res目录的文件夹也不同,一般情况是:drawable(图片所在文件夹)drawable-hdpi(高分辨率图片所在文件夹)layout(界面布局x

3、ml文件所在文件夹)layout-hdpi(高分辨率界面布局xml文档所在文件夹)menu(一些菜单文件所在目录)raw(存放帮助类文档或其他资源的文件夹,如help.html;clock.zip)xml(其他一些xml文件所在目录)这款Advanced Task killer 软件就只有drawable,layout,xml这三个。drawable这个文件夹一般都是存放软件中的图片。有的软件要修改图片的,就要来这里找!一般游戏居多。软件很少有要修改图片的!其他几个文件夹存放的都是些XML文件了,这里面也会有要汉化的地方。xml的汉化我们会在第二讲中做详细讲解!AndroidManifest.

4、xml是主XML文件,是每个应用都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等等信息,这里面基本是没有要汉化的,但是极个别软件的软件名, 或是个别单词会存在于这个主XML中! classes.dex是java源码编译后生成的java字节码文件,通俗点就是整个软件的代码文件。如果当你汉化软件时,arsc和xml文件你都汉化了,但是软件中还有没汉到的,那就肯定在dex文件中了。第三讲会详细介绍dex的汉化!resources.arsc是编译后的二进制资源文件,是主要的资源文件,汉化时首先要看这个文件,最先汉化的也是这个文件!我们也是首先来学习arsc文件的汉化!apk安包内的文

5、件都有所了解了,那么下面开始学习arsc文件的汉化.本帖最后由 回归_Ju 于 2011-10-20 21:35 编辑 第二课 arsc文件汉化这一讲开始要正式学习android软件的汉化,先从arsc文件的汉化开始吧!以前的汉化都是通过修改16进制代码来汉化的,非常的繁琐麻烦,一个不小心出错了,就不能用了。现在随着时代的进步,工具也越来越多了,在这里推荐给新人和懒人最方便的汉化工具,汉化浪子的汉化狂人软件非常合适我们使用!上一课已经讲作为本次课程的教学软件Advanced Task killer !下面的arsc汉化包括xml和dex汉化都是用的这款软件以后不再做说明了。先打开汉化狂人软件,

6、然后用汉化狂人打开解压出来的resources.arsc文件,直接用鼠标将resources.arsc按住并且拖拽到汉化狂人的界面上即可!先来对文件进行一下分析,第1行开始到第12行,都是“res/”这个开头的,它们明显都不是单词或语句,不是我们要汉化的,其他软件也是如此,arsc文件中的“res/”开头的都排除掉,不光是开头的几行有,有的软件在一些要汉化的单词语句中间也会夹杂着“res/”开头的语句,这些一定都不要动!如下图:开始的我们排除了,那当我们看到一个大写字母开头的单词时,看看软件中是不是有这个单词,Kill这个单词是软件中有的,我们就从这开始吧,Kill在软件的设置中还有其他地方都

7、能看到。在汉化狂人中双击要汉化的单词,直接替换成中文或是点击界面下方的开始汉化,然后找到要汉单词,在输入中文的方框中输入中文,替换之前的英文,然后点击添加中文,该单词就汉化完毕了!(汉化狂人的使用方法在软件压缩包中附带,不会使用的请自己查看) Kill字面意思是杀死,致死,但我们不能这么汉啊,软件是个进程管理软件,所以这个kill应该是结束的意思吧,我们将其改成结束。后面的以此类推。软件中的很多单词都不能根据字面意思来汉化的,那样汉化出来的软件很搞笑,要根据具体的功能来判断如何翻译,这需要一个积累的过程,大家使用和汉化的软件多了,见到一些单词时,很自然的就了解它的意思了!我们一直往下汉,见到大

8、写字母开头的就可以汉化,但是有一点要注意,如果是整个单词全部都是大写字母的,例如刚才那个Kill,如果看到一个KILL,这就要注意一下了,除非软件中有出现这个单词,否则不要汉它!还有一个情况,就是在汉化过程中带有特殊符号的不要去汉它,例如要是出现一个kill_name_XX这样的,这种也一定不要去汉。具体的情况还有很多,大家就要具体情况具体分析,反正刚开始学习汉化,根据软件中能看到的单词和语句来汉化就肯定不会出错了!我们一直往下汉,当看到attr这个单词时就截止,从attr往后的就不是要汉化的了,基本每个软件都是如此。也就是说,arsc汉化,只汉化中间的一部分,开头“res/”那些不要汉,后面

9、attr往后的不要汉,只取中间部分!这里还要注意一点,有的时候,attr这个单词前面还有一些不是大写字母开头的,例如什么name_xx这样的,他们看起来会比较规律,都不是大写字母开头,都有下划线,都有符号,这样的不要汉,它们是用来定义函数的字符串。汉化好arsc,点击保存汉化,将汉化好的arsc文件替换原来压缩包中的arsc即可!好了,arsc的汉化基本就是这些内容了,它是android汉化中最简单的一个,用汉化狂人一会儿就能搞定。本帖最后由 回归_Ju 于 2011-10-20 21:34 编辑 第三课 xml文件汉化在第二讲中,我们学习了arsc文件的汉化,这一讲,我们开始android软

10、件汉化的第二步,xml文件的汉化,xml的汉化和arsc的汉化有些雷同,也还是使用汉化狂人来进行简单的翻译! 首先,我们要先来了解一下xml文件。xml文件都放在软件的res文件夹下,具体每个文件夹的作用,在第一讲中已经做了说明,这里就不多说了。打开res下的文件夹,会看到很多xml文件,如果了解一点编程的朋友,很容易就会知道每个xml文件的文件名意思。这样你就很容易知道每个xml文件的定义,也就能快速找到要汉的文件。那对于不懂这些的新人,那就只能坚持一下,把每个xml都用汉化狂人打开看看,从中寻找要汉化的地方吧!其实掌握了技巧,就算一个一个看,也是很快的。我们先用汉化狂人打开其中一个xml文

11、件(如下图),我们要对每行进行一下分析如图所示,按我们之前汉化arsc的经验来看,我们只要汉大写字母开头的单词或语句就好了,这样的话,我们就排除了很多地方。layout_height这种,小写字母开头,还有下划线的,不用汉。text这种,单独的一个小写字母开头的单词,也不用去汉。只有当软件中看到有个别单词是小写开头时,XML中又有这个单词,联系上下文,觉得确实是那个单词,就可以汉了,这种情况很少出现的。http:/。像这种一开始就是网址的,也不用去修改它,除非是关于或帮助信息里的网站地址,并且有上下文,和软件中的信息一致的,那可以根据情况来修改。ListView这种,两个或多个首字母大写的单词

12、连在一起的,也不用汉它。Button这个是个例外,他是定义软件中的按钮的,虽然符合首字母大写,也是个单词,但是不要汉它,软件中一般也不会出现这个单词。通过上面的分析,我们可以很轻松的发现这个xml中没有要汉的,那我们继续看看其他的,以此类推。很多朋友可能发现了,这个软件的xml中怎么都没有要汉的啊,别着急,xml有时就是这样,看着一个文件很大,但是可能没有一个单词要汉,或是就一个单词要汉,也可能看着一个文件很小,但里面有很多要汉的地方。我们再往下找,当看到settings.xml这个文件时,终于找到要汉化的了。这里看该xml的文件名,我们就能看出这个文件是定义软件设置的,手机上看看软件的设置项

13、,果然设置项还有没汉到的地方。上面这两个地方,就是设置中的,用汉化狂人看看这个settings.xml,很快我们就发现我们要汉化的地方了。图中红框中的两处,正是我们要汉化的地方,其他的地方,根据前面的介绍,都被排除了!pixel这个单词正式我们上面提到的例外之处,它虽然是小写的,但是软件中有这个单词,联系上下文,这个单词也确实是设置中的那个,所以就是要汉的地方了。 通过这个例子说明,汉化其实也不是一个固定模式不变的,汉化的过程的也是个积累的过程,你会发现很多特殊的地方,积累多了,你就会很快找到哪些是要汉的,哪些是不要汉的。汉化好以后,保存汉化,然后替换原文件吧!好了,关于XML的汉化就是这些了

14、,通过对arsc和xml的汉化,整个软件也基本快汉化完成了,软件中剩余的有英文的地方,一般就都在dex文件中了!这在下讲我们就开始学习!本帖最后由 回归_Ju 于 2011-10-20 21:34 编辑 第四课 dex文件汉化前面我们已经汉化好了arsc和xml文件,这一讲,我们就要开始学习最麻烦的dex文件汉化了。其实dex的汉化并不是难,主要是要仔细!一不小心汉到了不该汉的,就可能导致dex文件打包失败,或是软件无法使用!首先,要对DEX文件进行汉化,就需要先对dex进行反编译,也就是解包dex文件。把需要反编译的classes.dex文件放到Xtemp目录下,如图然后按住classes.

15、dex拖拽到dex.bat上,按“1”,就会自动解包了,等出现如图内容时,就说明解包成功。上述是在windows7系统下的操作,xp用户的操作略有不同,xp用户请在C盘根目录下创建一个android目录,将xp版本的dex解包工具Xtemp文件夹放到android目录下,如下图,然后将classes.dex拖到undex.bat上就可以解包了。解包完成,就会在Xtemp目录下看到一个新生成的classes文件夹,这个就是反编译后解包的文件所存放的目录。打开classes文件夹的下级目录,我们会看到很多.smali后缀的文件,这些以.smali为后缀的文件就是反编译后的文件了,也就是我们要汉化修

16、改的文件。很多人要郁闷了,打开文件夹一看,好多.smali文件啊,几十个,其实这都是少的,有的大软件,都有上百个.smali文件,那就更郁闷了!.smali文件其实就是文本文件,用普通的记事本就能打开,但是自带的记事本软件来编辑这么多文件,肯定是不行的,累都累死了,所以我们来使用强悍的Notepad+文本编辑软件!Notepad+支持批量搜索文件夹内所有的文件内容,不需要一个文件一个文件的去搜索,大大降低了工作量!我们用Notepad+打开一个.smali文件,都是程序代码,看着都晕,这哪个是要汉的呢?对于懂点编程的人就不会太难了,可以根据文件名和代码去找,那对于不懂编程的怎么办呢,其实也很简

17、单的。我们之前说了,android软件的汉化最好是按顺序来,先汉化arsc文件,然后来汉化xml文件,最后才是dex文件,当我们汉化好arsc和xml后,先将软件打包,然后安装上,这时软件中没有汉化到的还显示英文的地方一般就在dex文件中了!通过我们前面的汉化,我们会发现,在汉化了arsc和xml后,还有些地方是英文的,例如下面两图中的Setting,Help,Info和Available Memory:,这4个地方都还是英文,下拉通知栏,里面也还有一些英文,这些没汉到的地方,就基本上就在dex文件里了!现在我们就开始来找到并汉化这些漏网之鱼吧!首先打开Notepad+,然后选择上方菜单栏中的

18、“搜索”,选择“在文件中查找”,然后点击“目录”后面的小按钮,找到classes目录,并选择它!然后在“查找目标”后面的输入框中输入你要查找的单词,如这里我们要查找Setting,就输入它,然后点击右边的“全部查找”,稍等一会,就会为你搜索到全部文件中的Setting。这时,我们会看到很多地方包含Setting,哪个是要汉化的呢?其实很简单,我们只需看一个关键词,那就是“const-string ”,我们只汉化“const-string ”后面的,也就是说,我们只修改const-string vX “XXX” 中两个“”双引号中间的XXX部分,其他不要动!双击下面搜索到的“const-stri

19、ng ”后的Setting,然后就会在上面跳转到该项,我们就可对其进行修改后面的就依照这个办法,看看哪个没汉的就搜哪个,虽然有点麻烦,但是不容易出错,对于新手还是比较适合的。如果你日后熟练了,也可以直接搜索const-string来查找要汉的,要汉化的内容肯定是跟在const-string后的,但是要注意,const-string后面的不一定是要汉化的!这里有点饶舌,看看下面截图就明白了。这搜索到的都是些不需要汉的,类似这样的还有很多,虽然都是跟在const-string后面的,但是要汉化的其实不是很多,不过这个也是要根据不同软件来看。具体的排除技巧,和汉化arsc还有xml时提到的注意事项一

20、样!那些小技巧很多也都适用于dex的汉化排除。我们一直往下找,在后面是不是看到了要汉化的地方,很明显,图中的这四个红框处就是软件中没汉到的地方,按我们汉第一个设置的的办法,把其他都搞定吧。这里其实有个小窍门,就是大家在汉化dex时,会发现很多要汉化的地方都是连在一起的,中间间隔不会很远,比如,软件设置中的一些要汉化的地方在一个文件中,而且都还在一起,有联系的。这个就要通过不断的汉化来积累经验了!好了,把没汉到的地方都搜索到,并汉化了,保存好后,就可以打包dex了。打包dex时,只需将classes文件夹拖到dex.bat上,然后按2,就开始打包了当出现命令行中的提示时,说明打包成功,并在xte

21、mp文件夹下生成一个新的out.dex文件,只需重命名为classes.dex替换原文件即可。Xp下的用户在打包dex时,请将classes文件夹拖拽到redex.bat上,出现如下界面时说明打包成功,并会在同目录下创建一个out.dex文件,只需重命名为classes.dex替换原文件即可。这里注意,如果你汉化dex时有汉错或是把不该汉的地方汉化了的情况时,就有可能打包失败,或是在使用软件时出现错误!dex的汉化内容就是这些,汉化是个细心的活,大家要多练习,多积累经验,当你汉化的软件多了,很轻松就会知道哪些需要汉,哪些不要汉,对于你了解软件的结构,也有一定帮助!本帖最后由 回归_Ju 于 2

22、011-10-20 21:34 编辑 第五课 打包签名我们已经将软件的arsc,xml和dex文件汉化完成了!下面就需要重新打包签名安装了。首先,找到原版的apk文件,然后用winrar打开它,将你已经汉化好的arsc,xml和dex文件按照原文件目录替换到压缩包内,简单的说,就是将汉好的文件拖到原版的压缩包内就OK了,这里要注意,汉化好的xml一定要放到原文件所在的目录下哦!不是乱放的。替换好以后,还要把apk文件中原有的签名删掉,它们在META-INF文件夹下,将CERT.RSA和CERT.SF这两个文件删掉。然后将替换好汉化文件和去掉旧签名的apk文件放在Auto-sign文件夹下,按住apk文件,拖拽到Sign.Bat上,就开始打包了。出现如下提示时,说明签名成功!签名成功后即可将软件安装到手机上了!Xp下的用户,也和windows7一样,前面的步骤都一样,最后一步签名时,是将apk文件拖放到Sign.bat上,就可以了!看到图中提示就说明签名成功,而且在文件夹下会新建一个apk文件,那个新的就是签名后的,接着就可以安装了!汉化教程到此!欢迎大家学习!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1