原出处 http://bbs.ophone8.net/thread-1393-1-1.html
怎么去破解和汉化android的应用程序 apk相当于windows的exe 汉化和破解的过程是开发的逆向过程 。。
汉化还简单一点只需要一些工具和小技巧,破解就真的是费脑里的事情。。
汉化需要将apk中的文件解出来 把所有资源文件 和Mainifest.xml 用Hex WORKSHOP这个可以查看16进制文件,通过过滤一些符号主要是“.” 剩下的就是主要信息。。然后把一些Text类的信息改成中文就ok。
这个步骤只能汉化小部分的信息,要完全或者深度汉化 不得不破解代码。。破解过程待续。。。8
好,我又有点时间和兴趣继续来写写这个破解啦。。。
首先要把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
意思是将classes.dex dump出来 形成一个txt文件。
下一步就要读懂这个txt文件了,先从header中可以看清楚这个应用的总体信息,有几个类,包括内部类 ,header只是了解概况。要详细去分析下面的每一个class才能真正理解这个软件的设计过程。最好的方法是一边研究里面的opcode一边打开api来查看里面调用到的类和方法,减少误解的机率。。
opcode就是介于高级编程语言和二进制代码之间的一层中间码,operation code 叫操作码。读懂opcode主要是熟悉里面的逻辑跳转以及一些个别助记符的含义。。;
通过opcode你就可以清晰的知道里面每个方法资源的调用过程和逻辑跳转过程。做过的例子都有点复杂,就不举例了。。当然,要破解整个apk最好是翻译opcode和应HexWorkShop查看资源文件相结合比较合理和轻松,尤其是ManiFest.xml这个文件,一定要看清楚里面的activity和servicereceiver,permissions 这几个部分的信息,这可能会成为整个破译流程的关键部分 。。。能够说的经验暂时就只有这么多,正着手写一个工具专门用来翻译opcode成java代码。。这是一个复杂的过程,普通的资源调用只需要匹配相关的文本就能翻译过来,但是一些复杂的跳转和个别特殊表达式需要费时费力去想想。。。