void gendefw(int v) { gendata(); cgdefw(v); }
void gendefl(int id) { gendata(); cgdefl(id); }
void gendefp(int v) { gendata(); cgdefp(v); }
void genbss(char *name, int len, int statc) { gendata(); if (statc) cglbss(name, (len + INTSIZE-1) / INTSIZE * INTSIZE); else cggbss(name, (len + INTSIZE-1) / INTSIZE * INTSIZE); }
void gendefb(int v) { gendata(); cgdefb(v); }
void genbss(char *name, int len) { gendata(); cgbss(name, (len + arch_intsize() - 1) / arch_intsize() * arch_intsize()); }
void dowrite(unsigned offset, unsigned size) { ssize_t ret; off_t newsize; offset -= offset % writebdy; if (o_direct) size -= size % writebdy; if (size == 0) { if (!quiet && testcalls > simulatedopcount && !o_direct) prt("skipping zero size write\n"); log4(OP_SKIPPED, OP_WRITE, offset, size); return; } log4(OP_WRITE, offset, size, file_size); gendata(original_buf, good_buf, offset, size); if (file_size < offset + size) { newsize = ceil(((double)offset + size) / truncbdy) * truncbdy; if (file_size < newsize) memset(good_buf + file_size, '\0', newsize - file_size); file_size = newsize; if (lite) { warn("Lite file size bug in fsx!"); report_failure(149); } ret = rbd_resize(image, newsize); if (ret < 0) { prterrcode("dowrite: resize", ret); report_failure(150); } } if (testcalls <= simulatedopcount) return; if (!quiet && ((progressinterval && testcalls % progressinterval == 0) || (debug && (monitorstart == -1 || (offset + size > monitorstart && (monitorend == -1 || offset <= monitorend)))))) prt("%lu write\t0x%x thru\t0x%x\t(0x%x bytes)\n", testcalls, offset, offset + size - 1, size); ret = rbd_write(image, offset, size, good_buf + offset); if (ret != size) { if (ret < 0) prterrcode("dowrite: rbd_write", ret); else prt("short write: 0x%x bytes instead of 0x%x\n", ret, size); report_failure(151); } if (flush) { doflush(offset, size); } }
void genalign(int k) { gendata(); while (k++ % arch_intsize()) cgdefb(0); }
int set_data(string filename) { if (bott->Getdata_type() != 0) { return gendata(filename); } else { LOG("Save data to file."); fstream fin(filename.c_str(), fstream::out); fin << bott->Getdata_detail(); fin.close(); return 0; } }
void gendefs(char *s, int len) { int i; gendata(); for (i=1; i<len-1; i++) { if (isalnum(s[i])) cgdefc(s[i]); else cgdefb(s[i]); } }
static void dowrite(unsigned offset, unsigned size) { off_t ret; unsigned iret; offset -= offset % writebdy; if (size == 0) { if (!quiet && testcalls > simulatedopcount) prt("skipping zero size write\n"); log4(OP_SKIPPED, OP_WRITE, offset, size); return; } log4(OP_WRITE, offset, size, file_size); gendata(original_buf, good_buf, offset, size); if (file_size < offset + size) { if (file_size < offset) memset(good_buf + file_size, '\0', offset - file_size); file_size = offset + size; if (lite) { warn("Lite file size bug in fsx!"); report_failure(149); } } if (testcalls <= simulatedopcount) return; if (!quiet && ((progressinterval && testcalls % progressinterval == 0) || (debug && (monitorstart == -1 || (offset + size > monitorstart && (monitorend == -1 || offset <= monitorend)))))) prt("%lu write\t0x%x thru\t0x%x\t(0x%x bytes)\n", testcalls, offset, offset + size - 1, size); ret = lseek(fd, (off_t)offset, SEEK_SET); if (ret == (off_t)-1) { prterr("dowrite: lseek"); report_failure(150); } iret = write(fd, good_buf + offset, size); if (iret != size) { if (iret == -1) prterr("dowrite: write"); else prt("short write: 0x%x bytes instead of 0x%x\n", iret, size); report_failure(151); } }
int main(int argc, char *argv[]) { fp=fopen(argv[1], "rb"); /* Open the file */ finish=atol(argv[2]); /* Number of bytes to read */ width=atol(argv[3]); /* Number of bytes in a line */ start=0; num=0; printf("/*\n"); printf("####################################\n"); printf("#\n"); printf("# --- UTF-8 BINDATA ENCODED FILE ---\n"); printf("#\n"); printf("# Filename: %s\n", argv[1]); printf("# Number of bytes read: %s\n", argv[2]); printf("# Number of bytes in a line: %s\n", argv[3]); printf("#\n"); printf("# To decode this file back to its original\n"); printf("# state, use this command:\n"); printf("#\n"); printf("# gcc <this_filename>; ./a.out %s %s\n", argv[1], argv[2]); printf("#\n"); printf("####################################\n"); printf("*/\n"); printf("\n"); printf("#include <stdio.h>\n"); printf("#include <stdlib.h>\n"); printf("\n"); printf("int main(int argc, char *argv[]);\n"); printf("\n"); printf("long int num;\n"); printf("FILE *fp;\n"); printf("char filedata[] = {\n"); gendata(start, finish, size); printf("00 };\n"); printf("\n"); printf("\n"); printf("int main(int argc, char *argv[])\n"); printf("{\n"); printf(" fp=fopen(argv[1], \"wb\"); /* Open file */\n"); printf(" num=atol(argv[2]); /* Get the number of bytes to write */\n"); printf(" fwrite(&filedata[0], num, 1, fp); /* Save the data in binary format */\n"); printf(" fclose(fp);\n"); printf("}\n"); printf("\n"); fclose(fp); return 0; }
void genswitch(int *vals, int *labs, int nc, int dflt) { int i; int ltbl = label(); gentext(); cgldswtch(ltbl); cgcalswtch(); gendata(); genlab(ltbl); gendefw(nc); for (i = 0; i < nc; i++) cgcase(vals[i], labs[i]); gendefl(dflt); }
int main(int argc,char *argv[]){ int i,j,k,count=0; unsigned char inv_x[N],o; unsigned char a[N],b[N],inv_b[N],c[N]; time_t t; FILE *fp,*fo; set fai; arrayn p,aa; array8 q; unsigned char cipher[4]; unsigned char temp[N]; unsigned char inv_c[16][N]; unsigned char test[32]={1,1,1,1,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,1,0,0,0,0,1,0,1,0,1,0,1,0}; unsigned char ee[4]; unsigned int t2=0,l=0; char m[1]; unsigned char u[N/2],tmp[N],tmb[N]; unsigned char inv_t[16][N]; unsigned char nx[N]; arrayul pp; array16 tt; seed(); pp=crand(password); for(i=0;i<8;i++) printf("%llu\n",pp.u[i]); hout(); // mainga(argc,argv); exit(1); tt=hash(argc,argv); for(i=0;i<16/2;i++) printf("%08x ",tt.h[i]); printf("\n"); srand(time(&t)); // chksalt(); gendata(); exit(1); for(i=0;i<N/2;i++){ u[i]=rand()%256; printf("%u\n",u[i]); } printf("input mode\n"); scanf("%s",&m); if(strcmp(m,"k")==0) keygen(); if(strcmp(m,"d")==0){ fp=fopen("braidsec.key","rb"); fread(nx,1,N,fp); fclose(fp); } if(strcmp(m,"e")==0){ fp=fopen("braidpub.key","rb"); fread(pr,1,N,fp); fread(ps,1,N,fp); /* for(i=0;i<N;i++) printf("%d,",s[i]); printf("\n"); */ fclose(fp); } char file[100],out[100]; int f; unsigned char buf[64]; unsigned char h[N],rr[N]; for(i=0;i<N;i++) h[i]= r[i]; printf("\ninput file name\n"); scanf("%s",&file); fp=fopen(file,"rb"); printf("input outfile name\n"); scanf("%s",&out); fo=fopen(out,"wb"); j=0; if(strcmp("d",m)==0){ for(i=0;i<N;i++) inv_b[nx[i]]=i; for(i=0;i<N;i++) pr[i]=nx[r[inv_b[i]]]; for(i=0;i<N;i++) ps[i]=nx[s[inv_b[i]]]; } for(i=0;i<N;i++) rr[i]=rand()%256; if(strcmp(m,"e")==0){ fai=session(rr); for(i=0;i<N;i++) printf("%d,",fai.b[i]); printf("\n"); fwrite(fai.a,1,64,fo); } if(strcmp(m,"d")==0){ fread(fai.a,1,64,fp); for(k=0;k<N;k++){ c[k]=nx[fai.a[inv_b[k]]]; printf("%d,",c[k]); } printf("aaa\n"); } while((f=fread(buf,1,64,fp))>0){ if(strcmp("e",m)==0){ p=chash(fai.b); /* for(i=0;i<N;i++) printf("%d,",p.ar[i]); printf("\n"); */ for(k=0;k<N;k++) rr[k]=p.ar[k]; fai=session(rr); for(k=0;k<N;k++) buf[k]^=p.ar[k]; } if(strcmp("d",m)==0){ /* for(i=0;i<N;i++) printf("%d,",c[i]); printf("vv\n"); // exit(1); */ p=chash(c); for(k=0;k<N;k++){ buf[k]^=p.ar[k]; rr[k]=p.ar[k]; } fai=session(rr); /* for(i=0;i<N;i++) printf("%d,",p.ar[i]); printf("bb\n"); */ // exit(1); for(k=0;k<N;k++) c[k]=fai.b[k]; } fwrite(buf,1,f,fo); } fclose(fp); fclose(fo); return 0; }
void domapwrite(unsigned offset, unsigned size) { unsigned pg_offset; unsigned map_size; off_t cur_filesize; char *p; offset -= offset % writebdy; if (size == 0) { if (!quiet && testcalls > simulatedopcount) prt("skipping zero size write\n"); log4(OP_SKIPPED, OP_MAPWRITE, offset, size); return; } cur_filesize = file_size; log4(OP_MAPWRITE, offset, size, 0); gendata(original_buf, good_buf, offset, size); if (file_size < offset + size) { if (file_size < offset) memset(good_buf + file_size, '\0', offset - file_size); file_size = offset + size; if (lite) { warn("Lite file size bug in fsx!"); report_failure(200); } } if (testcalls <= simulatedopcount) return; if (!quiet && ((progressinterval && testcalls % progressinterval == 0) || (fsx_debug && (monitorstart == -1 || (offset + size > monitorstart && (monitorend == -1 || offset <= monitorend)))))) prt("%lu mapwrite\t0x%x thru\t0x%x\t(0x%x bytes)\n", testcalls, offset, offset + size - 1, size); if (file_size > cur_filesize) { if (ftruncate(fd, file_size) == -1) { prterr("domapwrite: ftruncate"); exit(201); } } pg_offset = offset & PAGE_MASK; map_size = pg_offset + size; if ((p = (char *)mmap(0, map_size, PROT_READ | PROT_WRITE, MAP_FILE | MAP_SHARED, fd, (off_t)(offset - pg_offset))) == (char *)-1) { prterr("domapwrite: mmap"); report_failure(202); } memcpy(p + pg_offset, good_buf + offset, size); if (msync(p, map_size, MS_SYNC) != 0) { prterr("domapwrite: msync"); report_failure(203); } check_eofpage("Write", offset, p, size); if (munmap(p, map_size) != 0) { prterr("domapwrite: munmap"); report_failure(204); } }
void genalign(int k) { gendata(); while (k++ % INTSIZE) cgdefb(0); }