示例#1
0
def extract_function_features(extractor, f):
    features = collections.defaultdict(set)
    for bb in extractor.get_basic_blocks(f):
        for insn in extractor.get_instructions(f, bb):
            for feature, va in extractor.extract_insn_features(f, bb, insn):
                features[feature].add(va)
        for feature, va in extractor.extract_basic_block_features(f, bb):
            features[feature].add(va)
    for feature, va in extractor.extract_function_features(f):
        features[feature].add(va)
    return features
示例#2
0
def get_basic_block(extractor, f, va):
    for bb in extractor.get_basic_blocks(f):
        if int(bb) == va:
            return bb
    raise ValueError("basic block not found")