Happy new year guys. So i found some time to fix this and here is the working (i hope) exe with its dependancies. The only limit it has is that i dont allow it to read files larger than 9999999 bytes. You shouldnt xor so big files anyway. There is also a bug: if the output file path is invalid it wont catch the error. Finally, the xor keys are handled as strings and im not sure if and which non-printable characters work (the default xor keys work ok so there shouldnt be a problem). Pls let me know if it doesnt run again (i have the full labview development system installed so i cant check whether it doesnt run without it).
You must be registered to see links
13MB.
For those who dont want to "install" it (it isnt a standalone and im not gonna make a gui from scratch to make a tool i have already) heres the c++ that does the same thing:
Code:
class XorKey
{
private:
char *base;
unsigned int size;
public:
XorKey(char *base, unsigned int size)
{
if(size&&base)
{
XorKey::size = size;
XorKey::base = new char[size];
for(unsigned int i=0;i<size;i++) *(XorKey::base+i)=*(base+i);
}
}
char Read(unsigned int pos)
{
return *(base+(pos%size));
}
~XorKey()
{
delete base;
}
};
int XorEncode(FILE *fsrc, FILE *fdst, XorKey *x)
// Note that when calling this function fscr needs read-only BINARY mode and
// fdst needs write-only BINARY mode. Better set both files mode to sequential access.
{
int temp, c=0;
while(1)
{
if(c>(unsigned short int)-1) c=0;
temp=fgetc(fsrc);
if(temp==EOF) break;
temp^=x->Read(c);
fputc(temp,fdst);
c++;
}
}
Calling XorEncode with proper arguments and INITIALIZED XorKey should do.
In that case:
Code:
Default XorKeys
Key for ips, tools = ~8xANs(^fP{)34$(fcbTN$(C-=x
Key for obdc = @34ns%<<fdsa(Tflsd!sndsa^#)fndsla$nvsa$fndsla&nfdsJak(fnldsa!#F
Key for quest.tex = alkdjh flds flsjadhf ;kjdfha;sdflkha;s33
Key for afllist.tex = asdfasveq45hnsdn
Key for helptext.tex = asvawevawe!23r23
Key for ss = 5%$#djfnskdnf%l10d5fn*^%$djfner20dn&^%fjesdas0$^&%sdwfvvskdi56*$%$#