为您找到与java混淆反编译相关的共3个结果:
起草文稿是秘书人员的一项重要职责,特别是党政机关的秘书,文稿起草任务重、时间紧、要求高,既要表意准确到位,又要合乎领导口味,还要力求创新有特色,当然最重要的是不能出现错别字。一篇印发的领导讲话中如果出现一处错别字,从小处讲是让领导脸上无光,从大处讲则是影响了党委、政府的公信力,对撰写文稿的秘书来讲就是一次不小的责任事故。从办公室工作的实践来看,出现错别字既有秘书人员责任心不强、工作马虎的原因,也有自身积累不足的原因。
因此,秘书人员必须高度重视,加强学习,提升水平。现结合本人多年的办公室工作实践,对文稿起草中几组难以分辨、经常误用的词语作一简单辨析。
一、“墨守成规”还是“默守成规”。在“要深入解放思想、创新创优,不能墨守成规、因循守旧”中,“墨”是正确的写法。“墨守”指战国时墨翟善于守城,“成规”指现成的或久已通行的规则、方法。“墨守成规”指思想保守,守着老规矩不肯改变。类似的容易写错的成语还有“再接再厉”,这里的“厉”是“砺”的通假字,是磨砺的意思,指公鸡相斗,每次交锋以前先磨一下嘴,比喻继续努力,再加一把劲,不能写成“再接再励”。
二、“针砭”还是“针贬”。“砭”和“贬”字形相近,容易混淆。“砭”是古代用来治病的石针,“针砭”比喻发现或指出错误,以求改正。没有“针贬”的说法。
三、“辐射”还是“幅射”。《说文》中讲:“辐,轮轑也。”本义指车轮的辐条,即插入轮毂以支撑轮圈的细条,特点是从中心向各个方向沿着直线伸展出去。后把热量、光线、无线电波等由一个中心向周围直线传播也叫辐射。
四、“部署”还是“布署”。商务印书馆2005年第5版《现代汉语词典》对“部署”的释义为安排,布置(人力、任务)。《现代汉语词典》没有收录“布署”。“布署”在一些古代典籍中有过运用,但现已统一规范为“部署”。类似的还有“照像”,现已经规范为“照相”。秘书人员在文稿起草中一定要正确运用。
五、“坐镇”还是“坐阵”。在起草文稿强调组织领导、落实责任部分时,经常会写这样的句子:“主要领导必须坐镇一线,靠前指挥”,这里的“镇”是镇守的意思,指(官长)亲自在某个地方镇守。不能写成“坐阵”。
六、“挖墙脚”还是“挖墙角”。某位秘书在撰写全县党委系统办公室工作会议领导讲话时这样写道:“大家要和衷共济,互相帮助,共同进步,不能文人相轻,互挖墙角,相互拆台。”这里的“角”应该是“脚”,是地基、根基的意思。
“挖墙脚”比喻拆台、从根本上损害别人,现多指为自己谋取利益,而在暗地里不择手段从对方挖取相关的人员、技术等。
七、“品位”还是“品味”。在撰写涉及城市建设等方面内容的文稿时,经常有“改善人居环境,提升城市品位”的表述,有的人会写成“城市品味”,这是不正确的。“品位”是名词,指人和事物的品质、水平和层次,如“高品位的艺术作品”、“他的谈吐很有品位”;而“品味”是动词,指仔细品尝、体会、玩味,如“他经过细细品味,才明白王科长那句话的含义”。
八、“曝光”还是“暴光”。很多秘书在撰写文稿强调督查推进部分时,经常会写“对吃拿卡要、办事拖拉等不良的现象和行为,要坚决予以曝(暴)光”。有的人认为“曝光”对,有的人认为“暴光”对,更多的人感到莫衷一是、无所适从。其实,“暴光”和“曝光”都有把不光彩的事披露出来让众人知道的意思,都是正确的。
九、“截至”还是“截止”。在表述阶段性成绩时,常会用到“截至(止)”这个词,但很多人不加区分随意乱用。“截至”指截止到某个时候,后面还会继续,如“截至8月8日,县人社局已经帮县内企业招工2200多人”。以后该局帮企业招工的行动不会停止。“截止”则是指到一定期限停止,如“我省2011年公务员考试报名已于昨天截止”。
十、“收官”还是“收宫”。正确的写法应该是“收官”。“收官”是围棋术语,指盘面大局已经基本抢定,但胜负仍不明朗时对局部的争夺,后引申为强调大局已定。如“十一五完美收官,十二五全面开启”。
十一、“驾鹤西去”还是“驾鹤逝去”。我县一位在外工作的重要领导去世,县委办公室负责起草唁电,起初用了“驾鹤逝去”这个词,单从字面看好像没有问题,我在审稿时及时发现并改成了“驾鹤西去”。“驾鹤西去”是对死亡的一种避讳说法。在中国传统文化中,鹤是吉祥之鸟,西去,指进入天堂,驾鹤西去意思是骑着鹤飞往天堂,含有对死者的尊敬、祝福之意。类似的说法还有驾鹤西游、驾鹤仙游、驾鹤西归、驾鹤成仙等。当代著名作家邓友梅在中篇小说《那五》中说:“过老太太言而有信,这事办完不久就驾鹤西游了,紫云正式把家管了起来。”唐代诗人崔灏在《黄鹤楼》一诗中写道:“昔人已乘黄鹤去,此地空余黄鹤楼。黄鹤一去不复返,白云千载空悠悠。”表达的就是一种昔人已逝、人去楼空、物是人非的感慨。
十二、“一年之计在于春”还是“一年之季在于春”。在起草县委、县政府年初工作启动会讲话时往往会引用这句话,但经常有人误用,正确的应该是“一年之计在于春”,“计”是计划、打算的意思,指一年的计划要在春天考虑安排,为全年的工作打好基础,比喻凡事要早做打算,开头就要抓紧。这句话出自南朝梁·萧统的《纂要》:“一年之计在于春,一日之计在于晨。”我国古代儿童启蒙书目《增广贤文》中也有“一年之计在于春,一日之计在于晨,一家之计在于和,一生之计在于勤”的句子。
十三、“禁得住”还是“经得住”。在起草述职或述廉报告时,经常会有“耐得住寂寞,禁(经)得住诱惑”的说法,有人认为这两个字不通用,其实是可以的,“禁得住”和“经得住”都是承受得住的意思。
十四、“缘分”还是“缘份”。这个词在起草欢迎酒会、签约仪式致辞或发表离任感言时出现的频度很高,出错的情况也很多。如“我从某年某月某日到某地工作,和大家共事多年,朝夕相处,风雨同舟,这既是组织对我的信任和安排,更是与大家一种难得的缘份”中,“缘份”就是“缘分”的误写,相似的还有把“水分”误写成“水份”、“辈分”误写成“辈份”、“本分”误写成28SECRETARY’S COMPANION学习与修养2011年第10期“本份”的,但时间久了,约定俗成,积非成是,很多也就不再去深究了。秘书人员为领导撰写讲话稿,必须严肃认真地对待,确保用字准确无误。
十五、“通信”还是“通讯”。“通信”指利用书信、电波、广播等建立联系、互通消息、交换信息。如“会议进行期间,请与会人员一律关闭通信工具”。而“通讯”是翔实而生动地报道客观事物或典型人物的一种文体。两者过去在某些情况下可以通用,现已作了严格区分。
十六、“装潢”还是“装璜”。有一位秘书在介绍某项目进展情况时说“厂房、办公楼主体工程已结束,即将进入室内外装璜阶段”。这里的“装璜”应该写成“装潢”。“潢”指先用黄蘖汁语言学习29SECRETARY’S COMPANION学习与修养年第10期染纸,再用这种纸料装裱书画。“装潢”是古代对装裱技艺的称谓,后引申为对器物、房屋等进行装饰使之美观。而“璜”则指半璧形的玉,没有“装璜”的说法。
十七、“必须”还是“必需”。这是两个意思不同的词,具体使用要视语境而定。“必须”是必要、一定要的意思,用来加强语气,如“各地、各部门、各单位必须对照文件规定,各司其职,协调动作,不折不扣地完成县委、县政府交办的任务”;而“必需”是一定要有、必不可少的意思,如“物价、工商等部门要加强大米、猪肉、蔬菜等群众生活必需品的市场监测和管理,全力保障低收入群体的基本生活”。
十八、“决不能”还是“绝不能”。这两个词在文稿中出现的频度很高,“决”和“绝”同音且词义相近,很难分辨,其实两者的区别在于强调的侧重点不同。“决不能”的“决”是副词一定的意思,用在否定词的前面,“决不能”就是坚决不能,一定不能,更强调人的主观意志。
“绝不能”的“绝”是副词绝对的意思,用在副词前面,“绝不能”就是绝对不能,更强调事情的绝对性。
浏览量:2
下载量:0
时间:
网络是用物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到资源共享和通信的目的。通信是人与人之间通过某种媒体进行的信息交流与传递。网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现人与人,人与计算机,计算机与计算机之间的通信。。以下是读文网小编今天为大家精心准备的:使用JAVA编写网络通信程序修改论文。内容仅供参考,欢迎阅读!
使用JAVA编写网络通信程序 全文如下:
摘要 :本文阐述了使用JAVA编程语言对基于客户/服务器模式的应用编写网络通信程序,讨论了SOCKET机制、输入输出流以及程序实现代码。
关键词 :JAVA,网络,SOCKET,APPLET
网络上的系统结构多为客户/服务器模式,服务器端负责数据和图像等的存储、维护、管理以及传递,客户端则负责人机界面的操作、送出需求及显示收回的数据。
下面介绍一下如何使用JAVA来进行网络编程:
1) 由于客户端通过IE同服务器建立联系,所以客户端使用Applet,服务器端使用Application;
2) 服务器应设置成多线程,应答多个客户的请求;
3) 两端通信使用SOCKET机制。
过滤流DataInputStream 和DataOutputStream 除了分别作为FilterInputStream 和FilterOutputStream的子类外,还分别实现了接口DataInput 和DataOutput。接口DataInput 中定义的方法主要包括从流中读取基本类型的数据、读取一行数据、或者读取指定长度的字节数,如readBoolean() readInt()、readLine()、readFully()等。接口DataOutput中定义的方法主要是向流中写入基本类型的数据或者写入一定长度的字节数组,如writeChar()、writeDouble() DataInputStream可以从所连接的输入流中读取与机器无关的基本类型数据,用以实现一种独立于具体平台的输入方式;DataInputStream 可以向所连接的输出流写入基本类型的数据。
Socket是面向客户/服务器模型设计的,网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向链路的一端称为一个Socket。 Socket通常用来实现客户方和服务方的连接。客户程序可以向Socket写请求,服务器将处理此请求,然后通过Socket将结果返回给用户。
Socket通信机制提供了两种通讯方式:有联接和无联接方式,分别面向不同的应用需求。使用有联接方式时,通信链路提供了可靠的,全双工的字节流服务。在该方式下,通信双方必须创建一个联接过程并建立一条通讯链路,以后的网络通信操作完全在这一对进程之间进行,通信完毕关闭此联接过程。使用无联接方式时其系统开销比无联接方式小,但通信链路提供了不可靠的数据报服务,不能保证信源所传输的数据一定能够到达信宿。在该方式下,通信双方不必创建一个联接过程和建立一条通讯链路,网络通信操作在不同的主机和进程之间转发进行。
Java语言的优点主要表现在:简单、面向对象、多线程、分布性、体系结构中立、安全性等方面。
(1) 简单性
Java与C++语言非常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。 Java实现了自动的垃圾收集,简化了内存管理的工作。这使程序设计更加简便,同时减少了出错的可能。
(2) 面向对象
Java提供了简单的类机制和动态的构架模型。对象中封装了它的状态变量和方法,很好地实现了模块化和信息隐藏;而类则提供了一类对象的原型,通过继承和重载机制,子类可以使用或重新定义父类或超类所提供的方法,从而既实现了代码的复用,又提供了一种动态的解决方案。
Java是一种完全面向对象的程序设计语言,它除了数组、布尔和字符三个基本数据类型外的其它类都是对象,它不再支持全局变量。在Java中,如果不创建新类就无法创建程序,Java程序在运行时必须先创建一个类的实例,然后才能提交运行。
Java同样支持继承特性,Java的类可以从其它类中继承行为,但Java只支持类的单重继承,即每个类只能从一个类中继承。
Java支持界面,界面允许程序员定义方法但又不立即实现,一个类可以实现多个界面,利用界面可以得到多重继承的许多优点而又没有多重继承的问题。
(3) 多线程
多线程使应用程序可以同时进行不同的操作,处理不同的事件。在多线程机制中,不同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样容易实现网络上的实时交互操作。
Java程序可以有多个执行线程,如可以让一个线程进行复杂的计算,而让另一个线程与用户进行交互,这样用户可以在不中断计算线程的前提下与系统进行交互。多线程保证了较高的执行效率。
(4) 分布性
Java是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便的访问其他对象。
(5) 体系结构中立
Java是一种网络语言,为使Java程序能在网络的任何地方运行,Java解释器生成与体系结构无关的字节码结构的文件格式。Java为了做到结构中立,除生成机器无关的字节码外,还制定了完全统一的语言文本,如Java的基本数据类型不会随目标机的变化而变化,一个整型总是32位,一个长整型总是64位。
为了使Java的应用程序能不依赖于具体的系统,Java语言环境还提供了用于访问底层操作系统功能的类组成的包,当程序使用这些包时,可以确保它能运行在各种支持Java的平台上。
java.lang: 一般的语言包。其中包括用于字符串处理、多线程、异常处理和数字函数等的类,该包是实现Java程序运行平台的基本包
java.util: 实用工具包。其中包括哈希表、堆栈、时间和日期等
java.io: 基于流模型的输入/输出包。该包用统一的流模型实现了各种格式的输入/输出,包括文件系统、网络和设备的输入/输出等
java.net: 网络包。该包支持TCP/IP协议,其中提供了socket、URL和WWW的编程接口
java.awt: 抽象窗口工具集。其中实现了可以跨平台的图形用户界面组件,包括窗口、菜单、滚动条和对话框等
java.applet: 支持applet程序设计的基本包
(6) 安全性
用于网络、分布环境下的Java必须要防止病毒的入侵,Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
(1) JDK
1) Java编译器
Java编译器将Java源代码文件编译成可执行的Java字节码。Java源代码文件的扩展名为 .java,Java编译器把这种扩展名的文件编译成扩展名为.class的文件。源文件中的每个类在编译后都将产生一个class文件,这意味一个Java源代码文件可能编译生成多个class文件。
2) Java解释器
Java解释器对编译生成的字节码格式的可执行程序的运行提供支持,它是运行非图形Java程序的命令行工具。
3) Appletviewer
它是Java Applet的简单测试工具,可使用它来测试Java Applet程序,而不需要WWW浏览器的支持。
(2) Visual J++
Visual J++ 集成了可视化界面设计、交互式调试、代码编辑、联机帮助信息和介绍如何快速掌握该开发环境的实用向导等多项功能,同时具有能充分利用Active X和COM新技术的优势。利用Visual J++可创建交互性很强的Internet应用程序,是难得的Java 开发系统。
(1) Application 同 Applet 的通信
两端通过Socket机制进行连接:
1) 客户端的编程流程:
打开Socket,新建一个套接字;
为套接字建立一个输入和输出流;
根据服务器协议从套接字读入或向套接字写入;
清除套接字和输入/输出流;
2)服务器端的编程流程:
打开Server Socket,创建一个服务器型套接字和一个普通套接字,服务器型套接字在指定端口为客户端请求的Socket 服务;
使用ServerSocket类的accept()方法使服务器型套接字处于监听状态并把监听结果返回给普通套接字;
为该普通套接字创建输入和输出流;
从输入和输出流中读入或写入字节流,进行相应的处理,并将结果返回给客户端;
在客户端和服务器工作结束后关闭所有的对象,如服务器型的套接字,普通套接字,输入和输出流。
正是由于Java系统具有基于Socket的灵活通信机制,因而其应用程序能自由地打开和访问网络上的对象,就象在本地文件系统中一样。
(2) Applet之间的通信:
Applet之间的通信使用Applet Context类的getApplet()方法。
浏览量:2
下载量:0
时间:
Java是一种跨平台的、解释型语言,Java源代码编译成中间“字节码”存储于class文件中。由于跨平台的需要,Java字节码中包括了很多源代码信息,如变量名、方法名,并且通过这些名称来访问变量和方法,这些符号带有许多语义信息,很容易被反编译成Java源代码。为了防止这种现象,我们可以使用Java混淆器对Java字节码进行混淆。以下是读文网小编今天为大家精心准备的:浅谈基于JAVA 语言的混淆器设计模型研究相关论文。内容仅供参考,欢迎阅读!
随着软件事业的不断发展和应用,产生了很大的利润,因此逐渐出现了很多盗版软件,对软件开发企业的利益造成了很大的损害,也影响了软件产业的健康发展。代码混淆技术是目前保护软件版权的重要技术,它能够混淆转换源程序,产生性能等价的混淆代码,使逆向工程的难度增加,对于软件盗版是一种很有效的打击手段。
1.1 防御静态分析
1、设计混淆。设计混淆是在外形方面进行混淆,它作为第一道保护软件的措施,目前已经相对成熟。主要方式为改名和删除操作,以此来混淆转换代码。
2、类结构混淆。类结构混淆要首先融合或分裂软件的类结构,然后隐藏具体的类型,使系统类图的结构得到破坏,进而对真正的设计目的进行隐藏,以完成相应的混淆转换。
3、类内混淆。首先应当隐藏类内部的控制流跳转,通过类内部的方法进行融合,防止调用重构方法。然后进一步缩小粒度,考虑内部循环操作。再加入不透明谓词在程序控制流当中。最后交换整个方法的控制流,使攻击者无法理解程序控制流的转换,从而达到保护软件安全的目的。
4、数据混淆。在类内部方法间和方法内完成混淆转换控制流之后,虽然能够起到有效的软件保护作用,但是一些重要数据仍然显示存在于程序之中。而软件盗版者恰恰极为重视这一方面,因此,还需要混淆转换数据,例如变量重组混淆、数组重构混淆等,将关键性数据进行隐藏。
5、预防性混淆。预防性混淆的主要目的是为了防止反编译算、反汇编等方法进行软件盗版,对这些方法的实际应用进行阻止,以达到对软件安全的保护。
1.2 防御动态分析
防御动态主要是将一些动态运行过程中的标记性信息和程序中的调试信息进行删除,同时将反跟踪调试代码进行嵌入。不过,在当前的实际应用中,防御动态分析技术还缺乏足够的成熟性。由于它主要是用来对相应程序的运行信息进行分析,而就目前的相关技术来说,要实现这一点还存在着很大的困难。因此,防御动态分析技术还需要不断的进行提高和完善,以达到更好的软件保护效果。
1、预处理模块的设计。在混淆转换系统中,开始运行的是模块预处理模块,主要是预先分析源程序代码,在选择阶段提供相应的信息给混淆转换算法选择。程序代码分析技术是预处理模块的主要技术,通过预处理模块的数据流程分析、控制流程分析和其它基本分析,源程序会生成JAVA 类关系树、数据流程图、程序符号表等程序信息,在以后的程序分析中,以这些信息作为主要信息。预处理模块中包含了数据流程、控制流程、基本程序等几种分析方法,每种分析方法都具有不同的作用,各种方法的合作,共同完成了预处理模块的设计。
2、混淆算法池的设计。由于软件的种类很多,因此没有任何一种混淆算法能够满足所有种类软件的安全要求。对此,应当将几种混淆算法进行组合,形成混淆算法池,这样才能有效的对各类软件的安全进行保护。要进行这样的设计,就应当具有一个能够对大量的混淆算法进行管理和储存的模块存在于代码混淆转换系统当中。其中的基本操作对象就是各种混淆算法,混淆算法池的任务是对这些混淆算法进行运用、存储和管理。
3、混淆转换执行器的设计。在混淆算法的应用中,混淆转换执行器应当具有选择功能以及排序功能。在混淆转换执行器的设计过程中,需要设计混淆算法应用模块和混淆算法选择模块。将混淆算法池中选择的混淆算法和预处理模块分析处理后的程序信息输入到混淆转换执行器当中,混淆算法选择模块对最为合适的混淆算法进行选择和组合,实现程序的混淆转换。在每次执行完混淆算法之后,如果并没有达到预期的性能要求,将会返回混淆算法应用模块当中,重新选择和组合混淆算法进行混淆转换,直到最后达到要求,才会输出混淆之后的程序信息。
结论:在当今社会中,随着计算机技术和信息技术的快速发展和广泛应用,软件产业在迅速发展的同时产生了十分可观的利润,这就给盗版软件的出现创造了可能。为此,应当加强对软件安全的保护,降低盗版软件带来的危害。基于JAVA 语言的混淆技术是一种十分有效的技术,本文对其设计思想及设计模块进行了分析,希望能够推动软件安全保护的进一步发展。
相关
浏览量:2
下载量:0
时间: