2009-09-13 40 views

回答

9

There is一個用於處理可移植可執行文件的Perl模塊:Win32::Exe

我對你確切的問題沒有線索,但是如果你仍然想寫自己的庫,Win32::Exe可能是一個很好的參考。

+0

謝謝,我使用Win32 ::埃克現在'objdump' :) – maxedmelon 2009-09-20 10:58:47

2

對於值轉換爲字節串表示,使用pack。你正在處理的常量是一個小端的32位值,所以模板中的'V'。

$ perl -e 'print pack q[V], 0x00004550' | hd 
00000000 50 45 00 00          |PE..| 
00000004 

查看perldoc -f pack瞭解詳情。

你可能不會需要搜索字符串,如「PE \ 0 \ 0」,只是用它們來驗證你實際上是讀文件是否是一個PE文件。在「PE」部分有其自身的長度字段中的DOS(「MZ」)部分之後通常是。

(我同意,Win32::Exe可能是值得一看,這取決於你想要做什麼。)

相關問題