MCPcopy Create free account
hub / github.com/HyperDbg/HyperDbg / SetRegValue

Function SetRegValue

hyperdbg/script-eval/code/Regs.c:1002–2022  ·  view source on GitHub ↗

* @brief Set the register value * * @param GuestRegs * @param RegisterId * @param Value * * @return BOOLEAN */

Source from the content-addressed store, hash-verified

1000 * @return BOOLEAN
1001 */
1002BOOLEAN
1003SetRegValue(PGUEST_REGS GuestRegs, UINT32 RegisterId, UINT64 Value)
1004{
1005 BOOLEAN Result = TRUE;
1006
1007 switch (RegisterId)
1008 {
1009 case REGISTER_RAX:
1010 GuestRegs->rax = Value;
1011
1012 break;
1013
1014 case REGISTER_EAX:
1015 GuestRegs->rax = (GuestRegs->rax & UPPER_32_BITS) | (Value & LOWER_32_BITS);
1016
1017 break;
1018
1019 case REGISTER_AX:
1020 GuestRegs->rax = (GuestRegs->rax & UPPER_48_BITS) | (Value & LOWER_16_BITS);
1021
1022 break;
1023
1024 case REGISTER_AH:
1025 GuestRegs->rax = (GuestRegs->rax & UPPER_48_BITS_AND_LOWER_8_BITS) | ((Value << 8) & SECOND_LOWER_8_BITS);
1026
1027 break;
1028
1029 case REGISTER_AL:
1030 GuestRegs->rax = (GuestRegs->rax & UPPER_56_BITS) | (Value & LOWER_8_BITS);
1031
1032 break;
1033
1034 case REGISTER_RCX:
1035 GuestRegs->rcx = Value;
1036
1037 break;
1038 case REGISTER_ECX:
1039 GuestRegs->rcx = (GuestRegs->rcx & UPPER_32_BITS) | (Value & LOWER_32_BITS);
1040
1041 break;
1042
1043 case REGISTER_CX:
1044 GuestRegs->rcx = (GuestRegs->rcx & UPPER_48_BITS) | (Value & LOWER_16_BITS);
1045
1046 break;
1047
1048 case REGISTER_CH:
1049 GuestRegs->rcx = (GuestRegs->rcx & UPPER_48_BITS_AND_LOWER_8_BITS) | ((Value << 8) & SECOND_LOWER_8_BITS);
1050
1051 break;
1052
1053 case REGISTER_CL:
1054 GuestRegs->rcx = (GuestRegs->rcx & UPPER_56_BITS) | (Value & LOWER_8_BITS);
1055
1056 break;
1057 case REGISTER_RDX:
1058 GuestRegs->rdx = Value;
1059

Calls 15

SetGuestRSPFunction · 0.85
SetGuestDsSelFunction · 0.85
SetGuestEsSelFunction · 0.85
SetGuestFsSelFunction · 0.85
SetGuestGsSelFunction · 0.85
SetGuestCsSelFunction · 0.85
SetGuestSsSelFunction · 0.85
SetGuestRFlagsFunction · 0.85
GetGuestRFlagsFunction · 0.85
SetGuestRIPFunction · 0.85
GetGuestRIPFunction · 0.85
SetGuestIdtrFunction · 0.85

Tested by

no test coverage detected