我需要將標記添加到C++代碼中,這些代碼應該在程序集或二進制文件中可見。這似乎是直截了當地做它使用內聯彙編32:如何將彙編標記添加到C++代碼(x64)
__asm {
NOP
NOP
NOP
}
或使用DB彙編語句:
__asm {
DB 0x00, 0xFF, 0x10
}
但VisualStudio的2005年和更好的不支持內嵌彙編的64位。有什麼辦法可以做到嗎?也許我可以在獨立的彙編模塊中創建一個函數,但是我怎樣才能確保鏈接器將實際彙編代替CALL?
鏈接器沒有放入'CALL'指令,它只是放在實際地址中。編譯器將把'CALL'放到你的程序集中。但爲什麼你需要這個?不是'CALL知名地址'可用作標記嗎? – MSalters 2012-03-29 12:38:00
是的,它可能是這樣的:找到標記和它的地址,然後找到這個地址的CALL。 – ChatCloud 2012-03-29 12:50:07
其實,它的好解決方案。有一些相關文章http://www.codereversing.com/blog/?p=69 – ChatCloud 2012-05-03 15:04:11