显示cisco IOS type-7 密码

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

最近发现有问题的cisco产品简直比有二次解码的NT还多,改了一个小程序显示cisco IOS type-7 密码的,可以在windows环境下编译。

Code:

/*

* descambles cisco IOS type-7 passWords

* found somewhere on the internet, slightly modified, anonymous@segfault.net

* modified for Win32 By CoolWolF@gmx.net

*

* gcc -Wall -o ciscocrack ciscocrack.c

* ./ciscocrack 1416130A4C

*

* cl ciscocrack.c

* ciscocrack.exe 1416130A4C

*/

#include

#include

#include

#include

#include //remark this line in unix system

char xlat[] =

{

0x64, 0x73, 0x66, 0x64, 0x3b, 0x6b, 0x66, 0x6f,

0x41, 0x2c, 0x2e, 0x69, 0x79, 0x65, 0x77, 0x72,

0x6b, 0x6c, 0x64, 0x4a, 0x4b, 0x44, 0x48, 0x53,

0x55, 0x42

};

int cdecrypt(char *enc_pw, char *dec_pw)

{

unsigned int seed, i, val = 0;

if(strlen(enc_pw) & 1)

return(-1);

seed = (enc_pw[0] - '0') * 10 + enc_pw[1] - '0';

if (seed 15 !isdigit(enc_pw[0]) !isdigit(enc_pw[1]))

return(-1);

for (i = 2 ; i

{

if(i !=2 && !(i & 1))

{

dec_pw[i / 2 - 2] = val ^ xlat[seed++];

val = 0;

}

val *= 16;

if(isdigit(enc_pw[i] = toupper(enc_pw[i])))

{

val += enc_pw[i] - '0';

continue;

}

if(enc_pw[i] = 'A' && enc_pw[i]

{

val += enc_pw[i] - 'A' + 10;

continue;

}

if(strlen(enc_pw) != i)

return(-1);

}

dec_pw[++i / 2] = 0;

return(0);

}

void usage()

{

fprintf(stdout, "Usage: ciscocrack

");

}

int main(int argc, char *argv[])

{

char passwd[65];

memset(passwd, 0, sizeof(passwd));

if(argc != 2)

{

usage();

exit(1);

}

if(cdecrypt(argv[1], passwd))

{

fprintf(stderr, "Error.

");

exit(1);

}

printf("Passwd: %s

", passwd);

return 0;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航