1
嘿, 今天我試着做NDIS.sys的二進制比較,我注意到一些奇怪的東西。 我採取了一項功能,並開始分析。前30個字節在磁盤(使用IDA)和內存(使用WinDbg)上是相同的。然後,事情發生了變化。我看到類似「jmp _ imp _XXXXX」。 JMP字節相同,但地址不同。什麼導致磁盤上的驅動程序與映射到內存的驅動程序之間的差異?
我的問題是 - 有什麼不同?我認爲這與搬遷有關。儘管跳轉是在同一個模塊中尋址,但它是一個長跳轉,這使得它相對於模塊基地址。如果發生重定位,它也需要重定位這個地址,儘管它在同一個模塊上。
我是對的還是完全錯的? :-) 謝謝。
請注意,對於設備驅動程序的首選基地址是完全忽略 – snoone 2010-10-22 14:41:24
是的,但 - 爲什麼需要跳轉的跳轉?跳轉目標位於同一個模塊中。 – MindBlower 2010-10-22 19:20:33
您可以顯示您在調試器中看到的內容嗎? – snoone 2010-10-25 17:59:39