huzpsb
如题,我需要创建一个自定义的SecurityManager并防止被替换。
if (perm instanceof RuntimePermission) {
                RuntimePermission rp = (RuntimePermission) perm;
                if (rp.getName().equals("setSecurityManager")) {
                    throw new SmException("Access denied (self-protection)");
                }
            }复制代码并不能完全满足需求,因为可以通过
private static Unsafe getUnsafe() {复制代码等极端手段来抢夺SM的控制权。
而对java.lang的反射又是十分常见的。
@Override
    public void checkPackageAccess(String pkg) {复制代码在???处,我只能判断是不是java.lang,而我需要知道是否被反射的对象为Unsafe等。
请问我该怎么做?谢谢!
(悬赏2人气+50金粒)

第一页 上一页 下一页 最后一页