From 6e008bcd217734b04fd8dbd19238df43913b4dc4 Mon Sep 17 00:00:00 2001 From: dummys Date: Mon, 11 Nov 2019 12:43:45 +0100 Subject: [PATCH] error in parseAddress --- ApplySig.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ApplySig.py b/ApplySig.py index 30927d4..2ff638f 100644 --- a/ApplySig.py +++ b/ApplySig.py @@ -9,6 +9,7 @@ from __future__ import print_function from ghidra.framework.model import DomainFile from ghidra.program.model.symbol import SourceType + from ghidra.util import Msg from java.lang import IllegalArgumentException @@ -429,7 +430,7 @@ def parse_header(f): if version >= 8: pattern_size = read_u16le(f) - if version >= 9: + if version > 9: read_u16le(f) #unknow library_name = f.read(library_name_len) @@ -695,20 +696,19 @@ def get_function_end(funk): def funk_rename(addr, funk): global rename_cnt name = funk.name + if name != '?': - funk = getFunctionAt(parseAddress(hex(addr))) + funk = getFunctionAt(addr) funk.setName(name, SourceType.USER_DEFINED) rename_cnt += 1 return def apply_sig(flirt): funk = getFirstFunction() - #print(funk.entryPoint - #print(get_function_end(funk)) while funk is not None: - funk_start = int(funk.entryPoint.toString(), 16) + funk_start = funk.getEntryPoint() funk_end = get_function_end(funk) - funk_buf = getBytes(parseAddress(hex(funk_start)), funk_end - funk_start + 0x100) + funk_buf = getBytes(funk_start,funk_end - funk_start.getOffset() + 0x100) #print('%x - %x' % (funk_start, funk_end)) match_function(flirt, funk_buf, funk_start, funk_rename) funk = getFunctionAfter(funk) @@ -726,4 +726,4 @@ def apply_sig(flirt): print('Apply Signatures.....') apply_sig(flirt) print('[ %d / %d ]' % (rename_cnt, flirt.header.n_functions)) -print('Done!') \ No newline at end of file +print('Done!')