- Introduced `seg043_boundary_repair.json` to manage function boundaries in segment 043. - Created `read_file.py` for reading and printing file content size. - Added `resolve_bb4f.py` to resolve specific function call targets. - Implemented `resolve_top_targets.py` to find resolved NE targets for top-called wrapper functions. - Added `script_contents.txt` to summarize NE relocation far calls. - Updated `tier4_ghidra.txt`, `tier4_ghidra_check.txt`, `tier4_output.txt`, and `tier4_result.txt` with function call statistics. - Created `tier5_errors.txt` for error logging and `tier5_output.txt` for additional function call statistics. - Established `tools` directory with helper scripts for the Ghidra project, including CLI and common functionalities. - Implemented command-line interface in `cli.py` for various project operations. - Added `common.py` for shared functions and configurations across tools. - Introduced `validate_fixups.py` to validate NE relocation fixups against known addresses.
11 lines
325 B
Python
11 lines
325 B
Python
from collections import Counter
|
|
c = Counter()
|
|
with open('ne_reloc_far_calls.tsv') as f:
|
|
next(f)
|
|
for line in f:
|
|
parts = line.strip().split('\t')
|
|
tgt = parts[1]
|
|
c[tgt] += 1
|
|
for i, (addr, cnt) in enumerate(c.most_common(100)):
|
|
if i >= 60 and i < 80:
|
|
print(f'{i+1:3d} {addr} {cnt}')
|