爬虫之暴力字典生成器

Object.extend=function(props){
    //继承父类
    var prototype=Object.create(this.prototype)
    //初始化函数ctor
    var _Class=function(){
        if (this.ctor)
            this.ctor.apply(this, arguments);
    }
    //当前类属性和方法
    for(var k in props){
        prototype[k]= props[k]
    }
    _Class.prototype = prototype;
    //类继承
    _Class.extend=this.extend;
    //类扩展
    _Class.expand = function (prop) {
        for (var name in prop) {
            prototype[name] = prop[name];
        }
    };
    return _Class

}

var AutoStr=Object.extend({
    str:"",
    data:null,//开始位置和结束位置
    lendata:null,
    length:1,
    ctor:function(str){
        var the=this
        the.data=[]
        the.lendata=[]
        the.str=str

        str.replace(/\[(.*?)\]/g,function(m,item){
            var itemarr=[]
            var itemlen=0
            item.replace(/(.)-(.)/g,function(m,p1,p2){
                itemarr.push(p1.charCodeAt(0))
                itemarr.push(p2.charCodeAt(0))
                itemlen=itemlen+p2.charCodeAt(0)-p1.charCodeAt(0)+1
            })
            the.data.push(itemarr)
            the.lendata.push(itemlen)
        })
        //记录长度
        var len=1
        for(var i=0;i<the.lendata.length;i++){
            len=len*the.lendata[i]
        }
        the.length=len
    },
    eq:function(n){
        var back=this._sync(n,this.lendata,this.length)
        var strArr=this.getStrArr(back)
        var num=-1
        var str=this.str.replace(/\[.*?\]/g,function(){
            num=num+1
            return String.fromCharCode(strArr[num])
        })
        return str
    },
    //多进制转换 demo:把16转成110
    _sync:function(n,arr,len){
        var back=[]
        for(var i=0;i<arr.length;i++){
            len=len/arr[i]
            back.push(parseInt(n/len))
            n=n%len
        }
        return back
    },
    //获取返回的字符
    getStrArr:function(back){
        var arr=[]
        for(var i=0;i<this.data.length;i++){
            arr.push(this.getM(this.data[i],back[i]))
        }
        return arr
    },
    //获取区间范围
    getM:function(arr,n){
        for(var i=0;i<arr.length;i=i+2){
            var len=arr[i+1]-arr[i]+1
            if(n>=len){
                n=n-len
            }else{
                return arr[i]+n
            }
        }
    }
})

var d=new AutoStr("http://www.baidu.com/[1-2A-Z][0-2].html")
console.log(d.length)
for(var i=0;i< d.length;i++){
    console.log(d.eq(i))
}

  可以生成中文、英文、数字字典,暴力破解密码,暴力爬虫

时间: 2024-11-06 03:52:44

爬虫之暴力字典生成器的相关文章

社会工程学字典生成器,社工密码爆工具下载地址

啥也不想讲了,上福利把~ 刚刚在某黑客论坛看到了一款社工字典生成器,当然也可以理解为密码爆破工具 接下来我会给大家简单的介绍一下这款工具,随后把下载地址给各位附上的 这个社工字典是一款为了社工而生的工具,它基于一个简单的理念,即用给定的用户信息去生成相应的密码.使用的时候只需任何输入任何有关的信息,针对不同的人群心理进行生成相应的密码字典. 可以根据用户输入的内容,添加弱口令,自带字符,自带大小写组合进行混合生成相应的密码字典. 功能: 普通资料生成密码字典 资料大小写组合生成 用户输入加字符生

fanghuangscannerV3 字典生成器

#-*-coding=GB2312-*- import random import sys def makedict(name): f1 =open(name+'_user.txt','r') f2 =open(name+'_pass.txt','r') f3 =open(name+'.conf','w') try: s1= f1.readlines() s2= f2.readlines() #print s1 #print s2 #print x[5].strip() l1 =len(s1)

关于zip包的一点小东西 暴力 字典 明文

暴力破解.这是最花时间的一种破解方式,暴力破解就是不断的去尝试所有可能的密码.如果密码比较短,比较容易的找到破解密码. 字典攻击.优化过的暴力破解,它使用了一个字典文件,然后一一尝试文件中的每个密码.现在在网上有很多共享的字典文件,这使得字典攻击比暴力破解有效率得多.尤其是当目标文件是用一个弱密码进行保护的时候,字典攻击效率较高.但是,由于字典攻击没有囊括所有可能的密码,所以对于强密码保护的zip文件,字典攻击毫无办法. ps:中国大多数家庭的密码都是很简单的密码,字典攻击是一种很有效率的方法

基于python的密码字典生成器

#!/usr/bin/python# -*- coding:utf-8 -*-# @Time :2019/10/7 10:55# @Author :maple# @Emall :[email protected]# @File :密码字典4.py import itertools as itswords = input("请输入想要生成的数字.字母.特殊符号:").strip()word1 = input("请输入前面的固定字符,若没有直接enter:").stri

perl社工密码字典生成器

#!/usr/bin/perl -w use Math::Combinatorics qw(permute); #引入排列模块 if (@ARGV == 0){ die "错误:No parameter!Enter \"?\" for help.\n"; } #若无参数,提示错误并退出 if (@ARGV == 1){ if ($ARGV[0] eq '?'){ &help; }else{die "Error:At least 2 paramete

函数 三元表达式 列表生成式 字典生成式 生成器表达式

1.三元表达式 针对 if  条件判断的简写 可以比较下比如: def max2(x,y): if x > y: return x else: return y max2(20,30) ================================================= x=10 y=20 res=x if x > y else y print(res) 真正的核心代码从4条变成了一条就可以解决了 代码形式:条件成立时的返回值    if 条件    else 条件不成立时的返回

三元表达式,列表生成式,字典生成式,生成器表达式

三元表达式 条件成立时的返回值 if 条件 else 条件不成立时的返回值 def max2(x,y): if x > y: return x else: return y print(max2(10,20)) x=10 y=20 res=x if x > y else y print(res) 列表生成式 #输出1~10中每个数字的平方l=[item**2 for item in range(1,11)] print(l) names=['alex','wxx','lxx'] 为列表中每个人

linux暴力密码破解工具hydra安装与使用

说明:hydra是著名黑客组织thc的一款开源的暴力密码破解工具,可以在线破解多种密码.官网:http://www.thc.org/thc-hydra,可支持AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, H

Linux下暴力破解工具Hydra详解

一.简介 Number one of the biggest security holes are passwords, as every password security study shows. Hydra is a parallized login cracker which supports numerous protocols to attack. New modules are easy to add, beside that, it is flexible and very fa