仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1147|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA网页编程之关于侵扰器与反编译 (转载)

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:55:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。编译以下摘录于Delphibbs中Dr.yysun的回覆,但愿对你有匡助

用Java编程的人,假如不想公然源程序,就得与反编译器作奋斗,
必需利用反编译器,先看看他人将会怎样看你的程序,再看看Obfuscators(侵扰器)的效果.

JAD是Windows下效果极佳的反编译器http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
环绕这个引擎,有良多图形界面,比方FrontEnd.(我经常使用)

JODE是收费的Java反编译器和优化器.
http://jode.sourceforge.net/

Intr@byte是个JBuilder的外挂工具(OpenTool),使得您在JB中能翻开*.class
http://www.webappcabaret.com/bjb/index.jsp
它也利用JAD引擎,并限定为只反编译器类的界说部分.

有些网站能够帮您反编译,您给个URL,它剖析出个中有几个applet,
然后,再反编译失落.http://www.jreveal.org/

最初,您想懂得反编译道理,想本人编个反编译器和侵扰器,这里有本收费得书.
http://www.riis.com/depile.html

其他到yahoo里找吧,太多了.

JJams_King:侵扰器就是把bytecode中的类名,办法名,变量名等酿成偶然义的标记。
比方,以下源程序:
packagetemp;
publicclassHelloWorld{
StringhelloWorld="HelloWorld";
StringbyeWorld="ByeWorld";
publicstaticvoidmain(String[]args){
newHelloWorld(true);
newHelloWorld(false);
}
HelloWorld(booleanisHappy){
if(isHappy){
System.out.println(helloWorld);
}
else{
System.out.println(byeWorld);
}
}
}
加扰后,再反编译出来是:
packagea;
importjava.io.PrintStream;
publicclassa
{
Stringa;
Stringb;
a(booleanflag)
{
a="HelloWorld";
b="ByeWorld";
if(flag)
System.out.println(a);
else
System.out.println(b);
}
publicstaticvoidmain(Stringastring[])
{
newa(true);
newa(false);
}
}

而更初级的侵扰器,还能加密字符常量和侵扰程序流。加扰后,再反编译后酿成如许:
packagea;
importjava.io.PrintStream;
publicclassa
{
Stringa;
Stringb;
publicstaticbooleanc;
a(booleanflag)
{
a=a("q04133/316205,]");
b=a("{308W27V23123");
if(!flag)goto42else26;
System.out.println(a);
if(!c)goto52else42;
System.out.println(b);
}

publicstaticvoidmain(Stringastring[])
{
newa(1);
newa(0);
}

privatestaticStringa(Stringstring)
{
charach[];
inti;
intj;
intk;
ach=string.toCharArray();
i=ach.length;
j=0;
k=0;
expression57
expressionach
expressionj
expression97
expressionach
expressionj
expression93
expressionach
expressionj
expression119
expressionach
expressionj
expression64
expressionach
expressionj
dup2over1
push[]
^
pop[]
j++;
k++;
if(i==j)
returnnewString(ach);
expressionk
switch
case1:goto21
case2:goto29
case3:goto37
case4:goto45
case5:goto10
default:goto54
}
}
你想破译个中的思绪可就难了:)

以上材料摘自:http://www.zelix.com/klassmaster/



认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,
沙发
发表于 2015-1-18 12:12:26 | 只看该作者
J2SE开发桌面应用软件比起VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
飘灵儿 该用户已被删除
板凳
发表于 2015-1-21 11:17:07 来自手机 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
透明 该用户已被删除
地板
发表于 2015-1-25 08:48:59 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
第二个灵魂 该用户已被删除
5#
发表于 2015-1-26 23:16:02 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
再见西城 该用户已被删除
6#
发表于 2015-2-4 04:05:38 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
海妖 该用户已被删除
7#
发表于 2015-2-6 07:30:11 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
兰色精灵 该用户已被删除
8#
发表于 2015-2-6 15:41:47 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
再现理想 该用户已被删除
9#
发表于 2015-2-16 22:23:51 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
灵魂腐蚀 该用户已被删除
10#
发表于 2015-3-5 11:03:29 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
爱飞 该用户已被删除
11#
发表于 2015-3-6 20:56:59 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
只想知道 该用户已被删除
12#
 楼主| 发表于 2015-3-8 10:45:33 | 只看该作者
是一种使用者不需花费很多时间学习的语言
金色的骷髅 该用户已被删除
13#
发表于 2015-3-15 21:27:01 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
老尸 该用户已被删除
14#
发表于 2015-3-23 07:34:11 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
变相怪杰 该用户已被删除
15#
发表于 2015-3-31 18:51:22 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
小女巫 该用户已被删除
16#
发表于 2015-4-2 14:01:23 | 只看该作者
是一种为 Internet发展的计算机语言
谁可相欹 该用户已被删除
17#
发表于 2015-4-11 20:50:16 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
冷月葬花魂 该用户已被删除
18#
发表于 2015-4-13 15:08:02 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
活着的死人 该用户已被删除
19#
发表于 2015-4-21 16:30:41 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
柔情似水 该用户已被删除
20#
发表于 2015-5-1 07:11:14 | 只看该作者
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 02:30

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表