本来不想写这个东西的。但是这个却费了我一番周折。
我要先声明一点的是,我从来不讲iOS当成一个单独的系统,而是将这个操作系统归位unix内核的系统。
简单来说,我把它当成linux在用。
但是,mac系统的默认字符并不是utf-8;所以我们是无法使用记事本简单的打开.class文件。
会出现如下提示:
其实我的第一想法是打开/etc/profile将编码调成utif-8;但是这个时候,我发现,苹果很多系统配置文件和linux是不一样的。不光很多文件的所在文件夹不一样,同名文件的功能也有很大的区别(好吧,我感觉我又要开一个系列来讲一下unix相关系统)。这个文件虽然在这个地方,而且当我打开过后,这个文档的代码如下;
# System-wide .profile for sh(1) if [ -x /usr/libexec/path_helper ]; then eval `/usr/libexec/path_helper -s` fi if [ "${BASH-no}" != "no" ]; then [ -r /etc/bashrc ] && . /etc/bashrc fi
我也去引用的文件看了,但是限于本人bash能力不够。没能搞懂T T。
然后我就想到了用vim打开,当然打开仍然是乱码。注意,我的目标并不是得到一个由字符组成的文件,而是。class的十六进制所表示的文件!!
所以我先用 vim -b XXX.class
先用二进制表示将class文件打开。
然后在vim内调用
:%!xxd
然后就会出现以下内容:
看到第一个4字节的magic number是cafebabe。这就是.class文件的开头了。至于为什么是cafebabe
看看java的图标吧!