我在博客上发表一些我的Android学习心得,希望对大家能有帮助。
这一篇我们讲述一下在分析dex时候遇到类型转换,并附上java源码
1、介绍
由于读取dex文件放入的是一个byte数组,当我们对这个byte数组进行解析的时候,肯定会遇到一些类型转化的问题,下面就通过java源代码来解释一下这些类型转换 。
2、byte2int
byte[4]数组转化为int类型:
// 字节转换为十进制
public static int byte2int(byte[] res) {
int targets = (res[0] & 0xff) | ((res[1] << 8) & 0xff00) | ((res[2] << 24) >>> 8) | (res[3] << 24);
return targets;
}
3、byte2short
// 字节类型转化为短整型
public static short byte2Short(byte[] b) {
short s = 0;
short s0 = (short) (b[0] & 0xff);
short s1 = (short) (b[1] & 0xff);
s1 <<= 8;
s = (short) (s0 | s1);