「java外壳」java加壳

博主:adminadmin 2022-12-01 20:16:09 48

本篇文章给大家谈谈java外壳,以及java加壳对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

有人用Java做过浏览器外壳,并熟悉JWebBrowser吗

还真没试过这种形式,也许你可以谷歌看看,有没有外国开源的库。

怎么把已经编写好的java程序打包成成桌面应用程序?

在java里是没有EXE这个概念的,但实际仍然有很多人把java代码做成了EXE。

其实这是将Java代码打包成jar后,用第三方工具对jar文件进行处理,加一个外壳,使其能有exe的样子。实际并没有太大价值,而且破坏了java的跨平台特性(生成exe后只能在Windows平台运行)。

值得说明,jar文件也能双击运行,跟EXE一样,只是后缀不一样而已。

在Eclips中打包java文件的步骤是点击 文件- 导出

即导出该项目到项目所在文件夹下的dist文件夹里

在Netbeans中点击 文件 - 清理并生成

即生成该项目的jar压缩文件,在项目文件夹下的dist文件夹里

(导出、清理 都是生成jar文件,效果一样)

java加密

可以的,但是对jar包直接加密,目前只支持J2SE,还不支持J2EE。更多的还是用混编器(java obfuscator)。下面是关于HASP的介绍。

-----------------------------------------------------

针对java加密防止反编译的解决方案

众所周知,java开发语言提供了很方便的开发平台,开发出来的程序很容易在不同的平台上被移植,现在越来越多的人使用它来开发软件,与.net语言并驾齐驱。

Java有它方便的一面,同时也给开发者带来了一个不小的烦恼,就是保护程序代码变得困难,因为java语言编译和代码执行的特殊性,目前,除了HASP外,还没有一个更好的解决办法或保护方案,但如果不采取有力的措施,则自己辛辛苦苦开发出来的程序很容易被人复制而据为己有,一般情况下,大多数的人都是用混编器(java obfuscator)来把开发出来的程序进行打乱,以想达到防止反编译的目的,但是,这种方法在网上很容易找到相关的软件来重新整理,那么这个混编器工具也只能控制一些本来就没有办法的人,而对于稍懂工具的人几乎是透明的,没有任何意义。再说硬件加密锁,大多数厂商提供的加密锁只能进行dll的连接或简单的api调用,只要简单地反编译,就很容易把api去掉,这样加密锁根本起不了作用,那到底是否还有更好的解决办法呢?

现提供2种解决办法:

1、以色列阿拉丁公司的HASP HL加密锁提供的外壳加密工具中,有一个叫做数据加密的功能,这个功能可以很好的防止反编译而去掉api的调用,大家知道:硬件加密锁的保护原理就是让加密过的软件和硬件紧密地连接在一起,调用不会轻易地被剔除,这样才能持久地保护您的软件不被盗版,同时,这种方式使用起来非常简单,很容易被程序员掌握,要对一个软件实现保护,大约只需几分钟的时间就可以了,下面简单介绍一下它的原理:

运用HASP HL的外壳工具先把java解释器进行加密,那么,如果要启动这个解释器就需要有特定的加密锁存在,然后,再运用外壳工具中的数据加密功能把java程序(CLASS或JAR包)当作一个数据文件来进行加密处理,生成新的java程序(CLASS或JAR包),因为这个加密过程是在锁内完成的,并采用了128位的AES算法,这样,加密后的java程序,无论你采用什么样的反编译工具,都是无法反编译出来的。您的软件也只有被加密过的java解释器并有加密锁的情况下才能正常运行,如果没有加密锁,程序不能运行,从而达到真正保护您的软件的目的。

2、HASP HL提供专门针对java外壳加密工具,直接加密jar包,防止外编译,目前只支持J2SE,将来会进一步支持J2EE,如果情况适合则是最简单的方法。

求助:在java中,什么叫做“外壳类”

main方法必须放在一个类中,这个类就是外壳类,它可能没有实际的功能,只是用来作为程序的入口(main)的一个类。

根据你提供的“在java中,必须有一个含有main方法的外壳类”想到的。-_-!

java中抽象类,抽象方法,抽象类是什么意思!实例解说一下! 本人是个刚学习者!

含有抽象方法的类就只能是抽象类

抽象类结构:absract class 类名{  }

抽象方法结构:(public) absract void 方法名();

抽象类只能用来继承,抽象方法必须被重写

抽象类不能实例化,也就是不能用new调用

抽象类可以有:抽象类、普通属性和方法、构造方法(不能用new实例,只能用来被子类调用)

public abstract class Human {//抽象父类

private final int time=++count;//对象计数器

private static int count;//静态池

//属性封装

private String name;//封装三步:隐藏属性,提供getter与setter方法,构造中调用setter初始化

private int age;

private String sex;

//gettersetter

public String getName(){

return this.name;

}

public void setName(String name){

//处理代码:姓名不能为空,且不能包含数字

if(name.length()==0){

System.out.println("姓名不能为空");

}

else if(this.isWrongName(name)){//调用私有方法处理

System.out.println("非法姓名,不能包含数字");

}

else{

this.name=name;

}

}

private boolean isWrongName(String name){//判断非法姓名输入(私有)

char[] ch=name.toCharArray();

for(int i=0;ich.length;i++){

try{

int s=Integer.parseInt(String.valueOf(ch[i]));

s++;//废

return true;

}

catch(Exception e){

continue;//出错就继续下一次循环转换

}

}

return false;//先返回错误

}

public int getAge(){

return this.age;

}

public void setAge(int age){

if(age=0){

System.out.println("年龄有误");

}

else{

this.age=age;

}

}

public String getSex(){

return this.sex;

}

public void setSex(String sex){

if(sex.length()1||sex.length()==0){

System.out.println("性别设定错误");

}

else if(sex.toCharArray()[0]=='男'||sex.toCharArray()[0]=='女'){

this.sex=sex;

}

else{

System.out.println("性别设定错误");

}

}

//构造

public Human(){//无参

this("无1名氏",25,"男");

}

public Human(String name,int age,String sex){//全参

this.setName(name);

this.setAge(age);

this.setSex(sex);

}

//抽象方法

public abstract void speak();//说话

public abstract void work();//工作

public abstract void eat();

//获取对象创建数目

public int getHumanClassUseTimes(){

return this.time;

}

}

java软件如何加壳成mpkg ,用什么工具?

很简单。网上搜一个jar加了mpkg外壳的软件。(motobbs.com里有这样的UC7.8)。改文件缀名为.tar.gz。解压,得到文件夹。把里边的那个*.jar(假设newjar.jar)替换成你想要的(注意文件名改成newjar.jar)。还没完,flie文件夹里现在还少东西。你需要先安装一下自己后来的newjar.jar。在.system/java/Downapps/MIDlet*****/file里找到newjar.apnewjar.ii之类的小文件。然后复制出来,用这些替换那个外壳中的小文件。

然后压缩,改缀名为.mpkg然后就能安装了。

844625102@qq 不明白的还可以讨论

java外壳的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java加壳、java外壳的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。