序  前言  第1篇面向过程的软件工程  第1章软件危机、软件工程  11软件工程的发展史  111程序设计时代  112程序系统时代  113软件工程时代  12软件危机主要表现形式  13产生软件危机的原因及解决途径  131产生软件危机的原因  132解决软件危机的途径  14软件和软件工程  141软件  142软件工程  15软件质量  16软件的生存周期及开发模型  161软件生存周期  162软件开发模型  17习题  第2章可行性研究  21可行性研究的目的与任务  22可行性研究的步骤  23系统流程图  231系统流程图的符号  232系统流程图示例  24成本-效益分析  241货币的时间价值  242投资回收期  243纯收入  25可行性研究报告的主要内容  26习题  第3章软件需求分析  31需求分析的任务和步骤  311需求分析的任务  312需求分析的步骤  32需求获取的常用方法  321常规的需求获取方法  322快速建立软件原型来获取需求  33需求分析的方法  331功能分解方法  332结构化分析方法  333信息建模方法  334面向对象的分析  34结构化分析方法  341自顶向下逐层分解的分析策略  342结构化分析描述工具  343数据流图  344数据字典  345加工逻辑的描述  35需求分析图形工具  351层次方框图  352Warnier图  353IPO图  36SA方法的应用  37习题  第4章软件总体设计  41软件总体设计的目标和任务  42软件设计的概念和原理  421模块和模块化  422抽象  423信息隐蔽和局部化  424模块独立性及其度量  43软件结构设计准则  44软件结构设计的图形工具  441软件结构图  442层次图  443HIPO图  45结构化设计方法  451数据流图的类型  452结构化设计方法的步骤  453变换型分析设计  454事务型分析设计  46习题  第5章软件详细设计  51详细设计的目的与任务  52结构化程序设计  53详细设计工具  531程序流程图  532NS图  533PAD图  534过程设计语言  54习题  第6章软件编码  61程序设计语言的分类  611基础语言  612结构化语言  613面向对象的语言  62程序设计语言的选择  63程序设计风格  631程序内部文档  632数据说明  633语句构造  634输入/输出  635效率  64习题  第7章软件测试  71软件测试的目标  72软件测试的原则  73软件测试方法  731静态测试与动态测试  732黑盒测试法与白盒测试法  74软件测试用例的设计  741白盒技术  742黑盒技术  75软件测试过程  751单元测试  752集成测试  753确认测试  754系统测试  76调试  761调试的目的  762调试技术  77习题  第8章软件维护  81软件维护的分类  82软件维护的特点  821结构化维护与非结构化维护  822维护的代价  823软件维护中存在的问题  83软件可维护性  831软件可维护性的定义  832软件可维护性的度量  833提高软件可维护性的方法  84维护的副作用  85软件再工程  851软件再工程与逆向工程的概念  852实施软件再工程的原因  853软件再工程技术  86习题  第2篇UML与面向对象的软件工程  第9章UML简介  91UML概述  911UML的组成  912UML的特点和用途  913UML的模型视图简介  92UML软件开发工具简介  921RationalRose  922Visio简介  93习题  第10章面向对象的概念  101面向对象的方法学  1011面向对象建模  1012面向对象的方法与传统软件方法的比较  102对象与类及其UML表示  1021对象  1022类与实例  1023对象属性与操作  1024对象类的关联  103聚集、组合、继承和多态  1031聚集与组合  1032抽象与继承  1033多态  104习题  第11章对象设计模式  111对象设计模式概念  1111历史背景  1112对象设计模式  1113设计模式的分类  112几种典型的对象设计模式及应用  1121行为型模式中的职
2025/6/29 10:27:15 3MB 软件工程原理
1
学习淘淘商城时有个MyBatis逆向工程自动生成代码,无奈博主的资源下载需要分太高,许多人无法下载,在这里希望帮到到家
2025/3/19 11:46:31 3.74MB web 逆向工程
1
本书深入探讨了现实世界中的软件破解问题,解释了它们是如何以及为什么被破解的,介绍了相关的攻击模式,以及它们是如何被发现的。
本书还展示了如何发现新软件的脆弱点以及如何利用这个脆弱点去攻破机器。
第1章介绍了软件是计算机系统安全问题的根本原因。
引入了“问题三组合”——复杂性、可扩展性以及连通性——并描述了为什么软件安全问题是不断成长的。
还介绍了软件的一些特征以及它们在软件攻击中的含义。
第2章介绍了实现bug和体系结构缺陷之间的区别,讨论了开放式系统的安全问题,并解释了为什么冒险管理是最明智的办法。
介绍了现实世界中的两个攻击案例:一个比较简单,另一个在技术上比较复杂。
本章的核心是讨论攻击模式,给出了攻击模式是如何适应不同网络安全特征的,并在本书的其他部分也介绍了攻击模式。
第3章的主题是逆向工程。
攻击者反汇编、反编译以及解构程序来理解程序是如何工作的,以及如何阻止程序这样工作。
在这一章里还介绍了常用的灰箱分析技术,包括利用安全补丁作为攻击地图的思想等。
介绍了交互式反汇编程序(InteractiveDisassembler,IDA),它是黑客用于理解程序行为的工具。
我们还仔细介绍了实用的黑客工具是如何被开发及使用的。
2025/2/19 3:38:48 14.83MB 软件剖析-代码攻防之道
1
"CabalLauncher:cabal_惊天动地_"涉及的主要知识点是游戏启动器Cabal的更新和使用,特别是针对"惊天动地"这个游戏。
Cabal是一款大型多人在线角色扮演游戏(MMORPG),在中国大陆由网禅公司代理,名为"惊天动地"。
中提到的“惊天动地的登录器可以更新补丁用VisualStudio2013打开”,这意味着游戏的登录器(Launcher)具备自动或手动下载并安装游戏更新补丁的功能。
VisualStudio2013则是一个强大的开发工具,它通常用于创建、编辑和编译各种应用程序,包括游戏客户端或登录器。
开发者可能使用VisualStudio来编写登录器的源代码,或者为了调试和修复问题而打开这个项目。
这里有几个关键知识点:1.**Cabal游戏登录器**:登录器是游戏客户端的一部分,负责验证用户身份、检查更新、下载补丁以及初始化游戏环境。
在"惊天动地"中,CabalLauncher是玩家进入游戏世界的入口。
2.**游戏补丁**:补丁是用来修正游戏中的错误、添加新功能或优化性能的软件更新。
游戏开发商会定期发布补丁以保持游戏的稳定性和新鲜感。
3.**VisualStudio2013**:这是一个集成开发环境(IDE),广泛应用于Windows应用、Web应用、移动应用等的开发。
它提供了一整套工具,如代码编辑器、调试器、版本控制工具等,方便开发者进行程序设计。
4.**更新机制**:游戏登录器的更新机制可能是通过HTTP或FTP服务器获取更新列表,然后下载所需文件到本地,覆盖旧版本。
有时,登录器会自动检测新版本,或者允许玩家手动检查更新。
5.**源代码开发与调试**:使用VisualStudio2013打开登录器意味着开发人员可以直接查看和修改源代码,这在修复bug、增加新特性或改进用户体验时非常有用。
6.**逆向工程与安全**:由于玩家可以使用VisualStudio打开登录器,这同时也提示了游戏的安全性问题。
开发者需要确保代码的加密和反调试措施,以防止非法篡改和作弊。
总结起来,"CabalLauncher"是"惊天动地"游戏的重要组成部分,它依赖于有效的更新机制和强大的开发工具如VisualStudio2013来确保游戏的正常运行和持续优化。
理解这些知识点对于玩家理解和维护游戏体验,以及开发者改进和保护游戏都至关重要。
2025/1/1 12:06:28 27.34MB cabal 惊天动地
1
基于SSM的简单增删改查之前简单了解了Spring后就想找个简单的项目练一下,于是就有了这个简单的增删改查,个人水平有限.-基础框架-ssm(Spring+SpringMVC+MyBatis)-数据库-MySQl-前端框架-bootstrap快速搭建界面-项目的依赖管理-Maven-分页-pagehelper-逆向工程-MyBatisGenerator
2024/12/29 13:22:21 418KB java
1
**密码机器v1.0**是一款专为CTF(CaptureTheFlag)竞赛设计的网页脚本工具,它集成了多种编码和加密方法,让用户在浏览器环境下就能轻松进行各种编码转换与解密操作。
这款工具的出现极大地提升了密码分析和网络安全领域中数据处理的效率,尤其对于那些需要频繁进行编码转换的场景,比如Web安全挑战、逆向工程或密码学研究。
我们来看看**编码转换**方面。
编码是计算机科学中基础且关键的概念,不同的编码方式决定了数据如何在数字世界中存储和传输。
常见的编码类型有ASCII、Unicode(包括UTF-8、UTF-16等)、Base64等。
在CTF比赛中,可能会遇到需要将字符串从一种编码转换为另一种的情况,例如,从ASCII转换为UTF-8,或者通过Base64编码隐藏信息。
密码机器v1.0提供了这些功能,使得参赛者可以快速解码或编码,以揭示隐藏的信息。
**加密方式**是密码学的核心。
此工具可能包含了对称加密(如AES、DES)、非对称加密(RSA、ECC)、哈希函数(MD5、SHA系列)、消息认证码(MAC)、伪随机数生成器(PRNG)以及各种密码算法的变种。
在CTF中,解密任务通常涉及找出密文的正确加密算法,然后使用正确的密钥还原原文。
密码机器v1.0提供了一站式的加密/解密平台,使得这个过程变得简单易行。
此外,**密码学技巧**在CTF中也至关重要,例如,XOR运算常常被用于简单的加解密操作,而字典攻击、蛮力攻击、生日攻击等破解策略也是解决加密问题时常用的方法。
密码机器v1.0可能内置了这些攻击模式,帮助用户快速测试各种可能性,提高解密效率。
不仅如此,此工具可能还支持**混淆和编码隐藏**技术,如HTML实体编码、URL编码、JavaScript混淆等,这些都是CTF中常见的障眼法。
通过解混淆和解码,我们可以揭示被隐藏的信息。
密码机器v1.0是一款强大的密码学工具,它整合了多种编码、加密、解密和攻击手段,是CTF爱好者和信息安全专业人士不可或缺的助手。
使用时,只需在浏览器中打开,无需安装任何软件,简单易用,大大降低了密码学应用的技术门槛,提高了工作效率。
无论是在学习密码学原理,还是在实际的网络安全挑战中,都能发挥重要作用。
2024/11/5 19:46:12 16KB 密码机器
1
为了有效地检测Android平台上的恶意软件,提出了一种基于敏感权限及其函数调用流程图的静态综合检测方法.通过对恶意软件进行逆向工程分析,构建了包含恶意代码敏感权限与函数调用图的特征库.并采用Munkres匈牙利算法计算待测样本与特征库在相同敏感权限下两个函数调用图之间的编辑距离,得到两个函数调用图之间的相似性,进而得到两个应用程序之间的相似性,据此对恶意软件进行检测识别.实验结果表明,该检测方法具有较高的准确性与有效性,检测效果明显优于工具Androguard.
2024/9/18 19:04:07 1.36MB 恶意代码检测
1
火龙果软件工程技术中心摘要:所谓SMC(SelfModifyingCode)技术,就是一种将可执行文件中的代码或数据进行加密,防止别人使用逆向工程工具(比如一些常见的反汇编工具)对程序进行静态分析的方法,只有程序运行时才对代码和数据进行解密,从而正常运行程序和访问数据。
计算机病毒通常也会采用SMC技术动态修改内存中的可执行代码来达到变形或对代码加密的目的,从而躲过杀毒软件的查杀或者迷惑反病毒工作者对代码进行分析。
由于该技术需要直接读写对内存中的机器码,所以多采用汇编语言实现,这使得很多想在自己的程序中使用SMC技术进行软件加密的C/C++程序员望而却步。
针对这种现状,本文提出了几种基于C/C+
1
SRILM源代码阅读笔记。
主要针对SRILM的ngram的训练,即ngram-count。
7个文件:1.类图.jpg:与ngram-count相关的主要类的静态图(使用了starUML的逆向工程工具);
2.ngram-count.jpg:从语料训练出模型的主要流程;
3.lmstats.countfile.jpg:ngram-count的子流程,用于构建词汇表和统计ngram的频度;
4.ngram.estimate.jpg:ngram-count的子流程,在词汇表和ngram频度的基础上计算ngram条件概率以及backoff权值的过程;
5.ngram.read.jpg:与训练无关,读取ARPA格式的语言模型的过程;
6.SRILM.uml:以上5个文件的原始图,以StarUML绘制(利用StarUML可直接编辑)7.SRILM.vsd:ngram-count相关的主要数据结构的内存布局+ngram条件概率计算公式的参数说明,以visio绘制(利用visio可直接编辑)
2024/7/15 8:41:17 4.87MB SRILM 源代码 分析 ngram
1
交互式反汇编器专业版(InteractiveDisassemblerProfessional),人们常称其为IDAPro,或简称为IDA。
是目前最棒的一个静态反编译软件,为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器!IDAPro是一款交互式的,可编程的,可扩展的,多处理器的,交叉Windows或LinuxWinCEMacOS平台主机来分析程序,被公认为最好的花钱可以买到的逆向工程利器。
IDAPro已经成为事实上的分析敌意代码的标准并让其自身迅速成为攻击研究领域的重要工具。
它支持数十种CPU指令集其中包括Intelx86,x64,MIPS,PowerPC,ARM,Z80,68000,c8051等等。
用它可以反编译许多文件。
2024/6/23 6:22:22 152.69MB 反编译
1
共 44 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