2014-03-05 33 views
0

我使用HEX編輯器來發現對.WAV文件進行的加密是添加了16個空的00塊。 我明白應該刪除前64位,然後對文件進行解密。 搜索完該網站後,我找不到與我的案例匹配的示例, 我只需要打開該文件並將其寫入另一個文件,而不需要前64個位置。 感謝您的幫助如何從二進制文件中刪除少數第一個位置

+0

嗯所以你的問題將意味着WAVE數據沒有被加密,但只有標題數據?你知道這個WAVE數據的格式嗎?據我說,這不是最好的WAVE文件加密。標題塊包含有關採樣率,塊大小等的詳細信息,但它也取決於所使用的波形文件的類型。如果它確實足以跳過前64個字節的數據,那麼二進制閱讀器足以用於跳過像下面解釋的Aik這樣的前64個字節。 – RvdV79

回答

0

如果使用64字節的緩衝區拷貝文件,比你可以跳過第一個:

using(var originalFile = File.OpenRead("some file")) 
using(var newFile = File.OpenWrite("some file")) 
{ 

byte[] buffer = new byte[64]; 

    int readBytes= 0; 
    int currentReaded = 0; 
    do 
    { 
     currentReaded = originalFile.Read(buffer, 0, buffer.Length); 
     readBytes += currentReaded; 

     if(readBytes > 64) 
     { 
      newFile.Write(buffer, 0, currentReaded); 
     } 

    } while (currentReaded == buffer.Length); 
} 
相關問題