我一直在玩这个,到目前为止我还没有找到任何方法来隐藏或欺骗instanceof通过混淆层隐藏其类型来返回false,但这并不意味着它不可能因为我是远离最了解

Java的人.所以我来问专家.

我尝试了以下组合,并且在每种情况下,instanceof运算符都能够识别对象的真/基类型.

public class Test {

public static void main(String[] args) {

Object o = new TestObject();

printType("Base Class", o);

o = (TestSuperObject)(new TestObject());

printType("Super Class", o);

o = (TestInterface)(new TestObject());

printType("Interface", o);

o = (TestInterface)((TestSuperObject3)(new TestObject3()));

printType("Interface on Super Class", o);

o = (TestSuperObject3)((TestInterface)(new TestObject3()));

printType("Super Class on Interface", o);

}

private static void printType(String testCase, Object o) {

System.out.println(testCase);

System.out.println("TestObject:" + (o instanceof TestObject));

System.out.println("TestObject2:" + (o instanceof TestObject2));

System.out.println("TestObject3:" + (o instanceof TestObject3));

System.out.println();

}

}

这些类被定义为……

public class TestObject extends TestSuperObject implements TestInterface

public class TestObject2 extends TestSuperObject implements TestInterface

public interface TestInterface

public class TestSuperObject

public class TestObject3 extends TestSuperObject3

public class TestSuperObject3 implements TestInterface

所以基本上,有没有办法隐藏这些信息或以某种方式丢失类型信息?我没有问,因为我有理由这样做,但是如果可能的话,我希望知道并在将来保持警惕.另外,我觉得它很有趣.

java混淆of_java – 是否有任何级别的混淆可以“欺骗”instanceof?相关推荐

  1. idea java 代码混淆加密_使用 IntelliJ IDEA 开发一般 Java 应用程序时配置 Allatori 进行代码混淆...

    使用 IntelliJ IDEA 开发一般 Java 应用程序时通过 Allatori 进行代码混淆非常容易配置,下面总结一下本人经验,介绍一下配置方法. 首先在 IDEA 的 Module 所在硬盘 ...

  2. Java提升篇-事务隔离级别和传播机制

    转载自 Java提升篇-事务隔离级别和传播机制 问题的提出 为了保证并发操作数据的正确性及一致性,SQL规范于1992年提出了数据库事务隔离级别. 事务隔离级别分类 事务隔离级别由低往高可分为以下几类 ...

  3. java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误

    文章目录 1.报错信息 2.原因分析 3.解决方案 1.报错信息 java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01000: 超出打开游 ...

  4. android 混淆移除log,关于安卓代码混淆和Release版本中去除Debug信息

    我也不知道今天哪门子的心思看到这方面去了,这其实也就是一些固定东西的使用.怎么说呢,因为有些坑以前忽略了,今天记起来的就干掉吧. 以前优化apk的时候,网上查下来,基本上就是去掉无用的资源buildT ...

  5. 【Android 安全】DEX 加密 ( Proguard 混淆 | 混淆后的报错信息 | Proguard 混淆映射文件 mapping.txt )

    文章目录 一.Proguard 混淆后的报错信息 二.Proguard 混淆映射文件 mapping.txt 更多 ProGuard 混淆配置参考 : https://www.guardsquare. ...

  6. 混淆矩阵是什么?Python多分类的混淆矩阵计算及可视化(包含原始混淆矩阵及归一化的混淆矩阵):基于skelarn框架iris数据集

    混淆矩阵是什么?Python多分类的混淆矩阵计算及可视化(包含原始混淆矩阵及归一化的混淆矩阵):基于skelarn框架iris数据集 目录

  7. 代码混淆android.mk,利用ollvm进行代码混淆

    OLLVM简介 OLLVM(Obfuscator-LLVM)是瑞士西北应用科技大学于2010年6月份发起的一个项目,该项目旨在提供一套开源的针对LLVM的代码混淆工具,以增加对逆向工程的难度. OLL ...

  8. 混淆矩阵评价指标_机器学习模型评价指标 -- 混淆矩阵

    机器学习模型评价指标 – 混淆矩阵 在机器学习领域中,混淆矩阵(confusion matrix)是一种评价分类模型好坏的形象化展示工具.其中,矩阵的每一列表示的是模型预测的样本情况:矩阵的每一行表示 ...

  9. html 混淆压缩,前端代码的精简、混淆、压缩和编译

    几个基本概念 在网站部署前,我们往往要对前端的代码进行发布,我这里说的"发布",指的就是精简.混淆.压缩.编译等. 1.精简: 目的是减少代码体积,减小网络传输时间,提高页面响应. ...

最新文章

  1. 浅析应届女生找工作的一些忧虑和困惑
  2. 9道最佳解酒方法[转]
  3. 【NLP】darmatch: 一个非常高效的多模式字符串匹配工具
  4. 【注册机】ColorSchemer Studio 2.1.0 注册机
  5. 向上2021·新消费品牌发展报告
  6. 飞鸽类能记住传书的人类
  7. 经济学python值得学吗_地藏经注音,地藏经全文,地藏经全文(注音版)——学佛网...
  8. 云服务器工具大全,云服务器主要的登陆方法有哪些
  9. 完整学习git三 查看暂存区目录树 git diff
  10. java自定义窗口_Java-创建一个自定义窗口,扁平化界面
  11. 电脑一开机内存(共8G)就用了70%以上,任务管理器里面查看没有占用内存很高的进程
  12. 数据结构图文解析之:二分查找及与其相关的几个问题解析
  13. 在Eclipse4.2x中安装最新版插件WindowsBuilder
  14. 软件测试工程师简历经验总结:软件测试工程师简历项目经验怎么写?(转载)
  15. Pspice轨迹命令
  16. 雷电云手机无限雷币版v1.60
  17. 示波器电流探头应该怎么保养-PinTech品致
  18. 辉芒微IO单片机FT60F111-RB
  19. stratum协议原理
  20. Halcon初探(C++版)之Edges

热门文章

  1. Linux/Mac 配置安装scala
  2. senborn绘制混淆矩阵
  3. macos支持exfat吗_在Windows上使用VMware Workstation虚拟机安装macOS
  4. ubuntu mysql 连接_Ubuntu 配置MySQL远程连接
  5. 如何查看服务器数据库修改密码,如何查看服务器数据库密码
  6. Ubuntu 16.04 安装Go 1.9.2
  7. C# DataTable学习
  8. 学习笔记:平衡树-splay
  9. 公开课 之 心蓝 计算器 (课堂笔记)
  10. angularjs ui-router