問題陳述
我有一個完全由數據結構組成的文件;我一直在嘗試尋找一種工具,使我能夠打開此文件,並聲明(也許)一個類型和偏移量,以便我可以單獨使用假定的原始數據類型。
例如。我將位於偏移量0x04的4個字節聲明為32位無符號整數,並希望檢查此位置處的值(也許讀為big-endian),然後單獨使用此整數(也許看看它看起來像什麼)編碼為4字節的ascii字符串並嘗試讀取它,等等。)
規範
我有一個4096字節的文件,其中包含C結構,其成員元素為整數,範圍從16 -64位長度;下面是一個示例:
struct my_struct {uint_32 magic} // sizeof(my_struct)== 0x04
在這種情況下,magic ='ball ',因此在文本編輯器中打開文件時,其讀取內容為“ llab ...”,顯然也可以將其表示為32位整數
問題
有沒有可以對平面數據結構文件進行靜態分析的工具?
到目前為止我所考慮的解決方案
我已經考慮過使用Python編寫命令行工具來這樣做,但是如果已經存在一些東西,我希望節省時間,並且也許可以使用經驗豐富的人設計的工具來了解有關此主題的更多信息。如果您覺得我做錯了這(這是我對這種可逆性的首次認真探索),請指導我的理解,謝謝。
我已經研究過的地方
通過Google搜索“逆向工程工具”並瀏覽鏈接
檢查維基百科的逆向工程頁面
嘗試了一些第一性原理推理
經檢查的pypi
結果
共有三個完全正確和正確的答案,但是我將其中最詳細,最便宜的答案標記為正確,因為它是審閱此問題的社區成員最容易獲得的信息。 / p>