REM cisco.opl - Psion 3/5 version REM brought to you (Kristmas '97) by: REM REM Koder: BigDog REM Systems Anakyst: Major Malfunction REM REM Kontax: majormal@wownet.org REM REM Kreds: Jared Mauch, Janos Zsako, Hobbit, SPHiXe, REM (I think... not *really* sure where it originally REM came from)... original works are floating around REM the 'net... REM REM Spelling: Major Malfunktion's teecher. REM REM This krap is Bobbyright (b) Whenever, REM BigDog & Major Malfunction - All Rites Reversed, REM All Wrongs degneveR. PROC Main: local passwd$(50) progloop:: print "Cisco Password Dekryption" print print "Enter encrypted password: "; input passwd$ print "Decrypted password: "; Dekrypt:(passwd$) print print print goto progloop endp PROC Dekrypt:(enc$) local seed local i local value local declen local xlat(50) local counter local a% local b% global encpw(50) global decpw(50) value=0 i=1 WHILE i<=LEN(enc$) encpw(i)=asc(MID$(enc$,i,1)) i=i+1 ENDWH xlat(1)=6*16+4 xlat(2)=7*16+3 xlat(3)=6*16+6 xlat(4)=6*16+4 xlat(5)=3*16+11 xlat(6)=6*16+11 xlat(7)=6*16+6 xlat(8)=6*16+15 xlat(9)=4*16+1 xlat(10)=2*16+12 xlat(11)=2*16+14 xlat(12)=6*16+9 xlat(13)=7*16+9 xlat(14)=6*16+5 xlat(15)=7*16+7 xlat(16)=7*16+2 xlat(17)=6*16+11 xlat(18)=6*16+12 xlat(19)=6*16+4 xlat(20)=4*16+10 xlat(21)=4*16+11 xlat(22)=4*16+4 xlat(23)=72 xlat(24)=83 xlat(25)=85 xlat(26)=66 seed=((encpw(1)-ASC("0"))*10) + (encpw(2)-ASC("0")) i=2 WHILE i<=LEN(enc$) if (i<>2) if (i/2)<>INT(i/2) else a%=value b%=xlat(seed+1) decpw((i/2)-2+1)=(a% OR b%) AND NOT (a% AND b%) seed=seed+1 value=0 endif endif value=value*16 encpw(i+1)=ASC(UPPER$(CHR$(encpw(i+1)))) if encpw(i+1)>=ASC("0") and encpw(i+1)<=ASC("9") value=value+encpw(i+1)-ASC("0") endif if encpw(i+1)>=ASC("A") and encpw(i+1)<=ASC("F") value=value+encpw(i+1)-ASC("A")+10 endif i=i+1 ENDWH i=i+1 declen=(i/2)-2 i=1 WHILE i<=declen print CHR$(decpw(i)); i=i+1 ENDWH endp