最近在試著解C語言寫好的二進位檔案,
C的程式碼大致如下:
//寫檔
unsigned char a,b;
a = 0x11;
b = 0x22;
FILE *fp = fopen("test.dat","wb");
fwrite(&a, sizeof(unsigned char), 1, fp);
fseek(fp,2,SEEK_SET);
fwrite(&b, sizeof(unsigned char), 1, fp);
fclose(fp);
//解檔印出c=0x11 d=0x22
fp = fopen("test.dat","rb");
nsigned char c,d;
fread(&c,sizeof(unsigned char),1,fp);
fseek(fp,2,SEEK_SET);
fread(&d,sizeof(unsigned char),1,fp);
printf("c=0x%x d=0x%x\n",c,d);
fclose(fp);
因現在想使用Python做解檔的部分,把正確數值解出來,
雖然上網找了許多方式,但在python仍只解出0x11的數值,
想詢問是否有相關的方法或關鍵字可以提供解惑,
謝謝!
Python try的code:
with open('test.dat', 'rb') as fh:
patch1 = fh.read()
print(patch1)
列印出來的結果為b'\x11\x00"',
是否需再搭配seek?
因尚為初學者,針對用法還不甚熟悉,
還請各位大大指點迷津,謝謝!