程序设计综合
-
SMALLTALK程序设计导论(美)IBM公司著;梅宏,黄柏素译本书介绍一种面向对象程序设计语言——Smalltalk,旨在向不熟悉Smalltalk的开发者介绍Smalltalk编程方法描述关键的面向对象的概念,解释Smalltalk如何支持这些概念的实现,并给出一些用Smalltalk编程的例子。本书可作为面向对象技术的培训教材,特别适合于新接触Smalltalk及面向对象程序设计的读者。 -
算法与程序设计南志红主编高等院校、高职高专电子商务系列教材。 -
Visual FoxPro实用教程彭其美编著Visual FoxPro 7.0是FoxPro系列数据库管理系统产品的最新版本,本书是作者近年来在从事数据库应用教学实践的基础上结合Visual FoxPro 7.0的新特点编写而成的。内容包括集成开发环境、数据库与表、查询与视图、程序设计基础、面向对象的程序设计思想、表单及控件对象设计、菜单设计、多表单应用、类与ActiveX控件、报表设计、网络应用、应用程序的连编与发布、上机实验与课程设计指导等13章。书中配有丰富的实例和较详细的设计制作步骤,并提供大量练习题。本书可作为高职高专院校数据库应用课程的教材,也可以作为有关培训班和成人高等教育的教材或参考书,还可供从事中小型数据库应用开发人员或自学者使用。前言长期以来,FoxPro系列数据库产品一直作为我国开发中、小型数据库应用系统的主要工具。Visual FoxPro 7.0是FoxPro系列数据库管理系统产品的最新版本,不但为数据库应用开发人员提供了范围更加广泛的交互式开发环境,更为完善的数据库管理功能,性能更高的网络应用能力,而且与低版本的Visual FoxPro保持了较高的兼容性。本书旨在为高职高专教学提供一本Visual FoxPro 7.0的实用教材。本书是中国计算机学会高职高专教育学组组织编写的《高职高专计算机系列教材》之一。由于与相关课程有重复,因此,本书不包含数据库基础理论知识内容。按照高职高专的教学特点,必要的理论分析力求深入浅出,简明扼要,尽量通过实例说明问题。本书是作者在近年来从事数据库应用教学实践的基础上结合Visual FoxPro 7.0的新特点编写而成的。全书以可视化和面向对象的程序设计为基础,贯穿一个数据库应用的典型案例。从数据结构的分析、数据库及其基本表的创建到菜单、表单等可视化对象的设计,事件响应代码的编写都配有丰富的实例,拟定了较详?傅纳杓浦谱鞑街瑁欣舛纪ü薞isual FoxPro 7.0的运行调试。Visual FoxPro 7.0与它的低版本比较,主要增强了集成开发环境的功能,因此本书的绝大多数例题在Visual FoxPro 6.0上都可以正常运行。本教材的基本内容同样适用于Visual FoxPro 6.0版。课后复习和足够的上机练习是学好本课程的重要环节,本书的一个重要特色是每章后都配有大量的练习题。这些题目可以分为三类:一是对本章基本概念和基本内容的复习。二是以本章例题为参照的模仿型练习题,将原例题的环境、数据或条件做局部变动,参照例题可以很容易地完成,有利于学生迅速掌握本章的基本知识,熟悉基本操作。最后一类为开放型,没有完全类似或相近的例题可供参照,有助于学生对所学知识综合性或较灵活地运用。其中前两类占绝大多数,使用本教材的师生可以根据具体情况选择使用。最后一章包括实验指导、课程设计指导和课程设计选题三部分内容,是配合本教材使用而提供的一套实践教学环节辅助资料。希望对教师组织和安排实践教学有一定指导作用,为学生的实践学习过程提供有益的帮助。本教材也可以作为有关培训班和成人高等教育的教材或参考书,还可供从事中小型数据库应用开发人员或自学者使用。全书由冷英男教授担任主审,王芸、彭祥颖等承担了资料整理工作。在编写过程中始终得到电子工业出版社的支持,本书大纲得到中国计算机学会高职高专教育学组的审定,得到高职高专计算机教材编审委员会成员俞光昀、刘乃琦、文庭秋、田绍槐、朱乃立、骆耀祖、乔维声、俞泳薇、佟伟光、庄燕滨、陈书谦、程刚、崔剑波、刘甫迎、刘湘涛、徐建民、宋汉珍等老师的指导。在此表示衷心感谢。由于作者水平所限,错误和疏漏之处在所难免,恳请使用本书的师生给予批评指正。作者电子邮件:pqm@nbc.net.cn。 作者 2003年6月 于宁波 -
一群没有LOGO的农民兄弟余晖主编兄弟们走街串巷,道听途说;遇有新鲜事,也爱凑个热闹,摆摆龙门阵,与普罗大众一道分享喜怒哀乐。夜深人静之时,或退而结网,或自洗羽毛,做深沉状,给上帝添些笑料。收在这个集子里的文字,半文半白,倘或能给我们的读者上帝添些茶余饭后的谈资笑料,我们就满足了。由单人独筏的“飘”到集体的“飘”,在外人看来,似乎风平浪静,浪漫无比。这不,文章在继续地写,网站的点击率每天以近一万的速度在激增,以致媒体朋友提醒我们在无意中形成了一个“LOGO”,并且赏给我们一个2002年度“飘一代新锐”的雅号。但这叶小舟中的八位同仁却别有一番滋味在心头。正如本辑钟伟史的一篇文章所言,博士咖啡其实不过是“一帮没有LOGO的农民乌托邦”。他的意思是,那两个如杯似头的“LOGO”,至今并不能表示这一小撮学界异类的共同生活状态。因此,真正的LOGO并不存在,八个人的乌托邦仍遥遥无期,惟有一群农民的乌合之众,时不时地聚首咖啡屋,哪些不着边际的话题。 -
Visual FoxPro 6.0面向对象数据库教程徐尔贵,富莹伦编著高等学校教材。本书介绍VisualFoxPro6.0关系型数据库的基本概念、常量、变量、表达式、函数、常用命令、事件程序结构、类与对象、定义用户类,全程序方式和可视编程方式创建大型应用程序实例。本书与同类书比较,其显著的特点是,全新的数据库应用教程体系。它既介绍使用向导和设计器开发应用程序,也介绍全程序方式开发应用程序。清晰的概念、完整的内容、大型应用程序的例题都为读者全面掌握VisualFoxPro6.0面向对象事件驱动程序的设计方法与技巧打下坚实基础。本书适合作为高校管理学科各类专业及计算机应用专业的教材,对于广大的计算机用户来说,它也不失为一本极有参考价值的图书。此外,为便于读者学习和掌握该书内容,书后附有“VisualFoxPro6.0面向对象程序设计学习”光盘。 -
加密与解密段钢编著前言自计算机诞生之日起,其技术的发展可谓日新月异,各种新技术、新思路不断涌现。个人计算机操作系统也经历了DOS,Windows3.x,Windows9x,Windows2000及WindowsXP的历程。各种应用软件从最初的几个、几十个字节发展到现在的动辄几张光盘,成千上万的共享软件和商业软件越来越庞大,技术内涵也日趋复杂。一款优秀的软件,其技术秘密往往成为他人窃取的重点。作为软件开发人员,为了保护自己辛辛苦苦开发的软件不轻易被他人“借鉴”,有必要对软件保护(加密)和破解(解密)技术进行研究。但是,软件保护和破解方面的资料目前比较匮乏,许多软件开发人员不得不自行摸索,导致在重复劳动中走了不少弯路,耗费了大量的时间和精力。随着软件以共享方式在网络上发布这种方式的流行,软件保护和数据加密技术的迫切性被越来越突出地表现了出来。软件加解密的发展历史我们通常是随着操作系统的不断升级来划分相应的软件,所以划分软件加解密的发展历史就是操作系统发展的历史。1.DOS时期这个时代的软件主要是正式版和功能不全的Demo版以及一些磁盘防拷贝保护,很少有所谓的共享软件(Shareware)。所以DOS时代所谓的解密通常是去掉软件中的某些限制或跳过原版磁盘检查,然后通过广大业余的BBS提供下载。但值得一提的是,这个时代的软件由于16位操作系统很容易接触到系统底层的原因,而导致个别软件保护方式异常强悍,又因为在16位平台上很难区分系统领空和程序领空而导致天然的破解跟踪困难,所以这个时代的软件保护机制两极分化很严重。2.Windows95早期当Windows95出现的时候,很多人不适应这个平台,它上面的加解密资料奇缺,对许多人来说就像做了一场恶梦。这段时期共享软件渐渐地盛行起来,采用序列号保护的共享软件越来越多。由于当时许多程序员对刚刚出现的Windows95不了解,感觉有些手足无措,编制的软件在加密部分都比较脆弱,所以那时候的序列号加密方案特别脆弱。3.Windows95末期其实这段时期应该是Windows95和Windows98共存的时期。在这个时期,程序员已经对Windows9x这个系统了如指掌,一些需要较高编程技巧、与系统核心等底层联系紧密的软件纷纷出笼。这个时期,共享软件大多还是采用序列号加密方式,但其序列号通常经过复杂的计算,所以很难像早期的软件一样,随随便便就能被解密。4.Windows2000/XP时期这段时期就是Windows9x和Windows2000/XP共存的时期。这时,各种软件的加密外壳泛滥,特别是各种专用加壳软件的出现,大大地提高了软件的保护质量;同时,解密技术也不断提高,各种新式的解密工具随即出现。此时的序列号加密越来越多地采用密码学中不可逆的加密算法,使得解密的过程越来越像高等数学的研究。软件解密者要想得到正确的序列号就必须对各种成熟加密算法有很深的了解,或者找出软件加密算法的漏洞(像WinRAR。CloneCD等软件的Keygen就是利用ECC椭圆算法的加密漏洞而编制出来的)。关于本书2000年初,作者想找一些研究加解密的朋友交流一下,但十分令人遗憾的是,那时国内这方面的技术资料很缺乏,不成系统,大家交流的也有限,因此就建了一个主页“看雪学院”,与大家共同探讨加密与解密的知识。这个主页是当时国内惟一一个从技术角度研究加解密的站点,并在广大网友的支持下,健康地成长了起来了。后来,主页提供的软件调试论坛成了国内知名的加解密技术论坛,吸引了密界众多高手。大家以知识共享的精神,无私地将自己所知的技术奉献出来了,至今为止原创了2500余篇文章,极大地推动了国内加解密技术的发展。这是一本很难写的书,因为当时这是一个全新的领域。从Windows95面世以来的6年内,市面上没有一本这方面的书,网上也很缺乏相关资料。为了填补国内Windows平台上加密与解密书籍的空白,作者与软件调试论坛的密界一流好手努力合作,克服种种困难,于2001年9月推出了国内第一本全面介绍Windows平台下软件加密与解密技术的书籍,这就是本书的第一版《加密与解密:软件保护技术及完全解决方案》。在第一版中,我们试图从软件加密和解密这两个方面对当今流行的软件保护技术进行了分析。希望读者看过本书之后,能够对各种流行的软件保护与破解技术有所了解。第一版一面世就得到了广大读者的喜爱和认可,获得了2002年全国优秀畅销书奖(科技类)!在全国很多计算机专业书店获得了名利前茅的销售业绩,而且一年来在著名的华储网销售排行中都被排在前几名内。次年,本书在台湾发行了繁体版,得到了台湾读者的热烈欢迎。为了跟上技术发展的步伐,作者花费了6个月时间做准备,6个月时间进行写作,汇集了国内顶尖软件调试论坛(看雪论坛)的众多密界一流好手,以本书第一版为基础,更新了第一版的大部分内容,最后完成了本书的第二版《加密与解密》。这本500多页的图书,几乎囊括了Windows下软件保护的绝大多数内容,从基本的跟踪调试到深层的拆解脱壳、从浅显的分析注册到商用的软件保护,其跨度之广、内容之深,国内至今尚无同类出版物能与之比肩。内容导读第二版是在一版基础上写成的,删除了第一版中的过时内容,补充了许多新技术。全书有一半的内容与第一版不同,结构更加合理。补充和加强了Windows与Unicode、代码逆向分析、IDA详细操作、SoftICE符号调试技术、OllDbg操作、密码学算法应用、VB的Pcode跟踪、增加PE文件的功能、SEH技术、脱壳技术等。什么是API?什么是Unicode?什么是逆向分析?Winodws9x与Windows2000/XP上的加解密究竟有什么不同?只有了解这些基础知识,在加密与解密过程中才能有的放矢地处理各种问题。本书的基础篇(第1章"基础知识"和第2章"代码分析技术")将系统地解答这些问题。在进行软件解密的过程中,一个首要问题是对被解密的软件进行分析,这部分就是静态分析与动态分析技术。本书以极大的篇幅讲述了这两种分析技巧,包括逆向工程必备工具IDA的详细操作,最新SoftICE和OllyDbg的操作等。这些内容可以在第3章"静态分析技术"与第4章"动态分析技术"中找到。一些软件作者对软件保护方案的策划与实施很不以为然,他们往往自以为保护在解密者眼中不堪一击。希望本部分能让这些软件作者了解一些软件攻击的方法,以便更好地保护自己的作品。在这个年代,研究加解密不掌握点密码学的知识是不可思意的。第二版详细讲解了MD5,SHA,CRC,RSA,ElGamal等算法在软件保护方面的应用,并且光盘上提供了实例的源码!这些内容可以在第5章"软件保护及其弱点"与第6章"加密算法"中找到。现在所使用的语言无非是两种:一种是解释执行的语言,另一种就是编译后才能够执行的语言。解释语言的最大弱点之一就是能被反编译,因此其保护的重点应放在如何防止反编译上。这些内容可以在第7章"反编译语言"中找到。PE是Windows上可执行文件的格式,熟知PE文件将有助于对操作系统的深刻理解。如果你知道EXE和DLL里面的奥秘,就成为一名知识更加渊博的程序员。本书用大量篇幅,图文并貌地详细讲解了PE格式(第8章"PE文件格式")。在掌握PE格式后,就可随心所意地对PE文件做"手术",进行二次开发,如增加菜单、按钮等功能。这部分将带你走进另一个计算机的世界里去(第9章"增加PE文件功能")。SEH的出现已非一日,但有关SEH的知识资料却不是很多。SEH不仅可以简化程序的错误处理,使程序更加健壮,还被广泛应用于反跟踪和加密中。本书从解密角度讲述了SEH的机理,同时讲述了其他各种反跟踪技术,如Anti-Debug、花指令等。软件作者可以将这些技术应用到自己的软件中去,以加强软件的反跟踪能力(第10章"反跟踪技术")。现在,越来越多的软件都采用了加壳保护。当在软件分析和汉化过程中,脱壳是必不可少的一步。第11章"加壳与脱壳"详细介绍了各种壳的脱壳技巧,读者可以在自己的软件中运用这些壳中的先进反跟踪技术。第12章"补丁技术"介绍了文件补丁和内存补丁技术,同时重点讲解了SMC技术在补丁方面的应用。学习补丁是一件很有意思的事情。商用软件保护技术实际就是对商业软件加密的技术,真正有价值的商业软件一般都会采用这些技术来保护。第13章"商用软件保护技术"讲解了常见的商业保护技术,如软件狗,Vbox,SalesAgent,Flexlm等保护,而且对这些保护的优缺点进行了分析。对读者的要求本书适合以下读者。对软件加密与解密感兴趣的读者对软件保护感兴趣的软件开发人员对逆向工程感兴趣的读者对调试技术感兴趣的读者使用本书需要具备以下知识。汇编基础知识。此类书籍市面上很多,如《IBMPC汇编语言程序设计》等。应了解C语言。了解C语言的某些知识是有帮助的,但不是必须了解。Win32编程。不管研究加密与解密,还是编程,都必须了解Win32编程。Win32编程就是API方式的Windows程序设计,学习WindowsAPI能使您更深入地了解Windows工作方式。此类书籍有CharlesPetzold所著的《Windows程序设计》,该书堪称经典之作,它以C语言为讲解平台。另一本书是罗云彬所编著的《Windows环境下32位汇编语言程序设计》,它以Win32汇编为讲解平台。到此为止,作者将不再假设您已经具有任何加解密的经验了。致谢感谢我的母校同济大学,她的"同舟共济、自强不息"的同济精神一直指导着我的工作和学习!感谢电子工业出版社计算机事业部对本书的大力支持!同时也要感谢那些共同参与第一版组稿的软件调试论坛的众多密界一流好手,是他们的参与才让此书得以完成。这次的第二版改动较大,参考引用了如下朋友在第一版中参与的文章:1.Blowfish(http://www.shieldsoftware.com/)参与的"软件保护技术"、"Anti-Debug"、"JAVA程序反编译";2.DREAMtHEATE参与的"Windows消息机制";3.DDXia[CCG]参与的"远程调试技术","补丁技术";4.Passion参与的"FileMon的使用"、"TimeLOCK保护";5.Ljtt参与的"花指令";6.Arbiter参与的"FrogsICE使用简介"、"CRC原理篇";7.Ajj(http://ajj.126.com/)参与的"IceDump和NticeDump的使用";8.Fisheep(fisheep@sohu.com)参与的"VBOX4.3"、"SalesAgent保护技术"、"FlexGen工具用法"、"利用FlexLmSDK解密"、"浮点指令小结";9.吴朝相(http://www.souxin.com/)参与的"常用断点设置技巧"及"认识壳";10.mr.wei参与的"DeDe用法";11.邹丹(http://www.zoudan.com)的论文"关于Windows95下的可执行文件的加密研究";12.TiANWEi(http://winice.yeah.net)参与的"SoftICE指令手册"。在第二版的编写过程中特别感谢:1.Hume(http://humeasm.yeah.net/)提供的"指令优化一文";2.老罗的缤纷天地(http://www.luocong.com/)提供的"CRC32实践篇"与"奇妙的Base64编码"两篇文章及实例;3.夜月提供"Blowfish算法解密"一文;4.娃娃(王凌迪)参与的"MD5算法"资料;5.Blowfish的"ReVirgin使用指南","挫败隐藏在SEHhandler中的保护"。同时也要感谢SunBird,Hying,Spring,pll621,Ajj,小楼,Ljtt,Arbiter,Aming,Cooljiang,洋白菜,WinDos2K,小牧童等软件调试论坛的众多朋友的支持和帮助!论坛网友的一言一行都已融进了本书的文字里,实在无法一一列举。特别感谢CCG团体给与的技术支持!关于配套光盘本书所有实例及源码均在配套光盘里提供,大部分实例是使用MicrosoftVisualC++6.0开发和测试的。由于版权问题,配套光盘仅提供书中提到的免费软件或共享软件。如果从学习角度需要使用那些有版权的软件,建议用搜索引擎查找(如www.google.com)。光盘提供的软件经过多方面检查测试,绝无病毒。但一些加解密工具采用了某些病毒技术,因此部分代码与某些病毒的特征码类似,会造成查毒软件的误报。请勿将光盘的文件做成虚拟光驱,并跟踪调试虚拟光驱上的实例,以免出现一些无法解释的错误。建议将文件拷贝到硬盘,并去除只读属性再调试。反馈信息我们非常希望能够了解读者对本书的看法。如果有什么问题或有自己的调试实战故事,欢迎发到作者主页的论坛里,我乐意回答朋友们提出的任何合理的问题,因为当我努力回答这些问题时,也会从中获益匪浅。 -
精通BIOS与Windows注册表苏国彬等编著本书第一版曾荣获“全国畅销书奖”,并荣登全国各大书城畅销书榜首。第二版继承了信息量大、操作性强的优点,并根据目前最新内容进行了全面更新,详细地介绍了BIOS和Windows 9x/NT/2000/XP操作系统注册表的基础知识,其中包括Award、AMI和Phoenix BIOS的升级方法以及在Windows 9x/NT/2000/XP操作系统中通过注册表来优化、设置和维护系统的具体实例。本书内容实用,讲解深入,特别是书中提供的大量实例,可以帮助用户迅速解决在实际使用中遇到的问题。本书适合各类计算机用户,是计算机使用者日常维护计算机必备的工具书。本书特色深入剖析BIOS与Windows注册表的来龙去脉全面讲述BIOS与Windows注册表的设置方法使读者轻松出入电脑禁区,成为电脑高手第2版的新增内容多种主流BIOS及最新的芯片组的设置方法Windows XP注册表的详细介绍与设置方法更多的BIOS与Windows注册表修改实例,使您轻松应对各种电脑故障 -
Project 2002从入门到精通(美)Gini Courter,(美)Annette Marquis,(美)Michael Miller著;朱军[等]译在项目管理领域,微软公司推出的Microsoft Project系列产品是最杰出的代表。 Project从1.0版到2002版,经过不断的完善和提高,最新的2002版增加了许多新的功能,主要是加强了网络特性和更具人性化的支持。本书共分六个部分。第一部分介绍了项目管理的基本概念。第二部分描述了项目管理的全过程。第三部分叙述了在多个项目中怎样用项目评审技术(PERT)正确地安排项目进度表。第四部分介绍了怎样用视图和报表分析数据并评估项目进展状况。第五部分探讨了工作组功能和企业功能。第六部分讨论了定制 Project2002,使它满足用户特殊需要时读者必须掌握的技巧,包括创建宏和用VBA编写Project应用程序。本书适合运用Project实施项目管理的人阅读,也可以作为项目管理相关专业的研究生、大学生的参考读物。 -
UNIX和shell程序设计权威教程(美)Behroua A.Forouzan,(美)Richard F.Gilberg著;彭松虎译;彭松虎译本书介绍了UNIX操作系统和shell编程两个部分的知识。前一部分全面讲解了UNIX操作系统,包括UNIX操作系统、vi和ex编辑器、文件系统与文件操作权限、以及各种UNIX实用程序;后一部分深入介绍了各种类型的UNIXshell编程,涵盖了Kornshell、Cshell等主要的shell类型。本书采用可视化讲解方法,全书包含大量的图、表、代码清单、脚本和代码示例,可有效帮助读者理解所介绍的内容;各章章末还配备了相应的复习题、练习题和上机实习等资料,以帮助读者巩固所学的知识。本书内容生动,脉络清晰,适于用作高等院校UNIX课程教材,也适于UNIX自学人员和从事UNIXshell编程的读者阅读。本书特色提挈:·内容安排循序渐进,从讲解UNIX基础知识入手逐步过渡到介绍脚本的编写方法·借助大量的实例和图形,用简单、直观的方式来讲解复杂的知识·教师可在线获得一套完整的图形及各种主题排列方式的详细大纲 -
Tuxedo中间件开发与配置徐春金编著在电信、金融等行业的大型计算机应用系统中,中间件的使用日益普及,中间件已与操作系统、数据库并列为三大基础软件。BEA Tuxedo作为最优秀的交易中间件,在很多行业中的使用非常广泛,本书结合作者多年使用Tuxedo的经验,通过大量例子详细介绍Tuxedo的设计、开发、配置、管理等方面的内容。使读者可以快速、全面的掌握Tuxedo。本书的主要内容如下:Tuxedo的安装和配置、Tuxedo应用系统的管理维护、Tuxedo的缓冲区介绍、Tuxedo的服务端编程、Tuxedo的客户端编程、Tuxedo的通讯方式、Tuxedo的数据库编程、Tuxedo的可靠消息队列/Q、Tuxedo与其他系统的互连和Tuxedo的性能调整。本书既适合初学者学习,也可作为有一定使用经验的开发管理人员的参考书。
