分享

3434

 edwinningb 2012-05-25
么去破解和汉化android的应用程序 apk。。 $ ]: l1 k; n  {0 w  `
" o% l5 w; h" H- g' F
apk相当于windows的exe  汉化和破解的过程是开发的逆向过程 。。汉化还简单一点 只需要一些工具和小技巧,破解就真的是费脑里的事情。。 7 U( f5 P7 f) \& S3 Z

汉化需要将apk中的文件解出来 把所有资源文件 和Mainifest.xml 用Hex WORKSHOP这个可以查看16进制文件,通过过滤一些符号主要是“.”  剩下的就是主要信息。。然后把一些Text类的信息改成中文就ok。 
6 U$ E  M- h- e/ [! M9 I) r
这个步骤只能汉化小部分的信息,要完全或者深度汉化 不得不破解代码。。破解过程待续。。。
+ R) Z8 _- v: |, U
好,我又有点时间和兴趣继续来写写这个破解啦。。。
' m: w$ G. X' w( k# S
首先要把apk的class.dex dump出来、 :) w; q  D$ k* }) o' S3 y) I( a! I9 ^
具体步骤:1.用winrar或者winzip打开apk,直接拖出来。$ J9 J: E5 m: P' ~& I
          2.用android sdk1.1版本以上的一个dexdump工具把class.dex文件dump成文本:
            把刚才的class.dex文件放在和dexdump工具同目录 用命令窗口执行 :
            dexdump.exe -d classes.dex > spk.dump.txt 
            意思是将classes.dex dump出来 形成一个txt文件。
            6 X: l9 o: O7 g  R0 L
            下一步就要读懂这个txt文件了,先从header中可以看清楚这个应用的总体信息,有几个类,包括内部类 ,header只是了解概况。要详细去分析下面的每一个class才能真正理解这个软件的设计过程。最好的方法是一边研究里面的opcode一边打开api来查看里面调用到的类和方法,减少误解的机率。。
             opcode就是介于高级编程语言和二进制代码之间的一层中间码,operation   I3 b+ b2 f3 a3 z3 R  j$ @
code 叫操作码。读懂opcode主要是熟悉里面的逻辑跳转以及一些个别助记符的含义。。
             通过opcode你就可以清晰的知道里面每个方法资源的调用过程和逻辑跳转过程。做过的例子都有点复杂,就不举例了。。当然,要破解整个apk最好是翻译opcode和应HexWorkShop查看资源文件相结合比较合理和轻松,尤其是ManiFest.xml这个文件,一定要看清楚里面的activity和service receiver,permissions 这几个部分的信息,这可能会成为整个破译流程的关键部分 。。。能够说的经验暂时就只有这么多,正着手写一个工具专门用来翻译opcode成java代码。。这是一个复杂的过程,普通的资源调用只需要匹配相关的文本就能翻译过来,但是一些复杂的跳转和个别特殊表达式需要费时费力去想想。。。

声明: 本站部分文章转载仅为传递信息方便及交流探讨,并不代表本站同意其观点或证实内容真实性,文章仅供参考。部分文章经多次转载已无法查询版权出处,如有侵犯您的权利,请及时联系OMS8@qq.com处理。软件下载版权声明请参考 软件发布版权声明
如何下载软件及保存为APK软件
10
 游客 发表于 2010-12-16 18:12
求助:我的 debug.keystore文件丢了做不了升级怎么办?
9
 游客 发表于 2010-12-16 18:12
求助:我的 debug.keystore文件丢了做不了升级怎么办?
8
 游客 发表于 2010-12-16 18:12
求助:我的 debug.keystore文件丢了做不了升级怎么办?
7
 游客 发表于 2010-3-30 09:43
回复 2# surwscl 
网上去找
O币
539 个 
帖子
217 
6
 longtie 发表于 2009-12-30 13:02 |只看该作者
真是多谢这位达人啦
悠然自得
5
 游客 发表于 2009-9-9 17:09
O币
4413 个 
帖子
2873 
4
 ophone 发表于 2009-5-28 12:30 |只看该作者
文章原创:Nikey(达达) 技术来源:Xdan (蛋蛋) 

汉化环境要求:已安装JAVA工具(未安装的请到http://www./zh_CN/下载JAVA工具安装) - ^/ I. p5 o  d  f; h; X- x  M
或者NET Framework 2.0(下载地址http://dl.pconline.com.cn/html_2/1/82/id=10637&pn=0.html) 

4 t0 Z2 q7 s* s  v; S( u# H5 r
测试工具:Android模拟器,或者直接在手机上安装测试 
  m( }  f: \4 @: c5 _, c
第一步: # q  P* b# A1 P# N0 e6 `4 b7 F2 Y; c
找到要汉化的apk软件 ' b: @; s6 T. `' M. ~
以名为Astro的文件管理备份软件为例 0 G; n2 @5 W" ?) N2 ?) _

 ) R, }" |& z0 O; O

