利用JNI调用Java工具类得到MAC地址

ileler 发布于 2015/03/31 08:37
阅读 437
收藏 0

Enumeration<NetworkInterface> nis = NetworkInterface.getNetworkInterfaces();
		while (nis.hasMoreElements()) {
			NetworkInterface ni = nis.nextElement();
			byte[] bs = ni.getHardwareAddress();
			if (ni != null && ni.isUp() && bs != null && bs.length == 6){
				StringBuffer sb = new StringBuffer();
				for (byte b : bs) {  
					//与11110000作按位与运算以便读取当前字节高4位  
					sb.append(Integer.toHexString((b & 240) >> 4));  
					//与00001111作按位与运算以便读取当前字节低4位  
					sb.append(Integer.toHexString(b & 15));  
					sb.append("-");  
				}  
				sb.deleteCharAt(sb.length() - 1);  
				System.out.println(sb.toString().toUpperCase());
			}
		}



求上面这段代码的JNI版本。JNI+C(不能用C++)实现调用Java的工具类得到MAC地址。。。由于某些原因、不能直接用C获得MAC地址、需要JNI实现调用Java工具类。求帮助~


加载中
0
shouyong
shouyong
该评论暂时无法显示,详情咨询 QQ 群:点此入群
shouyong
shouyong
回复 @notreami : 赞同!
notreami
notreami
回复 @kerwin612 : 这段被反编译又何妨?再说就算用jni,要修改代码,直接从java层改就可以了。
ileler
ileler
恩恩。我也想过。但是之所以用JNI。就是因为Java的class能被反编译。。所以这些必须要用C实现~求大神支招
0
麦麸子lee
麦麸子lee
该评论暂时无法显示,详情咨询 QQ 群:点此入群
shouyong
shouyong
回复 @kerwin612 : 关键字 IDA F5 反编译出来效果,基本接近源码级别(因为你大量的使用了jni)。
ileler
ileler
C反编译难度较大、反编译后的可读性也很差~
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部
返回顶部
顶部