tomcat 6.0.14 Webapp Loader的定制(备忘)

本文详细介绍了如何通过修改Tomcat的类加载器实现字节码加密,从而提升源码安全性。重点分析了org.apache.catalina.loader.WebappClassLoader类的资源加载过程,并提供了解密策略的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了提高公司源码的安全性,需要增加字节码反编译的难度。字节码混淆的工具不少,比如说Progurd,但是效果都不是很理想。最好的办法是将字节码直接加密保存,然后在类加载时解密,这样只要加密算法够健壮,安全就不成问题。查了下tomcat的资料,下了源码apache-tomcat-6.0.14-src.zip。tomcat加载每个项目class文件的类是org.apache.catalina.loader.WebappClassLoader,可以在源码包里找到。实现字节码解密主要涉及的函数是protected ResourceEntry findResourceInternal(String name, String path),在第1891行:resource = (Resource) lookupResult;将资源加载保存起来;在第1913行:binaryStream = resource.streamContent();将资源放到InputStream里面;在第2057行:int n = binaryStream.read(binaryContent, pos, binaryContent.length - pos);将文件内容读到字节数组binaryContent中。可以在2063行:binaryStream.close();的下面将binaryContent中的内容解密即可。关于Java进行DES加解密网上的资料就十分多了,这里不再赘述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值