diff options
| author | Ajax <commial@gmail.com> | 2017-07-21 17:26:01 +0200 |
|---|---|---|
| committer | Ajax <commial@gmail.com> | 2017-07-21 17:26:01 +0200 |
| commit | 5bad1c259075bb730da09942b1a6f5c4d3de6af2 (patch) | |
| tree | d75efbdbe695fc7443d12e402b75070735173b23 /miasm2/jitter/jitcore.py | |
| parent | 4dfca940e75ad8af65b69dd9bab9ff503141984b (diff) | |
| download | miasm-5bad1c259075bb730da09942b1a6f5c4d3de6af2.tar.gz miasm-5bad1c259075bb730da09942b1a6f5c4d3de6af2.zip | |
Jit: merge duplicate hash code
Diffstat (limited to 'miasm2/jitter/jitcore.py')
| -rw-r--r-- | miasm2/jitter/jitcore.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/miasm2/jitter/jitcore.py b/miasm2/jitter/jitcore.py index 6c4d197e..cc49240c 100644 --- a/miasm2/jitter/jitcore.py +++ b/miasm2/jitter/jitcore.py @@ -15,6 +15,8 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # +from hashlib import md5 + from miasm2.core import asmblock from miasm2.core.interval import interval from miasm2.core.utils import BoundedDict @@ -267,3 +269,15 @@ class JitCore(object): for addr_start, addr_stop in vm.get_memory_write(): mem_range.append((addr_start, addr_stop)) self.updt_automod_code_range(vm, mem_range) + + def hash_block(self, block): + """ + Build a hash of the block @block + @block: asmblock + """ + block_raw = "".join(line.b for line in block.lines) + block_hash = md5("%X_%s_%s_%s" % (block.label.offset, + self.log_mn, + self.log_regs, + block_raw)).hexdigest() + return block_hash |