(concrete_target)
return concrete_target.execute_shellcode(read_fs0_x86, exfiltration_reg)
Injects small shellcode to leak the fs segment register address. In Windows x86 this address is pointed by gs:[0x18]
        :param concrete_target: ConcreteTarget which will be used to get the fs register address
        :return: fs register address
        :rtype string
Injects small shellcode to leak the fs segment register address. In Windows x86 this address is pointed by gs:[0x18]
        :param concrete_target: ConcreteTarget which will be used to get the fs register address
        :return: fs register address
        :rtype string
Injects small shellcode to leak the fs segment register address . In Windows x86 this address is pointed by gs : [ 0x18 ] : param concrete_target : ConcreteTarget which will be used to get the fs register address : return : fs register address : rtype string
def _read_fs_register_x86(concrete_target):
        '''
        Injects small shellcode to leak the fs segment register address. In Windows x86 this address is pointed by gs:[0x18]
        :param concrete_target: ConcreteTarget which will be used to get the fs register address
        :return: fs register address
        :rtype string
        '''
        exfiltration_reg = "eax"
        # instruction to inject for reading the value at segment value = offset
        read_fs0_x86 = b"\x64\xA1\x18\x00\x00\x00\x90\x90\x90\x90"  # mov eax, fs:[0x18]
        return concrete_target.execute_shellcode(read_fs0_x86, exfiltration_reg)
def _read_fs_register_x86 ( concrete_target ) : exfiltration_reg = "eax" # instruction to inject for reading the value at segment value = offset read_fs0_x86 = b"\x64\xA1\x18\x00\x00\x00\x90\x90\x90\x90" # mov eax, fs:[0x18] return concrete_target . execute_shellcode ( read_fs0_x86 , exfiltration_reg )