用混淆器保护你的JAVA(.class)代码

JAVA代码编译后是.class文件,通过反编工具很容易被别人看到源代码
保护JAVA代码的方法很多,下面介绍一种比较方便使用的方法。
   obfuscate4e是一款采用混淆器改变CLASS文件内容的方法。
下文将介绍具体和eclipse的整合方法

1.下载obfuscate4e,加入站点http://obfuscate4e.org/updates/,这个软件是德国人开发的,从他们做汽车的严格程度来说,应该这插件不错.

 

1

 

 

 

  2.接受协议

 

2

 

 

 

测试代码如下:


public class HelloMJ {

 /**
  * @param args
  */
 public static void main(String[] args) {
  System.out.println("masterjames 使用JAVA混淆器http://obfuscate4e.org/updates/");

 }

}

 

第二种简单的方法就是,在http://proguard.sourceforge.net/下载ZIP包.最新的是4.5BETA

 解压缩后,双击proguardgui.jar

 运行软件

 最傻瓜的设置方法:设置好INPUT/OUTPUT,点PROCESS.结果就出来了.

 

77

 

生成了.a.class.b.class 用JAD反编译,JAD提示:不能完整的反编译....,打开编译后的代码变量和函数名全部被替换.可读性变差

public b(String s, String s1, String s2, String s3, int i)
    {
        b = new Vector();
        d = s;
        f = s1;
        g = s2;
        e = s3;
        c = 20;
      }

 

 

 

 

88

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据提供的引用内容,可以看出这是一个Android编程的问题,需要使用Bundle传递对象。在这个问题中,需要创建一个Person类,该类需要实现Serializable接口,以便在不同的Activity之间传递。在HobbyActivity中,需要创建一个ArrayList<Person>泛型集合,保存四个Person类的对象,并使用ListView显示姓名。当单击姓名时,需要进入MessageActivity,显示姓名、年龄和爱好。最终结果应该显示BMI计算张三李四王五赵权。 具体步骤如下: 1. 创建Person类,该类需要实现Serializable接口,以便在不同的Activity之间传递。 2. 在HobbyActivity中,创建一个ArrayList<Person>泛型集合,保存四个Person类的对象,并使用ListView显示姓名。 3. 当单击姓名时,使用Intent传递该Person对象到MessageActivity中。 4. 在MessageActivity中,获取传递过来的Person对象,并显示姓名、年龄和爱好。 代码示例: 1. Person类的定义: ``` public class Person implements Serializable { private String name; private int age; private String hobby; public Person(String name, int age, String hobby) { this.name = name; this.age = age; this.hobby = hobby; } public String getName() { return name; } public int getAge() { return age; } public String getHobby() { return hobby; } } ``` 2. 在HobbyActivity中,创建ArrayList<Person>泛型集合,并使用ListView显示姓名: ``` ArrayList<Person> personList = new ArrayList<>(); personList.add(new Person("张三", 20, "篮球")); personList.add(new Person("李四", 22, "足球")); personList.add(new Person("王五", 25, "乒乓球")); personList.add(new Person("赵权", 18, "羽毛球")); ListView listView = findViewById(R.id.listView); ArrayAdapter<Person> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, personList); listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent = new Intent(HobbyActivity.this, MessageActivity.class); intent.putExtra("person", personList.get(position)); startActivity(intent); } }); ``` 3. 在MessageActivity中,获取传递过来的Person对象,并显示姓名、年龄和爱好: ``` TextView nameTextView = findViewById(R.id.nameTextView); TextView ageTextView = findViewById(R.id.ageTextView); TextView hobbyTextView = findViewById(R.id.hobbyTextView); Intent intent = getIntent(); Person person = (Person) intent.getSerializableExtra("person"); nameTextView.setText(person.getName()); ageTextView.setText(String.valueOf(person.getAge())); hobbyTextView.setText(person.getHobby()); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值