- UID
- 10594
- 精华
- 0
- 积分
- 842
- 马克
- 12318
- 金币
- 117
- 在线时间
- 1255 小时
- 注册时间
- 2009-10-24
- 最后登录
- 2013-7-5
7级:中校
- 注册时间
- 2009-10-24
|
14楼
楼主 |
发表于 2009-11-21 14:08:19
|
只看该作者
来自: 河南信阳
回 7楼(哒小就挺派) 的帖子
关于我昨天发的那个破解器你说不好用,在这我解释一下,其实它就是一段执行代码,用VB+C语言混合编制,首先说下它为什么要配合QQ2005英文版用,因为英文版是一个简化版本,速度快,而且它还是离线登陆,就算对方在线也不会发现,理论上是绝对可以破解的,因为密码无外a_z 0_9 这些号码组成,但是它们的组合数量庞大,运算起来会很麻烦,在这就要提到黑客的利器 字典,一个好的黑客必定有一部好的字典,但是现在已经很难找到好的了,就算是有也是要钱的,如果你不嫌麻烦也可以自己编一部(嘿嘿 YY一下 。 。 。)破解器上提供了三种破解方式,1.傻瓜式(这个就免了,但如果你的机子配置够好,而且时间够多的话也无所谓)2.自选式(这个也够呛)3字典式(。 。 。 。 。 。 。。 )如果真想搞的话,建议你种点木马或蠕虫,当然不是那种破坏性的,只是能记录键盘。
关于防破解有一些简单的方法,密码尽量多于8位,能加上特殊的字符就加上(我的是15位 嘿嘿),它们会给破解增加很大的难度,下面是一段对比源代码,能看懂的就看看,看不懂得就算了
void convert(int *result, int n)
{
if(n>=10)
convert(result+1, n/10);
*result = n%10;
}
int main(int argc, char* argv[])
{
int n = 123456789, result[20]={};
convert(result, n);
printf("%d:", n);
for(int i=0; i<9; i++)
printf("%d", result);
return getchar();
}double find(int total, int n)
{
int number, score, average;
scanf("%d", &number);
if(number != 0){
scanf("%d", &score);
average = find(total+score, n+1);
if(score >= average)
printf("%d:%d\\n", number, score);
return average;
}else{
printf("Average=%d\\n", total/n);
return total/n;
}
}
int main(int argc, char* argv[])
{
find(0, 0);
return getchar();int find(char *str, int n)
{
if(n<=1) return 1;
else if(str[0]==str[n-1]) return find(str+1, n-2);
else return 0;
}
int main(int argc, char* argv[])
{
char *str = "abcdedcba";
printf("%s: %s\\n", str, find(str,
strlen(str)) ? "Yes" : "No");
return getchar();
}void prim(int m, int n)
{
if(m>n){
while(m%n != 0) n++;
m /= n;
prim(m, n);
printf("%d*", n);
}
}
int main(int argc, char* argv[])
{
int n = 435234;
printf("%d=", n);
prim(n, 2);
return getchar();
}void Multiple(char A[], char B[], char C[])
{
int TMP, In=0, LenA=-1, LenB=-1;
while(A[++LenA] != '\\0');
while(B[++LenB] != '\\0');
int Index, Start = LenA + LenB - 1;
for(int i=LenB-1; i>=0; i--)
{
Index = Start--;
if(B != '0'){
for(int In=0, j=LenA-1; j>=0; j--)
{
TMP = (C[Index]-'0') + (A[j]-'0') * (B - '0') + In;
C[Index--] = TMP % 10 + '0';
In = TMP / 10;
}
C[Index] = In + '0';
}
}
}
int main(int argc, char* argv[])
{
char A[] = "21839244444444448880088888889";
char B[] = "38888888888899999999999999988";
char C[sizeof(A) + sizeof(B) - 1];
for(int k=0; k<sizeof(C); k++)
C[k] = '0';
C[sizeof(C)-1] = '\\0';
Multiple(A, B, C);
for(int i=0; C != '\\0'; i++)
printf("%c", C);
return getchar();
}
} |
|