java很容易被反编译,开发个java混淆器,混淆后的结果如下
结构
package1
--Class1.java
--Class2.java
--Class3.java
java代码:
public class Class3 extends Dialog{
public MessageBox field77 = null;
public MessageBox field78 = null;
public Type122(Shell localVariable79) {
super(localVariable79);
field77 = new MessageBox(localVariable79, SWT.ICON_INFORMATION);
field78 = new MessageBox(localVariable79, SWT.OK|SWT.CANCEL);
}
public static final int field80=33;
public static final int field81=10;
public static final int field82=15;
public static final int field83=2;
public static final int field84=8;
public static final int field85=60;
public static final int field86=20;
public static final int field87=20;
public static final int field88= 6;
public static final int field89=5;
public static final int field90=20;
public static final int method93(MouseEvent e, Table localVariable91) {
int localVariable92=localVariable91.getHeaderHeight();
System.out.println(localVariable91.getHeaderHeight());
int rowIndex = -1;
localVariable91.getItem(new Point(e.x, e.y));
System.out.println(localVariable91.getItems()[0].getBounds().height);
for (int i = 0; i < localVariable91.getItems().length; i++) {
TableItem tableItem = localVariable91.getItems()[i];
localVariable92 += tableItem.getBounds().height;
if (e.y > tableItem.getBounds().y&&
e.y <= tableItem.getBounds().y+tableItem.getBounds().height) {
rowIndex = i;
break;
}
}
return rowIndex;
}
static public void method98(Table localVariable94,String[] localVariable95, int[] localVariable96) {
for (int localVariable97 = 0; localVariable97 < localVariable96.length; localVariable97++) {
TableColumn tc1 = new TableColumn(localVariable94, SWT.CENTER);
tc1.setText(localVariable95[localVariable97]);
tc1.setWidth(localVariable96[localVariable97]);
tc1.setAlignment(SWT.LEFT);
}
}
static public void method105(int localVariable99,Label[] localVariable100,Text[] localVariable101, String[] localVariable102, int[] localVariable103) {
for (int localVariable104 = 0; localVariable104 < localVariable100.length; localVariable104++) {
localVariable100[localVariable104].setText(localVariable102[localVariable104]);
int i = method115(localVariable100[localVariable104]);
localVariable100[localVariable104].setBounds(localVariable104 == 0 ? field81 : (localVariable101[localVariable104 - 1].getBounds().x + field84 + localVariable101[localVariable104 - 1].getBounds().width), localVariable99 + field89, i, field87);
localVariable101[localVariable104].setBounds(localVariable100[localVariable104].getBounds().x + field83 + localVariable100[localVariable104].getBounds().width, localVariable99, localVariable103[localVariable104], field87);
}
}
static public void method112(int localVariable106,Label[] localVariable107,Text[] localVariable108, String[] localVariable109, int[] localVariable110) {
int localVariable111=0;
for (int i = 0; i < localVariable109.length; i++) {
localVariable111=(localVariable111>localVariable109[i].length())?localVariable111:localVariable109[i].length();
}
for (int j = 0; j < localVariable107.length; j++) {
localVariable107[j].setText(localVariable109[j]);
localVariable107[j].setBounds(field81 ,j == 0 ? localVariable106: (localVariable108[j - 1].getBounds().y + field84 + localVariable108[j - 1].getBounds().height), localVariable111* field88, field87);
localVariable108[j].setBounds(localVariable107[j].getBounds().x + field83 + localVariable107[j].getBounds().width, localVariable107[j].getBounds().y, localVariable110[j], field87);
}
}
public static int method115(Label localVariable113) {
int localVariable114 = localVariable113.getText().length()* field88;
return localVariable114;
}
static public int method118(Control localVariable116) {
int localVariable117 = localVariable116.getBounds().x+localVariable116.getBounds().width+field84;
return localVariable117;
}
static public int method121(Control localVariable119) {
int localVariable120 = localVariable119.getBounds().y+localVariable119.getBounds().height+field89;
return localVariable120;
}
}