首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何写一个 Burp 插件

一个师傅的电脑里面应该都有一个 Burp。同时 Burp 和很多其他神器一样,它也支持插件。但是目前总体来说网上 Burp 插件开发的资料不是特别特别的丰富。...今天我也来讲讲自己如何从一个完全不会 Burp 插件开发的小白如何学习 Burp 插件的开发。 如何调试 其实开发一样东西,调试真的特别重要。如果没有调试,那就和瞎子摸象差不多,非常的难顶。...新增一个 Remote 配置,命名可以随自己的喜好。 ? 2. 命令行启动 Burp 为了配合调试,需要在命令行中使用刚才新建 DEBUG 配置的参数来启动 Burp。...讲一个例子,比如要对 Proxy 进行相关的操作。 首先,需要在 BurpExtender 中实现 IProxyListener 接口,接下来就需要实现 processProxyMessage 方法。...网上目前也有很多开源的 Burp 插件代码,其实你可以找一个感兴趣的 Burp 插件代码看一下,你就可以快速地了解这些 API 的作用。

1K20
您找到你想要的搜索结果了吗?
是的
没有找到

如何写一个webpack插件(一)

不过幸好最后给了一个plugins的API文档,才让我开发的过程中稍微有点头绪。...其次,需要设一个func.prototype.apply函数。这个函数是提供给webpack运行时调用的。webpack会在这里注入compiler对象。...另一个是用户写在webpack.config.js里的参数。隐约觉得这里好多未来都可能会是webpack暴露给用户的接口,使webpack的定制化功能更强大。...这个相当于是插件可以进行处理的webpack的运行中的一些任务点,webpack就是完成一个一个任务而完成整个打包构建过程的。如下图: ?...例子 接下来,会以最近我写的一个插件html-res-webpack-plugin作为引子,来介绍基本的写插件原理。插件的逻辑就写在index.js里。

1.3K80

Question:如何写一个外设驱动?

如何写一个外设驱动?...1、编写外设驱动流程 该问题为基础问题,也是大家基本功的表现,下面一起来看一下吧 写一个常见的字符设备外设驱动,主要遵循以下流程: 了解硬件和接口:查看外设用户手册,了解该外设使用的是什么通信接口,IIC...以上就是一个简单的外设驱动的编写流程,示例外设驱动程序以及更多嵌入式知识可以看这里:https://t.zsxq.com/0eUcTOhdO 2、常见问题 img Q:设备编号的分配方式有哪些?...动态分配:系统自动为其分配一个未被占用的设备号 静态分配:自行定义设备号,注册进入系统中。 Q:主设备号和次设备号有什么意义?...匹配方式:ACPI(Advanced Configuration and Power Interface),通过设备ID编号和驱动ID编号来匹配 ID Table匹配方式:驱动提供ID Table,设备提供一个

16920

如何写一个通用的README规范

但我们在多人合作开发下,经常碰到的最头疼的问题是,其他开发者在交接给我们一个项目时只是对项目目前现有的功能简单的描述了下,我们在后续迭代功能时突然发现连最基本的项目如何运行都没有给我们交代,当时心中一万只那个什么马奔腾而过...那么问题来了,我们在交接一个项目时,如何保证项目能快速完整地交付给基友,从此过上无忧无虑的生活呢?答案是我们只需要甩给他一份标准规范的README。...最好是直接导出一个代理配置的文件,放在项目下 iv. 发布。如果我们有用到一些发布平台,最好贴上项目的发布模块和发布单,减少我们发布的时间成本。 v. 错误告警及监控。...业务介绍 对于前端来说,我们一个项目可能不止一个页面,那么我们需要给出以下信息: i. 业务入口地址及渠道链接 即我们整个项目的入口页面,或者比较重要的页面地址。...最后 上面是我们一个规范的README所需的一些信息和内容,加粗内容是我认为README里的一些必需信息,大家也可以在此基础上针对自己项目实际的开发场景来扩展一些规范信息。

1.2K10

如何写一个 JS 运行时

