Class: Relyze::ExecutableFileModel::Reference
- Inherits:
-
Object
- Object
- Relyze::ExecutableFileModel::Reference
- Defined in:
- C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb
Instance Method Summary collapse
-
#control_flow? ⇒ true, false
Check if this reference implies potential control flow from the owner block to the target block.
-
#control_flow_condition ⇒ Symbol, NilClass
If this reference is for control flow, check if this control flow reference is based on a true, false or unconditional condition.
-
#explicit? ⇒ true, false
Check if this reference is an explicit reference.
-
#implicit? ⇒ true, false
Check if this reference is an implicit reference.
-
#owner ⇒ Relyze::ExecutableFileModel::BasicBlock?
Get the owner block where this reference is from.
-
#owner_rva ⇒ Integer
Get the RVA location where this reference is from in the owner block.
-
#stack? ⇒ true, false
Check if this reference is to a block on a stack segment.
-
#target ⇒ Relyze::ExecutableFileModel::BasicBlock?
Get the target block where this reference is to.
-
#target_rva ⇒ Integer
Get the RVA location where this reference is to in the target block.
-
#to_s ⇒ String
Get a simple description of this reference.
Instance Method Details
#control_flow? ⇒ true, false
Check if this reference implies potential control flow from the owner block to the target block.
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_condition ⇒ Symbol, NilClass
If this reference is for control flow, check if this control flow reference is based on a true, false or unconditional condition.
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.
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.
1268 1269 1270 |
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1268 def implicit? return false end |
#owner ⇒ Relyze::ExecutableFileModel::BasicBlock?
Get the owner block where this reference is from.
1236 1237 1238 |
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1236 def owner return nil end |
#owner_rva ⇒ Integer
Get the RVA location where this reference is from 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.
1291 1292 1293 |
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1291 def stack? return false end |
#target ⇒ Relyze::ExecutableFileModel::BasicBlock?
Get the target block where this reference is to.
1243 1244 1245 |
# File 'C:/Program Files/Relyze/lib/relyze/core/executable_file_model.rb', line 1243 def target return nil end |
#target_rva ⇒ Integer
Get the RVA location where this reference is to 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_s ⇒ String
Get a simple description of this reference.
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 |