`
galebo
  • 浏览: 15437 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java很容易被反编译,开发个java混淆器

    博客分类:
  • java
阅读更多
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;
	}
}
0
3
分享到:
评论

相关推荐

    java代码保护,防止反编译

    代码混淆是保护Java程序的一种方法,即将源代码混淆,使其难以被反编译。代码混淆可以使用各种方法,如变量名、方法名的rename、去掉注释、混淆代码结构等。代码混淆可以使反编译变得困难,但并不能完全防止反编译。...

    java class防止反编译,最大限度的保护自己的代码

    正是由于其代码的跨平台性,是解析型语言才使得它很容易被反编译成源码,从而造成公司代码的泄露,设置时运用框架的泄露。本文从各个方面介绍了防止class被反编译。从而保护自己的知识产权不受侵害。 包括混淆技术,...

    Java类文件加密保护,防止反编译

    我们都知道Java类文件很容易被反编译,即使进行了混淆处理,仍然容易被反编译破解,因此用Java开发的项目和程序在代码保护方面基本没有安全可言,这一直是业界一个老大难的问题。 其实,Java也是可以对类文件进行...

    jocky(java代码混淆器)

    这样,编译后的类文件中将包含有符号表,从而使得Java程序很容易被反编译。相信每一个Java开发人员,都曾经用过诸如Jad之类的反编译器,对Java的class 文件进行反编译,从而观察程序的结构与实现细节。如此一来,...

    java源代码反编译专家v1.4终极版

    5. **代码保护**:开发者也可能使用反编译来评估自己的代码是否容易被反编译,从而考虑如何增强代码的混淆和保护。 "小颖java源代码反编译专家v1.4终极版"作为一款反编译工具,可能包含了以下特性: - **易用的用户...

    Java类文件加密运行演示例子.rar

    我们都知道Java类文件很容易被反编译,即使进行了混淆处理,仍然容易被反编译破解,因此用Java开发的项目和程序在代码保护方面基本没有安全可言,这一直是业界一个老大难的问题。 其实,Java也是可以对类文件进行...

    JAVA反编译工具_反编译_

    4. **版权保护**:虽然Java字节码不是那么容易被反编译,但它仍然可以作为版权保护的辅助手段,因为反编译后的代码通常不如原始源代码清晰易读。 5. **性能优化**:通过查看反编译后的代码,开发者可以更深入地了解...

    java 混淆工具,不可逆 jocky

    这样,编译后的类文件中将包含有符号表,从而使得Java程序很容易被反编译。相信每一个Java开发人员,都曾经用过诸如Jad之类的反编译器,对Java的class 文件进行反编译,从而观察程序的结构与实现细节。如此一来,...

    java最好用的反编译工具

    由于Java、.net这样的基于虚拟机技术的语言都是采用了ByteCode的二进制结构,因此很容易将ByteCode转化为“抽象语法树”(简称AST,《编译原理》这门课中的概念),然后采用反编译器就可以将AST转换为代码了。...

    java反编译工具

    Java反编译工具是开发人员在理解和学习Java代码或者对已有的类库进行逆向工程时经常使用的工具。这些工具可以将已经编译过的Java字节码(.class文件)转换回可读的源代码形式,尽管原始的注释和变量名可能无法完全...

    java反编译.rar

    这个“java反编译.rar”压缩包文件很可能包含了一款易于使用的Java反编译工具,使得程序员能更容易地理解和学习他人编写的已编译Java程序的工作原理。 首先,我们要理解什么是Java字节码。Java源代码在编译后生成的...

    使用Proguard混淆Java源代码

    java代码很容易被反编译,可通过混淆技术来保护源码,此处我们应用开源项目proguard来进行混淆。操作使用详见:http://blog.csdn.net/odian1/article/details/8282799

    Java反编译工具非常实用

    4. **代码保护**:通过分析反编译结果,开发者可以评估自己的代码是否容易被逆向工程,从而采取相应的混淆策略来提高代码的安全性。 总的来说,Java反编译工具是Java开发者的重要辅助工具,它提供了查看和理解编译...

    java防范反编译.pdf

    由于Java字节码的可读性较高,容易被反编译工具如JD-GUI、JAD等解析,因此开发者需要采取一定的手段来增强代码的安全性。以下是一些常用的Java反编译防护技术: 1. 隔离Java程序:最基础的防护方法是不让用户直接...

    java代码混淆工具proguard

    很好用的一个代码混淆工具,混淆后可以防止被反编译。很容易用。

    java类反编译工具

    总的来说,Java类反编译工具在软件开发、调试和学习中发挥着重要作用,它们为我们提供了深入了解和分析已编译Java程序的能力。在使用这些工具时,不仅要遵循合法性和道德规范,还要结合其他编程知识和技巧,才能充分...

    java反编译软件下载

    Java反编译是Java开发中一个重要的辅助工具,它允许开发者查看Java字节码(.class文件)的源代码,这对于理解已有的库或者研究二进制代码的运行机制非常有帮助。标题提到的"java反编译软件下载"很可能是指的`JD-GUI`...

    java程序的反编译工具

    JAD支持多种版本的Java字节码,提供了良好的代码结构恢复,使得阅读和理解反编译后的代码变得更加容易。在开发过程中,如果丢失了源代码,JAD可以帮助恢复部分功能,以便进行调试或维护。 FernFlower是另一款流行的...

    java反编译工具,很好很强大,支持亮色显示

    在这里,我们将深入探讨Java反编译以及jd-gui-0.3.3.windows这个特定的反编译工具。 首先,了解什么是Java反编译。Java程序在执行前会被JVM(Java虚拟机)编译成字节码(.class文件),这是一种平台无关的中间语言...

    Java反编译工具(jd-gui)

    反编译是软件开发过程中的一个重要环节,尤其在进行逆向工程、代码分析或调试时。JD-GUI通过解析Java字节码,将其还原成接近原始的Java源代码,使得开发者可以更容易地理解和研究第三方库或二进制代码。它的主要功能...

Global site tag (gtag.js) - Google Analytics