Beispiel #1
0
data = date.today()

listaDeCnpjs = []

arquivo = open('CNPJparaBusca.txt',"r")

for i in (arquivo.readlines()):
    if len(i) == 15:
        tupla = (i[0:14], "buscarPadrao")
        listaDeCnpjs.append(tupla)

arquivo.close()

for tupla in listaDeCnpjs:

    chave = Chave(tupla[0], tupla[1])

    continuarProcurando = True
    
    chaveCancelada = 0

    while continuarProcurando:

        cnpj = chave.getCnpj()
        
        encontrouXML = "nao"
        ini = time.time()
        while encontrouXML=="nao":
            try:
                browser = mechanize.Browser()
                browser.set_handle_robots(False)
Beispiel #2
0
def decifra(texto,key):
    #Calculo da chave
    chave = Chave()
    chave.setChave(key)
    #print("Chave Um")
    keyDois = chave.chaveUm()
    #print(keyDois)
    #print("Chave dois")
    keyUm = chave.chaveDois()
    #print(keyUm)


    #Cadeira
    cadeia = Cadeia()
    cadeia.setCadeia(texto)
    #Faz permutacao IP
    cadeia.permutacao(cadeia.getCadeia())
    #print("Permutacao IP")
    #print(cadeia.getPermutacao())

    esqDir = EsquedaDireitaCadeia()
    esquerda = esqDir.separaEsquerda(cadeia.getPermutacao())
    direita  = esqDir.seperaDireita(cadeia.getPermutacao())
    #print("esquerda")
    #print(esquerda)
    #print("Direita")
    #print(direita)

    ep =  cadeia.EP(direita)
    #print("EP")
    #print(ep)


    xor  = Xor()
    vetorXor = [0,0,0,0,0,0,0,0]
    for i in range(8):
        vetorXor[i] = xor.getXor(int(ep[i]),int(keyUm[i]))
    #print("XOR")
    #print(vetorXor)

    esquerda = esqDir.separaEsquerda(vetorXor)
    direita  = esqDir.seperaDireita(vetorXor)
    #print("Esquerda")
    #print(esquerda)
    #print("Direita")
    #print(direita)
    #print("")


    matriz = Matriz()
    s0 = matriz.matrizS0()
    s1 = matriz.matrizS1()

    p4 = matriz.p4(s0,s1,direita,esquerda)

    #print("P4")
    #print(p4)
    #print("")

    vetorP4 = [0,0,0,0]
    esquerda  = esqDir.separaEsquerda(cadeia.getPermutacao())
    for i in range(4):
        vetorP4[i] = xor.getXor(int(p4[i]),int(esquerda[i]))
    #print("Xor P4")
    #print(vetorP4)
    #print("")

    direita = esqDir.seperaDireita(cadeia.getPermutacao())
    #print("direita")
    #print(direita)
    #print("")

    ep = [0,0,0,0,0,0,0,0]
    ep[0] = vetorP4[3]
    ep[1] = vetorP4[0]
    ep[2] = vetorP4[1]
    ep[3] = vetorP4[2]
    ep[4] = vetorP4[1]
    ep[5] = vetorP4[2]
    ep[6] = vetorP4[3]
    ep[7] = vetorP4[0]
    #print("E/P")
    #print(ep)
    #print("")

    for i in range(8):
        vetorXor[i] = xor.getXor(int(ep[i]),int(keyDois[i]))
    #print(vetorXor)

    esquerda = esqDir.separaEsquerda(vetorXor)
    direita  = esqDir.seperaDireita(vetorXor)

    s0 = matriz.matrizS0()
    s1 = matriz.matrizS1()
    p4 = matriz.p4(s0,s1,direita,esquerda)
    #print(p4)

    vetorXorP4 = [0,0,0,0]
    direitaEsquerda = esqDir.seperaDireita(cadeia.getPermutacao())
    for i in range(4):
        vetorXorP4[i] = xor.getXor(int(p4[i]),int(direitaEsquerda[i]))
    #print(vetorXorP4)
    #print(vetorP4)

    concatena = vetorXorP4 + vetorP4
    #print(concatena)
    troca = [0,0,0,0,0,0,0,0]

    troca[0] = concatena[3]
    troca[1] = concatena[0]
    troca[2] = concatena[2]
    troca[3] = concatena[4]
    troca[4] = concatena[6]
    troca[5] = concatena[1]
    troca[6] = concatena[7]
    troca[7] = concatena[5]
    num = map(str,troca)
    num  = ''.join(num)
    num = int(num,2)
    print("Palavra decifrada")
    print(hex(num).split('x')[1])
Beispiel #3
0
##("26140207126674000186550010000010001000010002", "cnRepetido"),
##("26130407626826000100550010000010001000010000", "cnRepetido"),
##("26120408533211000100550010000010001000010009", "cnRepetido"),
##("26120609085324000144550010000010001000010008", "cnRepetido"),
##("26140409521975000210550010000010001000010003", "cnRepetido"),
##("26140915225751000183550010000010001000010000", "cnRepetido"),

("26140116952866000132550010000010001000010008", "cnRepetido"),


]


for tupla in listaDeChaves:

    chave = Chave(tupla[0], tupla[1])
    chaveTemp = Chave(tupla[0], tupla[1])
    chavePivor = Chave(tupla[0], tupla[1])
    procurandoAbaixo = True
    etapa1 = 0
    contaErro = 0
    continuarProcurando = True
    deuSalto = False
    chaveCancelada = 0
    saltoValido = False

    while continuarProcurando:
        
        encontrouXML = "nao"
        ini = time.time()