题目:C写的一个解密ASCII加密的小工具 作者:hackest [H.S.T.] 来源:hackest's blog
很久很久以前(英文版:Long long time ago.) 也就是我年轻的时候,在注入某些网站的时候 猜解的结果是一种比较奇怪的加密密码
比如如下密文: bfpms (admin) lg6;8>9; (ke373823)[separator]
看起来确实比较怪异吧 这几天发现有人在群里又问到与此相关的话题 网上查了下也好像没有太多关于这个的资料 也难怪有些小菜菜不会解密了,嘿嘿…… 不过,有我这个装X客在 自然不会让小菜们难办的咯
其实这个是勉强可以说是ASCII加密 加密算法是:字符的ASCII值第N位加N 比如admin的加密过程是这样的:
1、根据加密算法可以知道a字符的加密过程如下:
字符a是字符串admin中的第1位 a的加密过程就是:字符a的ASCII值+1=字符a加密后的字符 字符a的ASCII值为97,97+1=98 ASCII值为98的字符查表可以知道为字符b
2、根据加密算法可以知道b字符的加密过程如下:
字符d是字符串admin中的第2位 d的加密过程就是:字符d的ASCII码+2=字符d加密后的字符 字符d的ASCII值为100,100+2=102 ASCII值为102的字符查表可以知道为字符f
3、根据加密算法可以知道m字符的加密过程如下:
字符m是字符串admin中的第3位 m的加密过程就是:字符m的ASCII码+3=字符m加密后的字符 字符m的ASCII值为109,109+3=112 ASCII值为112的字符查表可以知道为字符p
4、根据加密算法可以知道i字符的加密过程如下:
字符i是字符串admin中的第4位 i的加密过程就是:字符i的ASCII码+4=字符i加密后的字符 字符i的ASCII值为105,105+4=109 ASCII值为109的字符查表可以知道为字符m
5、根据加密算法可以知道n字符的加密过程如下:
字符n是字符串admin中的第5位 n的加密过程就是:字符n的ASCII码+5=字符n加密后的字符 字符n的ASCII值为110,110+5=115 ASCII值为115的字符查表可以知道为字符s
综上所述:字符串admin加密后的结果就是bfpms 当然介绍加密算法过程的不是我们的目的 这只是帮我们了解算法到底是如何加密的 对于小菜菜们来说,怎么解密才是重中之重
现在我们知其然,更知其所以然 解密就好办多了,我用我仅有的一点点编程功力 用C写了个小工具,代码是以前写的了 我就懒得改了,在邪恶八进制上面发布过的
以下代码在DEV C++下编译通过:
QUOTE:
#include<stdio.h> #include<malloc.h>
main() { int any,i; char *encode,*decode; printf("******************************************\n"); printf("欢迎使用此解密工具^_^ *\n"); printf("by:hackest[E.S.T] *\n"); printf("欢迎访问:http://forum.eviloctal.com/ *\n"); printf("******************************************\n"); printf("\n"); printf("请输入密码长度:"); scanf("%d",&any); encode=(char *)malloc(any+1); decode=(char *)malloc(any+1); getchar(); printf("请输入密码密文:"); for(i=0;i<any;i++) {scanf("%c",encode+i); if(encode=='\n')break; decode=encode-i-1; } encode='\0'; decode='\0'; printf("密码解密明文为:%s\n",decode); return 0; } 运行示例:

|