本文简单介绍一下如何写一个 JS 运行时,相比操作系统、编译器来说,写一个 JS 运行时理论上并不是一个难的事情,但是写一个优秀且功能齐全的运行时并不是一个容易的事情。...JS 引擎 写一个 JS 运行时,首先就必须需要一个 JS 引擎来处理 JS,大部分的 JS 运行时都是基于 V8的,当然你也可以使用其他的 JS 引擎。...所以首先需要选择一个 JS 引擎,然后下载代码,编译成功。有了 JS 引擎,就可以通过它提供的一些 API 实现一个可以执行 JS 代码的软件。...事件循环 有了之前的基础后,接下来我们就需要实现一个事件循环,因为有些拓展功能的 API,是同步执行的,但是有些是不能同步执行的,比如文件、网络。所以我们需要一个事件循环来处理异步的任务。...但是还有一个重要的部分需要实现,那就是模块加载器,内置的功能可以通过挂载到全局变量的方式来实现,这样用户就不需要通过模块加载器的方式来使用拓展功能,但是用户的 JS,还是需要一个模块加载器。

1.7K30

如何写一个高逼格 README

最近一个项目从程序员变成了一个高级文档哥,好吧,我还称不上高级,但是我发现写文档真不是一件容易的事情,要怎么写的让人看的舒服、巴适、爽的不行,看完就想给你个赞呢?...编写一个项目的 README 就像是写一本书的序言一样,一个好的项目不应该仅仅只有一份高质量代码,同时更应该有一份高质量的文档。而对使用者来说,一份好的文档能够节省大量的时间。...国际化 要知道比如 GitHub 这样的代码托管平台,可是有着另一个名字,全世界最大的同性交友网站(技术基不说话),你的项目可能不止中国的程序猿在使用,一个好的项目,使用者来自世界各地,那么一份中英双语的文档至关重要...对于一个 API 应该表述清楚的是: 作用 入参及每个参数是否必须,数据类型是什么等等 返回值 如果你的 API 不多,那么可以放在一个文件里,但是如果你的 API 非常多,那么建议你将 API 单独放到一个文件里...,这个文件留一个链接就可以。

20840

如何写一个清晰明了的bug

而函数算法派其实就是if else派,这一派是一个古老的门派,他们围绕着一个方法体(或者叫函数)就可以一直写下去并且能解决问题。...我们把exist的逻辑单独抽取了一个方法,同时又把主逻辑代码也抽了一个方法,你会发现forYes1方法的代码长度并没有增加多少,依然保持的良好的可读性。...三组 上面的第二法则是抽取一个private方法,还没有出类。当我们抽取到一定地步,会发现适合单独成类的时候,应该把之前的这些private方法移动到一个新的类中。...为此你需要使用一个设计模式来改善现在的实现。 如果你还记得设计模式,你一定还记得有一个状态模式(State Pattern)。 现在我们就尝试使用状态模式来重构我们的代码。...我们希望最终的样子是这样的: 首先新建一个State接口类: 然后新建三个实现状态,分别是Yes,No和Cancel: 然后新建一个Context类: 然后,新建一个State工厂类: 改造完毕。

65530

如何写一个好的设计文档?

1.概要 大部分的工程师都不重视设计文档的书写,对于一个需求,都是经过一些简单的讨论,写一个简单的方案甚至就是自己简单的想想就开始进行编码的工作。...比如,你可能对一个技术或者概念很熟悉了,但是你在要说出来或者写出来给别人看的时候,或许就会发现有些技术的细节你没有考虑清楚。 当你在写一个设计文档的时候,会逼迫你自己去把每一个细节都弄清楚,想明白。...2.设计文档 对于一个设计文档的书写,应该满足STAR原则,同时一个好的设计文档需要考虑业内的各种实现方案,不能闭门造车。 基于此我认为主要会分为8个部分。...需求分析的要求是需要画出一个 用例图,用来描述用户的所有用例。 2.4方案对比 在进行方案设计时,其实也是一个方案调研的阶段,需要调研业内或者一些开源系统的相关功能实现。...方案对比主要是为了选择出一个适合于自己业务的,有时候不要为了技术而技术,简单合适反而是最佳的选择。

2K20

如何写一个代码编辑器

闲扯 学无止境,我们现在的技术都是基于前一代人之上做出来的,要想成为一个高级/资深的前端,重点不是你能创造多少东西,而是你知道多少东西。有没有解决问题的能力。...所以现代社会是一个认知的社会,只有不断的突破自己的认知,才能够成为更优秀的人。 最近在搞公众号,虽然公众号已经写了快两年了,但是一直没有推广过。...正题 当我们想做一个事情的时候,往往最难的不是做,而是不知道从哪做起,怎么做?我的每篇文章都会讲我是如何去一点点解决问题的,希望能够尽我的绵薄之力帮助有心之人。...class 我们找到了一个很可疑的单词 CodeMirror 接下来去 github 上搜索一下 CodeMirror ? class 果然被我们找到了,点进去查看他的用法。...小结 又到了小结时刻,当我们看见一个很厉害的东西的时候,不要害怕,其实你也可以,大部分的功能其实已经被别人封装好了,我们都是站在巨人的肩膀上。

