Add the possibility to retrieve address with an offset (depending on opcode)
This commit is contained in:
@@ -12,7 +12,7 @@
|
|||||||
static std::shared_ptr<spdlog::logger> _log;
|
static std::shared_ptr<spdlog::logger> _log;
|
||||||
std::unordered_map<void*, Memory::PatchInfo> Memory::patches;
|
std::unordered_map<void*, Memory::PatchInfo> Memory::patches;
|
||||||
|
|
||||||
uint8_t* Memory::GetOffsetFromOpcode(uint8_t* opcode)
|
uint8_t* Memory::GetOffsetFromOpcode(uint8_t* opcode, int extraOffset)
|
||||||
{
|
{
|
||||||
if (!opcode)
|
if (!opcode)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
@@ -24,7 +24,7 @@ uint8_t* Memory::GetOffsetFromOpcode(uint8_t* opcode)
|
|||||||
return nullptr; // optionnel : gérer ou pas les offsets négatifs
|
return nullptr; // optionnel : gérer ou pas les offsets négatifs
|
||||||
|
|
||||||
// Retourne l'adresse "offsetée" (base + disp)
|
// Retourne l'adresse "offsetée" (base + disp)
|
||||||
return opcode + 4 + disp; // +4 car disp32 fait 4 octets
|
return opcode + 4 + disp + extraOffset; // +4 car disp32 fait 4 octets
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* Memory::Float32ToHexBytes(float value) {
|
const char* Memory::Float32ToHexBytes(float value) {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ class Memory
|
|||||||
*
|
*
|
||||||
* @param opcode : The address where the offset begins.
|
* @param opcode : The address where the offset begins.
|
||||||
*/
|
*/
|
||||||
static uint8_t* GetOffsetFromOpcode(uint8_t* opcode);
|
static uint8_t* GetOffsetFromOpcode(uint8_t* opcode, int extraOffset = 0);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts flkoat 32 bits into a char*.
|
* Converts flkoat 32 bits into a char*.
|
||||||
|
|||||||
Reference in New Issue
Block a user