ApiScout.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:apiscout 作者: danielplohmann 项目源码 文件源码
def filter(self, result, from_addr, to_addr, distance):
        filtered_result = {}
        for key in result:
            filtered_list = result[key]
            if from_addr:
                filtered_list = [item for item in filtered_list if self.base_address + item[0] >= from_addr]
            if to_addr:
                filtered_list = [item for item in filtered_list if self.base_address + item[0] <= to_addr]
            if distance:
                if len(filtered_list) < 2:
                    filtered_list = []
                else:
                    offsets_a = [item[0] for item in filtered_list]
                    offsets_b = offsets_a[1:] + [0]
                    api_distances = list(map(operator.sub, offsets_b, offsets_a))
                    distance_filtered = []
                    for index, api_distance in enumerate(api_distances[:-1]):
                        if api_distance <= distance:
                            if filtered_list[index] not in distance_filtered:
                                distance_filtered.append(filtered_list[index])
                            if filtered_list[index + 1] not in distance_filtered:
                                distance_filtered.append(filtered_list[index + 1])
                    filtered_list = distance_filtered
            filtered_result[key] = filtered_list
        return filtered_result
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号