我嘗試使用下面的代碼如何告訴內嵌ASM變量是十六進制
__declspec(naked) void StubStart()
{
__asm{
MOV EAX, oep
JMP EAX
}
}
,我想告訴它「OEP」變量是十六進制,但我想我不能把這兩個(0x和h)來告訴它,它是在十六進制。 我該怎麼辦?
我嘗試使用下面的代碼如何告訴內嵌ASM變量是十六進制
__declspec(naked) void StubStart()
{
__asm{
MOV EAX, oep
JMP EAX
}
}
,我想告訴它「OEP」變量是十六進制,但我想我不能把這兩個(0x和h)來告訴它,它是在十六進制。 我該怎麼辦?
oep
變量很可能只是一個int
(或其他一些整數類型)。
無論如何,如果你沒有
oep = 0x55;
或
oep = 55;
它最終將在計算機的二進制表示...你不能說一個變量包含一個十六進制值,小數值或八進制值...它包含一個整數。
好的謝謝,但是當我把它的原始值像0x23F56它工作正常,但當我使用變量它失敗.. – Caffeinatedwolf
我的意思是通過來自十六進制的例子128不等於十進制傳遞128。這兩個數字不相等。 – Caffeinatedwolf
你從哪裏得到這個號碼,你應該在16位基礎上解析*,而不是10位。 – aioobe
'oep is in hex'是什麼意思?它不是一個int型變量嗎? – Mat
是的,我認爲我的問題是我可以在內聯asm上放置一個變量,並且如果變量發生變化,它會取變量的值。 – Caffeinatedwolf