Algoritmo de criptografia
Enviado: 11 Jul 2008 21:35
Bem pessoal estou transferindo pra cá o assunto que começou no bate-papo seguindo o conselho dos pessoal que acessou o post lá, segue aqui o link do conversa anterior se voces quiserem dar uma lida pra entender o que está acontecendo, mas vou mesmo assim vou fazer um resumo aqui.
viewtopic.php?f=5&t=8328&p=46787#p46787
Acontece o siguint...
Estou precisando de ajuda para decifrar esse algoritmo e fazer esse programinha funcionar, é um programa antigo e o que ocorre é que ele ao ser instalado verifica o vol do HD e se o HD for diferente ou caso alguem tenha formatado este nao funcionará na maquina. abaixo listo codigo que acho é a chave pra desvendar o problema e atachado o EXE completo do modulo que (acho eu) faz a verificação do HD, se alguem quiser o programinha completo é só me avisar que mando por email, se houver muitas solicitações eu coloco na rapidshare ou outro lugar pra download, segue o codigo:
E achei tambem este aqui, o CRIACODB
Fico no aguardo.
[]´s
pca
viewtopic.php?f=5&t=8328&p=46787#p46787
Acontece o siguint...
Estou precisando de ajuda para decifrar esse algoritmo e fazer esse programinha funcionar, é um programa antigo e o que ocorre é que ele ao ser instalado verifica o vol do HD e se o HD for diferente ou caso alguem tenha formatado este nao funcionará na maquina. abaixo listo codigo que acho é a chave pra desvendar o problema e atachado o EXE completo do modulo que (acho eu) faz a verificação do HD, se alguem quiser o programinha completo é só me avisar que mando por email, se houver muitas solicitações eu coloco na rapidshare ou outro lugar pra download, segue o codigo:
Código: Selecionar todos
procedure CRIACODC
run c:
run cd\tecnolar
run vol > c:\tecnolar\arqt1.txt
xbuf:= memoread("arqt1.txt")
run DEL arqt1.*
percfim()
for xni:= 1 to 92
aa[xni]:= Upper(SubStr(xbuf, xni, 1))
next
for cc:= 1 to 92
if (aa[cc] = "F")
aa[cc]:= "9"
endif
if (aa[cc] = "G")
aa[cc]:= "8"
endif
if (aa[cc] = "H")
aa[cc]:= "7"
endif
if (aa[cc] = "I")
aa[cc]:= "6"
endif
if (aa[cc] = "J")
aa[cc]:= "5"
endif
if (aa[cc] = "A")
aa[cc]:= "19"
endif
if (aa[cc] = "B")
aa[cc]:= "18"
endif
if (aa[cc] = "C")
aa[cc]:= "17"
endif
if (aa[cc] = "D")
aa[cc]:= "16"
endif
if (aa[cc] = "E")
aa[cc]:= "15"
endif
if (aa[cc] = " ")
aa[cc]:= "1"
endif
if (aa[cc] = "-")
aa[cc]:= "9"
endif
if (aa[cc] = "_")
aa[cc]:= "2"
endif
next
chav:= 0
for cc:= 1 to 92
chav:= chav + Val(aa[cc])
next
wcod:= (chav + 321) * (123 + wmod)
codcalcc:= strzero(wcod, 10, 0)
returnCódigo: Selecionar todos
procedure CRIACODB
run "vol &B: > c:\tecnolar\arqt1.txt"
run c:
run cd\
run cd\tecnolar
xbuf:= memoread("arqt1.txt")
run DEL arqt1.*
for xni:= 1 to 92
aa[xni]:= Upper(SubStr(xbuf, xni, 1))
next
for xni:= 1 to 83
if (aa[xni] = Space(1) .AND. aa[xni + 1] >= "0" .AND. ;
aa[xni + 1] <= "F" .AND. aa[xni + 2] >= "0" .AND. ;
aa[xni + 2] <= "F" .AND. aa[xni + 3] >= "0" .AND. ;
aa[xni + 3] <= "F" .AND. aa[xni + 4] >= "0" .AND. ;
aa[xni + 4] <= "F" .AND. aa[xni + 5] = "-" .AND. ;
aa[xni + 6] >= "0" .AND. aa[xni + 6] <= "F" .AND. ;
aa[xni + 7] >= "0" .AND. aa[xni + 7] <= "F" .AND. ;
aa[xni + 8] >= "0" .AND. aa[xni + 8] <= "F" .AND. ;
aa[xni + 9] >= "0" .AND. aa[xni + 9] <= "F")
bb[1]:= aa[xni + 1]
bb[2]:= aa[xni + 2]
bb[3]:= aa[xni + 3]
bb[4]:= aa[xni + 4]
bb[5]:= aa[xni + 6]
bb[6]:= aa[xni + 7]
bb[7]:= aa[xni + 8]
bb[8]:= aa[xni + 9]
endif
if (aa[xni] = "_" .AND. aa[xni + 1] = " " .AND. aa[xni + 2] = ;
"T" .AND. aa[xni + 3] = "E" .AND. aa[xni + 4] = "C" ;
.AND. aa[xni + 5] = "N" .AND. aa[xni + 6] = "O" .AND. ;
aa[xni + 7] = "L" .AND. aa[xni + 8] = "A" .AND. ;
aa[xni + 9] = "R")
wflagb:= 1
endif
if (aa[xni] = "-" .AND. aa[xni + 1] = " " .AND. aa[xni + 2] = ;
"T" .AND. aa[xni + 3] = "E" .AND. aa[xni + 4] = "C" ;
.AND. aa[xni + 5] = "N" .AND. aa[xni + 6] = "O" .AND. ;
aa[xni + 7] = "L" .AND. aa[xni + 8] = "A" .AND. ;
aa[xni + 9] = "R")
wflagb:= 2
endif
next
chav:= 0
for xni:= 1 to 8
if (bb[xni] = "A")
chav:= chav + 3
endif
if (bb[xni] = "B")
chav:= chav + 88
endif
if (bb[xni] = "C")
chav:= chav + 29
endif
if (bb[xni] = "D")
chav:= chav + 35
endif
if (bb[xni] = "E")
chav:= chav * 37
endif
if (bb[xni] = "F")
chav:= chav + 6
endif
next
wcod:= (chav + 321) * (123 + wmod)
codcalcb:= strzero(wcod, 10, 0)
return[]´s
pca