android-apk文件之偷梁换柱

一、首先搭建jdk环境。(这里下载)

下载完后,点击安装。然后设置运行环境参数:

用鼠标右击“我的电脑”->属性->高级->环境变量
系统变量->新建->变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0
系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;(若已经有Path项,无须另外新建,直接在后面加,但需用;与前面已有的项分隔开)
系统变量->新建->变量名:CLASSPATH 变量值:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
最后测试下环境变量是否设置成功

点开始菜单-运行-在这里输入cmd-回车-输入javac

1.如果出现如下信息:

用法:javac <选项> <源文件>
其中,可能的选项包括:
。。。。。。

恭喜,你的Java环境变量配置成功了!

2.如果出现:

'javac' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

说明这Java环境变量配置出错了,仔细检查下吧!

二、APKTools工具包(里面包含:APKTools反编译工具、APKSign签名工具)。下载Notepad代码编辑器(可以修改smali和xml文件)。

在修改之前首先对APK文件内部结构有个了解:

AndroidManifest.xml  程序全局配置文件
classes.dex  这是Dalvik字节码
resources.arsc  编译后的二进制资源文件
META-INF\  该目录下存放的是签名信息
res\  该目录存放资源文件
assets\  该目录可以存放一些配置文件

对应这些文件和目录做些基本的注释和介绍:

• AndroidManifest.xml
该文件是每个应用程序都必须定义和包含的文件,它描述了应用程序的名字、版本、权限、引用的库文件等等信息。需要解包后才能加以阅读。
• classes.dex文件
classes.dex是java源码编译后生成的java字节码文件。dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。
• resources.arsc
编译后的二进制资源文件。
• META-INF目录
META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码, 或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系统的安全。
• res目录
res目录存放资源文件。包括图片,字符串等等。
解包后,几乎所有可能的修改和编辑工作基本都在这里。
• assets目录
assets目录可以存放一些配置文件,这些文件的内容在程序运行过程中可以通过相关的API获得。

具体修改网上有介绍!

你可能感兴趣的:(java,eclipse,jdk,Path,工具,反编译工具)