双击文件,选择用WinRAR打开 

 

 
8 ^( \$ |; Q/ e$ c
软件的字符一般存在在下面三个文件里,一般来说我们首先习惯性的提取resources.arsc里的字符 

 
# a! s0 m+ g+ w; u
第二步: 
将resources.arsc提取出来 " M3 {& e. A: u6 k* @' m( P
1 g, Q- A: C6 g1 H; q% _
 
3 \1 R# k  e! L9 T
在resources.arsc上单击右键用Hex Workshop打开 
; v. R+ Y1 I! ?- \3 d
 
3 ?5 j1 w) G# [0 ~: T2 ?
出现以下界面 2 K* U1 G) u% g1 |8 l# Z
; `/ K8 z; f, a" i
 $ H* T+ B! z  W+ r7 R  L, q% e
3 t* X* a. ~  T6 ^
将所有字符全选,复制所有字符 
) P, V2 t0 Z2 r
 
7 L; E/ ]- D) V" z0 z/ k
第三步: 

新建一个文本文档   o$ ^! p4 f, Z& a$ m7 E, U" z

 
将字符粘贴进去,如下 
3 K6 u" b+ N0 i* t) y! g" Q
 

这样的字符是非可读的,我们需要将他转换成可读的,也就是英文单词,我们才能对其进行汉化。在菜单栏点击编辑,选择替换,如下 8 w2 K' c% i3 p1 M# a0 {" B1 R
5 J) z- n# d9 e9 U
 
( m/ T; Y3 a$ h& e/ }- H, M
在替换内容一栏输入“.”,替换为留空,点击全部替换 

 
# o7 A- w. B$ z' _, t; X$ u% @
第四步 / U4 p" K: b& o& l0 d
替换后得到如下字符,如下 , Y9 e8 G4 t! g4 J" A
: W1 N4 h( q7 H: Y7 I
 ! d8 z3 @; E- Y0 \, u
' {  g$ |+ m4 \+ L9 B
图中一些带“_”和“/”的字符大多没用,可以删掉 / E7 m" z. C6 @, Y0 n
. `; E* i% l/ m! W
 

 
: s& d% K( U# V
删除后留着这些,然后就看你的眼力了,将剩下的英语分段整理出来 
) I# w8 t2 ]4 L# V) {$ E1 R1 \+ w( v
 " U; c; o6 g! K+ c, ?; H" a! [; y
% g6 A5 }0 H; D( w
整理后如下 4 M# p! H% L8 s5 ]5 ?, P% o% D

 : \5 i0 |3 K0 ^; t) u; Q. F
) F/ Z4 M9 e# ]7 g
 
# T0 `8 \, G5 d
; ~, G" k* U5 C7 B4 B1 c
第五步: 

然后就可以对这其中的单词和句子进行汉化了 
可以用Google翻译来辅助,但是请不要照搬,那样汉化的句子和词会显得不人性化,让人有种英式中文的感觉,而且大多数英文单词一次多意,所以请酌情翻译。
 
; v4 d4 q" I6 L, \4 |. _
第六步: * u# @: h) q6 J: U' U
将这些全部翻译完之后就可以用Hex Workshop打开resources.arsc进行字符替换了 
用Hex Workshop打开resources.arsc进行替换了 + \1 G8 I  U: }  o0 u0 b! k
在查找输入英文字符,替换选择翻译好了的字体,选项设置如图 

 
点击确定 


 ' T9 B$ x- m. i" P- B+ ~" Q

选择替换,这里要注意,有些字符可能要重复,比如“Choose a font size”和“Font Size”中的Font Size 就重复了,所以替换的时候要注意右边选框中的字符 
( A5 A2 \- J/ f
 % {: `. w$ Q% {  B- d

第七步:
 
字符全部替换好之后,将已经修改过的resources.arsc替换进astro.apk,同时删除apk文件里META-INF下的METAGO_K.SF和METAGO_K.RSA,不然此apk文件将无法签名,导致无法安装。" I. }" }$ I0 f' Y+ {
. a6 D( B' D$ a% `& E$ P
  T% d1 N! V  q

 9 d  M0 ^  D. y7 _9 k6 \

 

 
* w/ W! b3 r2 w$ M/ D0 b& l& V/ O
第八步: 4 C  y1 r' @3 e$ n
签名 % L9 p6 J4 h1 S2 V  F
将已修改的astro.apk移到解压的签名包Auto-sign文件夹里 ' E$ M1 V: U+ T# _$ i, K

 , b, N& ~+ Q' W, M/ T. L5 }& U' I
( r5 |- E2 d7 M0 g
对着Sign点鼠标右键,单击编辑 . d+ V1 s+ @' g) E- O) E9 o
- X: r% g5 n; ~9 U
 ; X1 d) t2 v' E% p) N
! Y5 k4 @% ?0 D) c: j7 z" ?
将下面一段文字修改如下 
# {4 z( Z" l7 J$ x
 
修改完保存,然后运行Sign 5 T& [8 N, |6 p2 m$ Q

 3 a0 C8 n6 }; Q; o8 t
即出现了已签名的apk文件,文件名为nikey.apk 
, K3 y" X' D- j, t1 |0 F
 

第九步: 
然后就在手机或模拟器上测试可以安装了,效果如下 . T+ u8 z; S7 J& `* G' C

 , f( F, Y% o- w/ j- t* Y- x$ J9 k7 |8 p

 
8 \0 x1 \" ?3 R  \
 3 E" b4 N- Z3 F+ v
' q6 `, X5 W$ I  ^# z* d
 6 T& @% h& |% S; d

O币
4413 个 
帖子
2873 
3
 ophone 发表于 2009-5-28 12:29 |只看该作者
$ E. T! M: [/ ~' S' Q: D+ C

apk汉化工具Hex Workshop . p2 B) v" o9 K: `/ ^3 k( X0 G
, u+ o& M; B8 e% P% R

定制APK签名方法auto-sign 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多