mem.h

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




Answer this question

mem.h

  • Charles Darwin

    Sniper167 wrote:

    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

    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

    This way is wrong. You must cerate an unmanaged application. Not a .NET Form application. This can never compile.

  • 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.

    Sniper167 wrote:

    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(Data!=0xff){

    Rall[Data]++;

    if(Data>maxr)maxr=Data;

    }

    }

    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;

    rsz=Data[pos]+(Data[pos+1]<<8);

    rsz^=sizemask;

    printf("Analyzing block with size:%04x (%d:%d)

    ",rsz,i,Rall);

    if((Rall==0)&&(rsz!=0)){

    printf("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[Rpoint+j]^keystream[j]);

    printf("

    ");

    }

    exit(0);

    }



  • KRS India

    Look into the wizards. I don't have the Express version. Look for Win32 Console Application.

  • 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(nameIdea);

    if(ch==0)break;

    if(ch=='.')break;

    keystreamIdea^=ch;

    };

    cracked=20;

    /* Find allocated resources */

    sizemask=keystream[0]+(keystream[1]<<8);

    printf("Sizemask:%04X

    ",sizemask);

    for(i=0;i<256;i++){

    if(DataIdea!=0xff){

    Rall[DataIdea]++;

    if(DataIdea>maxr)maxr=DataIdea;

    }

    }

    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=RpointIdea;

    rsz=Data[pos]+(Data[pos+1]<<8);

    rsz^=sizemask;

    printf("Analyzing block with size:%04x (%d:%d)

    ",rsz,i,RallIdea);

    if((RallIdea==0)&&(rsz!=0)){

    printf("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]^=RpointIdea & 0x00ff;

    keystream[21+2*i]^=(RpointIdea>>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]-RpointIdea;

    if(rsz>cracked)rsz=cracked;

    printf("Resource[%d](%d)

    ",i,rsz);

    for(j=0;j<rsz;j++)

    printf("%c",Data[RpointIdea+j]^keystream[j]);

    printf("

    ");

    }

    exit(0);

    }



  • AndrewSn

    I've already tried replacing mem.h with memory.h and it still gets tons of errors. I tried by creating a new windows forms application with Visual C++ 2005 Express Edition and removing all of the code in Form1.h and replacing it with all of that code. You should try it and see if you could get it to compile.

  • r_currie

    and how would I do that I'm sorry I just don't know a whole bunch yet.

  • mem.h