|
|
|
JAVA应用简单破解--类库提前加载http://www.sina.com.cn 2007年09月14日 09:45 赛迪网
来源:赛迪网 作者:dxaw 在JAVA运行的时加载jar包类库 要是有相同的包路径,相同的类名字出现,那么JVM是否 会报告错误呢? 当然不会! JVM只会加载最早的出现的CLASS 首先JVM会加载 自己默认的包 然后加载 EXT目录下面的所有JAR 再到 classpath 那么 现在有2个 JAR 分别是 kj021320.jar summer.jar 里面都有包路径cn.isto 同样有 类Jcrack.class 那么 JVM就会看哪个 类先加载到VM中就用哪个!后面读进来的 如果路径名字一样 就会丢弃! 想到以上加载方式大家会想象到什么呢?
我们首先设计一个类
里面只有一个方法判断 登陆是否成功 直接返回一个true 把这个类打包为 kj021320.jar 下面我们再来写2个类
很明显我们把上面2个类编译OK后 直接运行! 不用看控制台都会打印false 然而我们再把上面kj021320.jar加载回来再运行 JMain类
系统就会显示true 简单说因为 JVM把正常用户的Jcrack类抛弃了!而加载了我们自己修改的Jcrack类! JAVA应用就这样简单破解了!
【发表评论 】
不支持Flash
|