Dosyadan bir bayt okumak, xor onu 0x71 ile okumak ve başka bir dosyaya geri yazmak gerekiyordu. Ancak, aşağıdakileri kullandığımda, yalnızca bir dize olarak bayt okur, bu nedenle xoring sorun oluşturur.xor ile her bir bayt 0x71 ile
f = open('a.out', 'r')
f.read(1)
Yani C
aynı yapıyor sona erdi#include <stdio.h>
int main() {
char buffer[1] = {0};
FILE *fp = fopen("blah", "rb");
FILE *gp = fopen("a.out", "wb");
if(fp==NULL) printf("ERROR OPENING FILE\n");
int rc;
while((rc = fgetc(fp))!=EOF) {
printf("%x", rc^0x71);
fputc(rc^0x71, gp);
}
return 0;
}
birisi ben bunu XOR diye bir altıgen değerine üzerinde f.read()
kullanımı hakkında alıyorum dize dönüştürmek nasıl söyler misiniz 0x71 ile ve daha sonra bir dosyaya yazabilirsiniz?
my_num = int(f.read(1))
Sonra my_num saklanan numarayı XOR:
http://stackoverflow.com/questions/1035340/reading-binary-file-in-python –