爱黑武论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 22080|回复: 27

[安卓技术] 怎么去解开android apk程序破解和汉化

  [复制链接]
发表于 2010-1-9 11:15 | 显示全部楼层 |阅读模式

立即注册,加入爱黑武论坛的大家庭!爱黑武,爱上搞机生活!

您需要 登录 才可以下载或查看,没有账号?注册

x
转载自:ophone8
怎么去破解和汉化android的应用程序 apk。。

apk相当于windows的exe汉化和破解的过程是开发的逆向过程 。。
汉化还简单一点 只需要一些工具和小技巧,破解就真的是费脑里的事情。。
汉化需要将apk中的文件解出来 把所有资源文件 和Mainifest.xml 用Hex WORKSHOP这个可以查看16进制文件,通过过滤一些符号主要是“.”剩下的就是主要信息。。
然后把一些Text类的信息改成中文就ok。

这个步骤只能汉化小部分的信息,要完全或者深度汉化 不得不破解代码。。破解过程待续。。。
好,我又有点时间和兴趣继续来写写这个破解啦。。。
首先要把apk的class.dex dump出来
具体步骤:
1.用winrar或者winzip打开apk,直接拖出来。
2.用android sdk1.1版本以上的一个dexdump工具把class.dex文件dump成文本:
把刚才的class.dex文件放在和dexdump工具同目录 用命令窗口执行 :
dexdump.exe -d classes.dex > spk.dump.txt 9
意思是将classes.dex dump出来 形成一个txt文件。
下一步就要读懂这个txt文件了,先从header中可以看清楚这个应用的总体信息,有几个类,包括内部类 ,header只是了解概况。要详细去分析下面的每一个class才能真正理解这个软件的设计过程。最好的方法是一边研究里面的opcode一边打开api来查看里面调用到的类和方法,减少误解的机率。。
opcode就是介于高级编程语言和二进制代码之间的一层中间码,
operation code 叫操作码。读懂opcode主要是熟悉里面的逻辑跳转以及一些个别助记符的含义。。
通过opcode你就可以清晰的知道里面每个方法资源的调用过程和逻辑跳转过程。做过的例子都有点复杂,就不举例了。。当然,要破解整个apk最好是翻译opcode和应HexWorkShop查看资源文件相结合比较合理和轻松,尤其是ManiFest.xml这个文件,一定要看清楚里面的activity和service receiver,permissions 这几个部分的信息,这可能会成为整个破译流程的关键部分 。。。能够说的经验暂时就只有这么多,正着手写一个工具专门用来翻译opcode成java代码。。这是一个复杂的过程,普通的资源调用只需要匹配相关的文本就能翻译过来,但是一些复杂的跳转和个别特殊表达式需要费时费力去想想。。。

Android 软件安装程序(*.apk)的结构分析、反编译以及汉化
文章分类:移动开发
1/ apk文件结构:

Apk文件:

Android application package文件。每个要安装到OPhone平台的应用都要被编译打包为一个单独的文件,后缀名为.apk,其中包含了应用的二进制代码、资源、配置文件等。

apk文件实际是一个zip压缩包,可以通过解压缩工具解开。可以用zip解开*.apk文件,下面是一个helloword的apk示例文件

|– AndroidManifest.xml
|– META-INF
| |– CERT.RSA
| |– CERT.SF
| `– MANIFEST.MF
|– classes.dex
|– res
| |– drawable
| | `– icon.png
| `– layout
| `– main.xml
`– resources.arsc

2/ apk文件解压后反编译:

2.1 图片等多媒体文件:没有编译,无需反编译。

2.2 layout等二进制xml文件:使用AXMLPrinter将其转换为可读的xml文件:java -jar AXMLPrinter2.jar main.xml > new_main.xml
工具下载地址:http://code.google.com/p/android4me/downloads/list

2.3 class文件反编译:
Android模拟器中提供了一个dex文件的反编译工具,dexdump。用法为首先启动Android模拟器,把要查看的dex文件用adb push上传的模拟器中,然后通过adb shell登录,找到要查看的dex文件,执行dexdump xxx.dex。

目前在网上能找到的另一个dex文件的反编译工具是Dedexer。Dedexer可以读取dex格式的文件,生成一种类似于汇编语言的输出。这种输出与jasmin[ ]的输出相似,但包含的是Dalvik的字节码。

2.4 resources.arsc资源文件:参考汉化部分

3/ android 软件汉化
方案1:通过16进制编码软件自行替换英文
1.JDK(Java Development Kit) -开发环境
2.Auto-Sign -签名工具
3.Hex Workshop -十六进制编辑器
4.WinRAR -压缩软件
图文并茂示例:http://bbs.blueshow.net/thread-604533-1-1.html
方案2:通过汉化开发人员自行编写的汉化软件For Android
1.JDK(Java Development Kit) -开发环境
2.Android ResEdit-汉化软件
3.WinRAR -压缩软件
图文并茂示例:http://mobile.yesky.com/363/9292863.shtml
发表于 2010-5-23 15:04 | 显示全部楼层
支持
看看
大部分不明白
发表于 2010-5-25 10:07 | 显示全部楼层
木有看懂。。。。
发表于 2010-7-25 15:47 | 显示全部楼层
夏大高人啊,佩服!
发表于 2010-10-16 08:26 | 显示全部楼层
新手取分哦~~~~~~~~~~~~~~~~~~~~~~~
发表于 2010-12-8 21:32 | 显示全部楼层
佩服,佩服………
发表于 2010-12-16 01:43 | 显示全部楼层
跟上历史的潮流,强人LZ
发表于 2010-12-16 01:44 | 显示全部楼层
传说中的夏大只能仰望啊
发表于 2011-1-15 16:06 | 显示全部楼层
嗯嗯  学习了。。。。。
发表于 2011-1-22 14:12 | 显示全部楼层
需要努力学习啊。。。
 Hello,黑武的好机友!回复想偷个懒?点这里: 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|Archiver|手机版|爱黑武论坛 ( 京ICP备2023028323号 | 京公网安备11011202000270号 )

GMT+8, 2024-12-22 22:04 , Processed in 0.049999 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, ihei5.com

快速回复 返回顶部 返回列表