全网首发:ScrollBarUI混淆后效果错误的分析

之前就遇到过问题,ScrollBar报错。这次是代码混淆后颜色不对,心里这个奇怪啊。刚开始以为是配置文件目录错了,于是进行了大范围的混淆屏蔽,最后定位到一个继承了BasicScrollBarUI的类。


 那么这个类什么地方出问题了?


先检查了重载,清理了一部分代码,还是有问题。

一看类不大,干脆所有函数不混淆。这下正确了。

逐步减少函数屏蔽,最后发现是这个函数的影响:

public static javax.swing.plaf.ComponentUI createUI(javax.swing.JComponent);

又进行了一次屏蔽和混淆,确实这个函数影响。

  • 搜索一下,所有代码中都没有没有调用。这更奇怪了:谁影响的?
  • 一想这个类继承的,难道父类也有这样一个函数?一查,果然。

  结论:子类实现这个函数后,把父类的同名函数屏蔽了;混淆后,再调用就是父类的同名函数,所以出错了。

上一篇:Tiny快速入门之控制层开发


下一篇:备份恢复12——复制数据库与备用数据库