插件分享 可对内置暴力破解进行字典替换的Dictionary Config_goby 增加字典

46 阅读3分钟

0x001 插件效果

1.1 插件使用

1.1.1 批量替换字典

在这里插入图片描述

1.1.2 自定义字典

在这里插入图片描述

1.2 插件入口

安装完插件后,可以在工具栏内看到插件的按钮。

在这里插入图片描述

1.3 字典配置

插件目前预置了3个等级的字典:精简、中等以及复杂。

在这里插入图片描述
自定义可以自由组合这些字典的等级进行配置。

在这里插入图片描述
至少需要选择一个协议的字典进行配置,如果没有选择直接保存的话会有提示。

在这里插入图片描述
配置成功后会有提示。

在这里插入图片描述

0x002 插件开发

2.1 确定思路

用node来操作文件,用我们插件预置的字典来替换Goby内置的字典,找到Goby字典的路径:goby\golib,在Goby根目录下的golib目录就是字典的路径。

2.2 确定入口点

将插件入口点选择放在工具栏

"contributes": {
        "views": {
            "toolbar": [
                {
                    "command": "dictionaries",
                    "title": "dictionaries",
                    "icon":"./src/assets/img/dictionaries.png"
                }
            ]
        }
}

2.3 业务开发

业务逻辑很简单,就是按照用户选择的等级将不同字典文件的内容写入到Goby内置字典。
首先替换文件很简单,直接在我们的插件弹窗页面操作。
将node中的模块引进来

data: {
            goby:parent.goby,
            path:parent.require('path'),
            fs:parent.require('fs') 
        }

写一个文件替换的方法,需要两个参数:

  1. 插件预置字典的路径;
  2. 需要替换的字典
replace(url,name){
      this.fs.readFile(url,'utf-8',(err,data)=>{
          if(err){
              this.fail.push(name);
              return;
          }
          this.fs.writeFile(this.dictionariesPath[name],data,(error)=>{
              if(error){
                 this.fail.push(name);
                 return;
              }
          })
      })
    }

最后给Save按钮绑定点击事件,并且根据用户选择的是全替换还是自定义来进行不同的操作。

<el-button type="primary" class="save" @click="save" size="small">Save</el-button>

save(){
            this.fail = [];
            switch (this.value.label) {
                case 3:
                    this.userDefined();
                    break;
                default:
                    this.preset();
                    break;
            }
}



![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/9f018b03477642a1b289a2a973578949~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg5py65Zmo5a2m5Lmg5LmL5b-DQUk=:q75.awebp?rk3s=f64ab15b&x-expires=1771857414&x-signature=lvprnPU4iJ7h9BykXLi%2FE2BJbqY%3D)
![img](https://p3-xtjj-sign.byteimg.com/tos-cn-i-73owjymdk6/801b13988a8347db818822db7b324f8d~tplv-73owjymdk6-jj-mark-v1:0:0:0:0:5o6Y6YeR5oqA5pyv56S-5Yy6IEAg5py65Zmo5a2m5Lmg5LmL5b-DQUk=:q75.awebp?rk3s=f64ab15b&x-expires=1771857414&x-signature=qM8GvlAK31jW%2FbE7aEguNb%2F1yGY%3D)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://gitee.com/vip204888)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**