Package IDAscope :: Package idascope :: Package core :: Package structures :: Module CryptoSignatureHit
[hide private]
[frames] | no frames]

Source Code for Module IDAscope.idascope.core.structures.CryptoSignatureHit

 1  #!/usr/bin/python 
 2  ######################################################################## 
 3  # Copyright (c) 2012 
 4  # Daniel Plohmann <daniel.plohmann<at>gmail<dot>com> 
 5  # Alexander Hanel <alexander.hanel<at>gmail<dot>com> 
 6  # All rights reserved. 
 7  ######################################################################## 
 8  # 
 9  #  This file is part of IDAscope 
10  # 
11  #  IDAscope is free software: you can redistribute it and/or modify it 
12  #  under the terms of the GNU General Public License as published by 
13  #  the Free Software Foundation, either version 3 of the License, or 
14  #  (at your option) any later version. 
15  # 
16  #  This program is distributed in the hope that it will be useful, but 
17  #  WITHOUT ANY WARRANTY; without even the implied warranty of 
18  #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
19  #  General Public License for more details. 
20  # 
21  #  You should have received a copy of the GNU General Public License 
22  #  along with this program.  If not, see 
23  #  <http://www.gnu.org/licenses/>. 
24  # 
25  ######################################################################## 
26   
27 -class CryptoSignatureHit():
28 """ 29 This class is an information container for a signature match as generated by I{CryptoIdentifier}. 30 """ 31
32 - def __init__(self, start_address, names, match):
33 self.start_address = start_address 34 self.signature_names = names 35 self.matched_signature = match 36 # code refs are tuples (int, boolean) 37 # int designates the src of the ref 38 # boolean designates if it is an in-code reference, e.g. within a mov/push instruction or similar 39 self.code_refs_to = []
40
41 - def __str__(self):
42 """ 43 Convenience function. 44 @return: a nice string representation for this object 45 """ 46 return "0x%x (%d): %s" % (self.start_address, len(self.matched_signature), ", ".join(self.signature_names))
47
48 - def __lt__(self, other):
49 """ 50 Convenience function for ordering. 51 @param other: another I{CryptoSignatureHit} 52 @type other: I{CryptoSignatureHit} 53 @return: less if start addres is less than of the other 54 """ 55 return self.start_address < other.start_address
56