上一页 1 2 3 4 5 6 ··· 10 下一页
摘要: #如何制定计划 任务分解:我们写程序的时候都有经验,就是要把复杂的问题拆分成简单的问题,大的模块拆成小的模块,在工程里面这个叫“分而治之”。做计划也是一样,第一步就是要对任务进行分解。在项目管理中,对任务分解有个专业的词汇叫 WBS,它意思是工作分解结构(Work Breakdown Structu 阅读全文
posted @ 2021-01-20 21:04 PwnKi 阅读(84) 评论(0) 推荐(0) 编辑
摘要: #软件工程可行性研究 常从三个方面着手做: 经济可行性。从成本和收益角度分析,看投入产出比。不仅要分析短期利益,还要分析长期利益,看是不是值得做。 技术可行性。软件项目最终是需要人通过技术来实现的,所以要分析技术上是不是可行,如果有技术上解决不了的问题又能否规避。 社会可行性。社会可行性涉及法律、道 阅读全文
posted @ 2021-01-19 22:45 PwnKi 阅读(118) 评论(0) 推荐(0) 编辑
摘要: #敏捷开发 ##敏捷开发定义 敏捷不是一种方法论,也不是一种软件开发的具体方法,更不是一个框架或过程,二十一套价值观和原则。软件开发宣言: 个体和互动高于流程和工具。 工作的软件高于详尽的文档。 客户的合作高于合同谈判。 响应变化高于遵循计划。 ##敏捷开发特点 需求分析:需求源于一个个小的用户故事 阅读全文
posted @ 2021-01-16 19:53 PwnKi 阅读(97) 评论(0) 推荐(0) 编辑
摘要: #瀑布模型 瀑布模型算是现代软件工程的起源,软件工程的发展,很大部分都是构建于瀑布模型的基础之上的。主要分为 6 个阶段: 问题的定义及规划:这个阶段是需求方和开发方共同确定软件开发目标,同时还要做可行性研究,以确定项目可行。这个阶段会产生需求文档和可行性研究报告。 需求分析:对需求方提出的所有需求 阅读全文
posted @ 2021-01-15 22:49 PwnKi 阅读(117) 评论(0) 推荐(0) 编辑
摘要: #什么架构师思维 架构设计,就是要控制技术的复杂性,其中有几种有效的方式: 抽象 分治 复用 迭代 ##抽象思维 抽象思维可以说是整个架构设计的基础。因为对于架构设计来说,是要为了满足业务需求的,而业务需求都是一些文字性的描述、原型、UI 设计图,这些需求要最终变成代码让机器执行,就必须先进行抽象, 阅读全文
posted @ 2021-01-14 20:22 PwnKi 阅读(131) 评论(0) 推荐(0) 编辑
摘要: #如何做好架构设计 架构设计,是为了控制软件项目中技术复杂的问题。架构设计,通过组织人员和技术,低成本满足需求以及需求的变化,保障软件稳定高效运行。 架构设计可以通过四个基本步骤: 分析需求 选择相似的成熟的架构设计方案 自顶向下层层细化。 验证和优化架构设计方案。 ##分析需求 架构设计,最基本的 阅读全文
posted @ 2021-01-13 16:50 PwnKi 阅读(112) 评论(0) 推荐(0) 编辑
摘要: #产品意识 产品意识,本质就是一种思维方式,一种站在产品角度思考问题的方式。可以分为: 商业意识 用户意识 数据意识 ##养成培养产品意识的好习惯 在日常使用产品、开发产品的时候,要多站在产品的角度思考,去思考它的商业价值、用户体验、使用场景等等。 比如平时聊天用的微信,在使用一些具体功能是,可以思 阅读全文
posted @ 2021-01-12 22:23 PwnKi 阅读(89) 评论(0) 推荐(0) 编辑
摘要: #怎样做需求分析? 主要经过三个步骤: 挖掘真实需求; 提出解决方案; 筛选和验证方案; 整个过程是迭代进行的,如下: 收集需求:对用户需求进行收集整理; 分析需求:对需求进行分析,挖掘用户真实需求; 需求评估:筛选过滤掉不可行的需求; 需求设计:针对用户需求提出解决方案,设计成产品方案; 验证需求 阅读全文
posted @ 2021-01-11 19:59 PwnKi 阅读(144) 评论(0) 推荐(1) 编辑
摘要: #你为什么应该学好软件工程? 软件工程学告诉我们,软件项目的开发其实是一个工程,整个开发过程是可以有效组织起来的;对于开发过程的各个阶段,已经有很多解决问题的最佳实践,有很多方法来帮助我们高效完成任务;我们还可以借助工具来协助管理,提升开发效率。 #从软件工程的角度解读任正非的新年公开信 ##软件项 阅读全文
posted @ 2021-01-10 21:54 PwnKi 阅读(167) 评论(0) 推荐(0) 编辑
摘要: #前言 一直以来没有系统学习过 linux ,今天通过《linux 鸟哥私房菜》这本书好好学习下。 ##用户和用户组 ###用户 Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。 用户的账号一方面可以帮 阅读全文
posted @ 2021-01-08 21:41 PwnKi 阅读(239) 评论(0) 推荐(0) 编辑
摘要: #前言 重温了下《深入理解计算机系统》这本书,有了些收获。 ##可执行文件生成的过程 以 “hello world” 程序为例, hello 程序的生命周期是从一个高级 C 语言程序开始的,因为这种形式能够被人读懂。然而,为了在系统上运行 hello.c 程序,每条 C 语句都必须被其他程序转化为一 阅读全文
posted @ 2021-01-06 21:17 PwnKi 阅读(786) 评论(0) 推荐(0) 编辑
摘要: #前言 重新看了下《C程序设计语言》这本书,有了一些新的收获。 ##关于变量 程序块(就是两个花括号之间)可以声明和初始化变量,这些变量是只限于花括号内的局部变量,花括号外并不能引用它们。 #include <stdio.h> int main() { extern int add(int a, i 阅读全文
posted @ 2021-01-04 21:24 PwnKi 阅读(170) 评论(0) 推荐(0) 编辑
摘要: #前言 最近想转 vim,高效是建立在对命令烂熟于心的基础上的。自己总结了一些方便记忆 vim 命令的点。(以 vscode 的 vim 插件为例) #vim 特点 我感觉 vim 的最大的特点就在于它的命令组合,比如说: 20dd 数字“20”就代表执行次数,“dd”是删除当前行,这个命令就代表着 阅读全文
posted @ 2021-01-01 18:27 PwnKi 阅读(141) 评论(0) 推荐(0) 编辑
摘要: #前言 工欲善其事,必先利其器。搭建一个良好的 pwn 环境能使 pwn 学习事半功倍。本篇文章介绍下使用 wsl2 搭建 pwn 环境的过程,使用 vmware 搭建 linux pwn 环境过程也是类似的,本文可以供作参考。 #windows 下的工具 ##wsl2 wsl 全称 Windows 阅读全文
posted @ 2020-12-29 00:46 PwnKi 阅读(7457) 评论(3) 推荐(3) 编辑
摘要: #0x1 BFnote ##程序分析 保护全开,看似无法利用,但其实还有 ret2_dl_runtime_resolve 可以利用,至于 canary 的绕过,出题人的博客写得很详细春秋杯网络安全公益联赛 BFnote出题小结 exp from pwn_debug import * file_nam 阅读全文
posted @ 2020-09-12 17:09 PwnKi 阅读(348) 评论(0) 推荐(0) 编辑
摘要: #前言 0ctf 的一道 babystack ,练习一下 ret2dl_resolve 技术。 #程序分析 int __cdecl main() { alarm(0xAu); my_read(); return 0; } ssize_t my_read() { char buf; // [esp+0 阅读全文
posted @ 2020-09-10 09:57 PwnKi 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 前言 别的师傅给的题目不知道出自哪里。 程序分析 int __cdecl main(int argc, const char **argv, const char **envp) { write(1LL, "welcome~\n", 9LL); vul(); return 0; } __int64 阅读全文
posted @ 2020-09-03 18:21 PwnKi 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 前言 平时正常刷刷 pwn 题,在使用 hyper 的时候突然报错了。 在某些目录下运行 ls 等命令会报错 ,但是如果是普通的 linux 终端就不会报错。 解决方法 真是奇怪的错误...不过懒得修了,先试试常规笨方法: 重启终端 重启虚拟机 重启主机 恢复快照 重新下载 hpyer 都没有解决, 阅读全文
posted @ 2020-09-01 22:18 PwnKi 阅读(395) 评论(0) 推荐(0) 编辑
摘要: #0x1 direct ##程序分析 add 函数 my_write("Index: "); result = my_scanf(); idx = result; if ( result <= 0xF ) { result = chunk_addr[result]; if ( !result ) { 阅读全文
posted @ 2020-08-30 23:08 PwnKi 阅读(1232) 评论(0) 推荐(1) 编辑
摘要: #0x1 magic_number ##分析 __int64 __fastcall main(__int64 a1, char **a2, char **a3) { char buf; // [rsp+0h] [rbp-30h] int v5; // [rsp+2Ch] [rbp-4h] sub_5 阅读全文
posted @ 2020-08-28 22:48 PwnKi 阅读(386) 评论(1) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 10 下一页