(concrete_target)
return concrete_target.execute_shellcode(read_gs0_x64, exfiltration_reg)
Injects a small shellcode to leak the gs segment register address. In Linux x86 this address is pointed by gs[0]
        :param concrete_target: ConcreteTarget which will be used to get the gs register address
        :return: gs register address
        :rtype :str
Injects a small shellcode to leak the gs segment register address. In Linux x86 this address is pointed by gs[0]
        :param concrete_target: ConcreteTarget which will be used to get the gs register address
        :return: gs register address
        :rtype :str
Injects a small shellcode to leak the gs segment register address . In Linux x86 this address is pointed by gs [ 0 ] : param concrete_target : ConcreteTarget which will be used to get the gs register address : return : gs register address : rtype : str
def _read_gs_register_x86(concrete_target):
        '''
        Injects a small shellcode to leak the gs segment register address. In Linux x86 this address is pointed by gs[0]
        :param concrete_target: ConcreteTarget which will be used to get the gs register address
        :return: gs register address
        :rtype :str
        '''
        # register used to read the value of the segment register
        exfiltration_reg = "eax"
        # instruction to inject for reading the value at segment value = offset
        read_gs0_x64 = b"\x65\xA1\x00\x00\x00\x00\x90\x90\x90\x90"  # mov eax, gs:[0]
        return concrete_target.execute_shellcode(read_gs0_x64, exfiltration_reg)
def _read_gs_register_x86 ( concrete_target ) : # register used to read the value of the segment register exfiltration_reg = "eax" # instruction to inject for reading the value at segment value = offset read_gs0_x64 = b"\x65\xA1\x00\x00\x00\x00\x90\x90\x90\x90" # mov eax, gs:[0] return concrete_target . execute_shellcode ( read_gs0_x64 , exfiltration_reg )