Class: Relyze::ExecutableFileModel::Reference

Inherits:
Object
  • Object
show all
Defined in:
C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb

Instance Method Summary collapse

Instance Method Details

#control_flow?true, false

Check if this reference implies potential control flow from the owner block to the target block.

Returns:

  • (true, false)


1276
1277
1278
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1276

def control_flow?
    return false
end

#control_flow_conditionSymbol, NilClass

If this reference is for control flow, check if this control flow reference is based on a true, false or unconditional condition.

Returns:

  • (Symbol, NilClass)

    Either :true, :false, :unconditional or nil if no condition specified.



1284
1285
1286
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1284

def control_flow_condition
    return nil
end

#explicit?true, false

Check if this reference is an explicit reference. An example of an explicit reference is one which is defined explicitly in an Instruction encoding, such as an operand which points to a location in memory.

Returns:

  • (true, false)


1259
1260
1261
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1259

def explicit?
    return false
end

#implicit?true, false

Check if this reference is an implicit reference. An example of an implicit reference is one which has been defined through the result of analysis, such as jump table analysis.

Returns:

  • (true, false)


1268
1269
1270
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1268

def implicit?
    return false
end

#ownerRelyze::ExecutableFileModel::BasicBlock?

Get the owner block where this reference is from.

Returns:



1236
1237
1238
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1236

def owner
    return nil
end

#owner_rvaInteger

Get the RVA location where this reference is from in the owner block.

Returns:

  • (Integer)

    An RVA location in the owner block



1222
1223
1224
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1222

def owner_rva
    return nil
end

#stack?true, false

Check if this reference is to a block on a stack segment.

Returns:

  • (true, false)


1291
1292
1293
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1291

def stack?
    return false
end

#targetRelyze::ExecutableFileModel::BasicBlock?

Get the target block where this reference is to.

Returns:



1243
1244
1245
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1243

def target
    return nil
end

#target_rvaInteger

Get the RVA location where this reference is to in the target block.

Returns:

  • (Integer)

    An RVA location in the target block



1229
1230
1231
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1229

def target_rva
    return nil
end

#to_sString

Get a simple description of this reference.

Returns:

  • (String)

    This references description.



1250
1251
1252
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1250

def to_s
    return "Reference: %s -> %s" % [ ( owner ? owner.name( owner_rva ) : owner_rva.to_s(16) ), ( target ? target.name( target_rva ) : target_rva.to_s(16) ) ]
end
_parent">yard 0.9.20 (ruby-2.6.5).