(concrete_target)
return concrete_target.execute_shellcode(read_gs0_x64, exfiltration_reg)
Injects small shellcode to leak the gs segment register address. In Windows x64 this address is pointed by gs:[0x30]
        :param concrete_target: ConcreteTarget which will be used to get the fs register address
        :return: gs register address
        :rtype string
Injects small shellcode to leak the gs segment register address. In Windows x64 this address is pointed by gs:[0x30]
        :param concrete_target: ConcreteTarget which will be used to get the fs register address
        :return: gs register address
        :rtype string
Injects small shellcode to leak the gs segment register address . In Windows x64 this address is pointed by gs : [ 0x30 ] : param concrete_target : ConcreteTarget which will be used to get the fs register address : return : gs register address : rtype string
def _read_gs_register_x64(concrete_target):
        '''
        Injects small shellcode to leak the gs segment register address. In Windows x64 this address is pointed by gs:[0x30]
        :param concrete_target: ConcreteTarget which will be used to get the fs register address
        :return: gs register address
        :rtype string
        '''
        exfiltration_reg = "rax"
        # instruction to inject for reading the value at segment value = offset
        read_gs0_x64 = b"\x65\x48\x8B\x04\x25\x30\x00\x00\x00\x90\x90\x90\x90"  # mov rax, gs:[0x30]
        return concrete_target.execute_shellcode(read_gs0_x64, exfiltration_reg)
def _read_gs_register_x64 ( concrete_target ) : exfiltration_reg = "rax" # instruction to inject for reading the value at segment value = offset read_gs0_x64 = b"\x65\x48\x8B\x04\x25\x30\x00\x00\x00\x90\x90\x90\x90" # mov rax, gs:[0x30] return concrete_target . execute_shellcode ( read_gs0_x64 , exfiltration_reg )