From 1169dbfcb0cbb3e5473820de77c9636c5b3903e9 Mon Sep 17 00:00:00 2001 From: Fangfei Yang Date: Mon, 19 Jul 2021 01:39:55 -0500 Subject: [PATCH] Add: scripts to scan ghidra generated source --- script/extract_funcs.sh | 2 ++ script/getfuncs.py | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100755 script/extract_funcs.sh create mode 100755 script/getfuncs.py diff --git a/script/extract_funcs.sh b/script/extract_funcs.sh new file mode 100755 index 0000000..9b5c146 --- /dev/null +++ b/script/extract_funcs.sh @@ -0,0 +1,2 @@ +ctags --fields=+ne -o - --sort=no ../blobs/bl602_demo_wifi.ghidra.c | sed -r 's/([^\t]+).*line:([0-9]+).*end:([0-9]+)/\1 \2 \3/' + \ No newline at end of file diff --git a/script/getfuncs.py b/script/getfuncs.py new file mode 100755 index 0000000..74ecdd7 --- /dev/null +++ b/script/getfuncs.py @@ -0,0 +1,23 @@ +#!/usr/bin/env python3 +import sys +src = open('../blobs/bl602_demo_wifi.ghidra.c').readlines() + +feature = 'DAT_44c0' +if len(sys.argv) == 2: + feature = sys.argv[1] + +outs = [] +for i in sys.stdin.readlines(): + fname, begin, end = i.strip().split(' ') + begin = int(begin) - 1 + end = int(end) + slocal = src[begin:end] + found = False + for i in slocal: + if i.find(feature) != -1: + found = True + break + if found: + outs.extend(slocal) + +print(''.join(outs)) \ No newline at end of file