fatal error C1083: Cannot open include file: 'mem.h': No such file or directory.
Can anyone help me with this error or tell me which header file I could use in place for this one
fatal error C1083: Cannot open include file: 'mem.h': No such file or directory.
Can anyone help me with this error or tell me which header file I could use in place for this one
mem.h
Charles Darwin
Are you trying to compile some Borland C++ based source code The header files are not the same between Borland and Visual C++ compilers. VC++ has <memory.h> though - which is probably similar in terms of functions.
robcw
Craig Cormier
That looks like code that tries to extract passwords out of a Win9x PWL file. Are you sure you want to use that code
In any case, remove the #include to mem.h and replace it with memory.h.
KRS India
taral
I got this code off of a website and I'm not really sure what kind of code this is, but all that I know is that Visual C++ is only having one error about the mem.h file so that lead me to believe that the code was C++ maybe from an earlier version or something but you can look at it and tell me from there.
# 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]; /* Resource 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
);
if(ch==0)break; if(ch=='.')break;keystream
^=ch;
};
cracked=20;
/* Find allocated resources */sizemask=keystream[0]+(keystream[1]<<8);
printf(
"Sizemask:%04X",sizemask);
for(i=0;i<256;i++){ if(DataRall[Data
]++;
if(Data}
}
maxr=(((maxr/16)+1)*16);
/* Resourse pointer table size appears to bedivisible 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
;
rsz=Data[pos]+(Data[pos+1]<<8);
rsz^=sizemask;
printf(
"Analyzing block with size:%04x (%d:%d)",rsz,i,Rall
);
if((Rallprintf(
"Unused resourse has zero size!!!");
printf(
"If last line produed any:You may try to recover");
printf(
"Press y to attempt the recovery");
ch=getch();
if(ch!='y')exit(0);rsz=2;
i=i-1;
}
pos=pos+rsz;
/* Resource has a tendancy to have the wrong size for some reason*/ /* Check 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
& 0x00ff;
keystream[21+2*i]^=(Rpoint
>>8) & 0x00ff;
}
cracked+=maxr*2+2;
printf(
"%d Bytes of ketstream recovered",cracked);
/* Decrypt resources */ for(i=0;i<maxr;i++){rsz=Rpoint[i+1]-Rpoint
;
if(rsz>cracked)rsz=cracked;printf(
"Resource[%d](%d)",i,rsz);
for(j=0;j<rsz;j++)printf(
"%c",Data[Rpointprintf(
"");
}
exit(0);
}
AndrewSn
r_currie