1.7K31

数据获取:​如何写一个基础爬虫

写好一个爬虫最基本的是做好页面分析,找到链接和规律,这样在写爬虫的时候就可以有方向和目的性。接下来,我们就以爬虫最常用的豆瓣评分TOP250的内容作为爬虫的demo,以此来学习使用相关知识。...所以,在开始之前我们制定好需求,爬取豆瓣TOP250电影的信息,内容包括电影名称、导演、电影类型(多类型按第一个)、制片国家/地区(多国家按第一个)、语言、上映年份、电影评分,评价人数。...)、制片国家/地区(多国家按第一个)、上映年份、电影评分,评价人数。...现在的方法每次也只能爬取一个页面链接,但是我们需要爬取25页,所以需要先将此方法封装成通用的方法。为了方便后面的储存,我们先设计一个豆瓣电影的类。...但是作为一个完整的爬虫程序来说,只需要有一个main方法入口,然后可以将所有需要的信息都爬取完成,所以我们还需要将上面的两个小节的内容合成起来,做到一个完整的流程,写好一个完整的爬虫。

24930

干货 | 如何写一个更好的Python函数?

基于我的理解,如果一个Python函数能够符合下面的大部分条件,我会认为它是一个“好”函数: 命名合理 单一功能 包括文档字符串 返回一个值 不超过50行 是幂等函数或纯函数 对许多人来说,这些要求可能显得过于苛刻了...一个函数应该只有一个功能。也就是说,它应该只做一件事。 一个重要的原因是,如果每个函数只做一件事,只有这件事发生了变化,才需要改变这个函数。...所以,这个函数最好写成两个独立的函数:一个用来执行并返回计算结果,另一个用来获取这些结果并打印出来。...单独返回一个值是没有意义的。” 可以使用元组返回多个值。 总是返回一个有用的值,调用者总是可以自由地忽略它们。 函数长度 让你读一个200行的函数,并说出它是做什么的,你是什么感受?...return add_three_calls 我们现在正在打印到控制台(一个副作用)并修改一个非局部变量(另一个副作用),但是由于这两者都不影响函数返回的值,它仍然是幂等的。 纯函数没有副作用。

58620

干货 | 如何写一个更好的Python函数?

基于我的理解,如果一个Python函数能够符合下面的大部分条件,我会认为它是一个“好”函数: 命名合理 单一功能 包括文档字符串 返回一个值 不超过50行 是幂等函数或纯函数 对许多人来说,这些要求可能显得过于苛刻了...一个函数应该只有一个功能。也就是说,它应该只做一件事。 一个重要的原因是,如果每个函数只做一件事,只有这件事发生了变化,才需要改变这个函数。...所以,这个函数最好写成两个独立的函数:一个用来执行并返回计算结果,另一个用来获取这些结果并打印出来。...单独返回一个值是没有意义的。” 可以使用元组返回多个值。 总是返回一个有用的值,调用者总是可以自由地忽略它们。 函数长度 让你读一个200行的函数,并说出它是做什么的,你是什么感受?...return add_three_calls 我们现在正在打印到控制台(一个副作用)并修改一个非局部变量(另一个副作用),但是由于这两者都不影响函数返回的值,它仍然是幂等的。 纯函数没有副作用。

58210

程序猿应该如何写一个函数

在代码中,传入了一个多维数据one_table_data,但是在函数里面修改了其中的值,这样整个函数就没法保持幂等性了,再调用一次的时候,参数就已经被修改了,这就产生了不可预测性。...就这个函数而言,修改一下就能保持幂等性,直接将21-23行修改一下就能完成: return index_r, index_h, cell_row, cell_column 这时,函数也可以少传入一个参数...这里还有一个大小写的问题,在python中习惯上,通常都是使用小写单词作为变量名,不应该混用命名方式。...单复数问题也是变量名中常见的,例如:cell_row和cell_column,这两个在定义上都是一个列表,命名上应该是复数的形式,如:cell_rows, cell_cols。...减少代码的缩进层数 ---- 代码中体现不多,不过也是可以优化的,函数中的两个循环体都是可以优化的,例如第一个循环体: cell_row = [] cell_column = []

37630
领券