- 513 名前:七誌饅頭 ◆Pc9801rE mailto:sage [02/07/20 17:24]
- ついでにDecoder
#include <stdio.h> unsigned char f[256];size_t l,r=0xffffffff,c,q,z,u[257],i;main(int a,char**v){ FILE*n=fopen(v[1],"rb"),*o=fopen(v[2],"wb");fread(&z,4,1,n);fread(f,1,256,n); for(i=0;i<256;i++)u[i+1]=u[i]+f[i];for(i=0;i<4;i++)c=c<<8|fgetc(n);while(z){r /=u[256];q=(c-l)/r;if(q>=u[256])return;for(i=0;i<256&&q>=u[i+1];i++);if(i>=256 )break;fputc(i,o);z--;l+=u[i]*r;r*=f[i];while((l^l+r)<1<<24||r<1<<16&&((r=~l+1 &65535),1)){c=c<<8|fgetc(n);r<<=8;l<<=8;}}}
|

|