MCPcopy Create free account
hub / github.com/bytedance/android-inline-hook / main

Function main

tools/record_parser.py:339–372  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

337
338
339def main():
340 parser = argparse.ArgumentParser(description='shadowhook record parser.')
341 parser.add_argument('-m', '--more-info', action='store_true', help='show more info')
342 parser.add_argument('-f', '--item-flags', default='111111111111', required=False, help='record item flags')
343 parser.add_argument('-i', '--input-file', default='./input.txt', required=False, help='record file')
344 parser.add_argument('-l', '--input-line', default='', required=False, help='record line')
345 args = parser.parse_args()
346
347 global g_more_info
348 if args.more_info: g_more_info = True
349
350 if len(args.item_flags) != len(ItemInfos):
351 raise ValueError(f"The item-flags must be {len(ItemInfos)} characters long")
352 if set(args.item_flags) > {'0', '1'}:
353 raise ValueError(f"The item-flags can only contain 0 and 1.")
354 if args.item_flags[ITEM_OP_IDX] != '1':
355 raise ValueError(f"The OP flag in item-flags must be 1.")
356
357 if len(args.input_line) > 0:
358 parse_line(args.input_line, args.item_flags)
359 else:
360 with open(args.input_file, 'r') as f:
361 i = 1
362 for line in f:
363 idx = line.find(LOGCAT_TAG)
364 if idx > 0:
365 line = line[idx + len(LOGCAT_TAG):]
366 line = line.strip()
367 if len(line) > 0:
368 print(f"\n# record {i}\n----------------------------------------------------------------------")
369 i += 1
370 parse_line(line, args.item_flags)
371
372 print('\n** END **')
373
374
375if __name__ == '__main__':

Callers 1

record_parser.pyFile · 0.70

Calls 1

parse_lineFunction · 0.85

Tested by

no test coverage detected