-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmodified_tv.py
More file actions
42 lines (33 loc) · 1.3 KB
/
modified_tv.py
File metadata and controls
42 lines (33 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
"""
Author: Ben Janis
Date: 2025
Desc: Generates update blobs for eCTF decoder.
This source file is part of an example system for MITRE's 2025 Embedded System CTF
(eCTF). This code is being provided only for educational purposes for the 2025 MITRE
eCTF competition, and may not meet MITRE standards for quality. Use this code at your
own risk!
Copyright: Copyright (c) 2025 The MITRE Corporation
"""
import argparse
from attack_utils import LimitedAttackTV
def main():
parser = argparse.ArgumentParser(
prog="ectf25.tv",
description="Run the TV, pulling frames from the satellite, decoding using"
" the Decoder, and printing to the terminal",
)
parser.add_argument("sat_host", help="TCP host of the satellite")
parser.add_argument("sat_port", type=int, help="TCP port of the satellite")
parser.add_argument(
"dec_port",
help="Serial port to the Decoder (see https://rules.ectf.mitre.org/2025/getting_started/boot_reference for platform-specific instructions)",
)
parser.add_argument(
"--baud", type=int, default=115200, help="Baud rate of the serial port"
)
args = parser.parse_args()
# run the TV
tv = LimitedAttackTV(args.sat_host, args.sat_port, args.dec_port, args.baud)
tv.run()
if __name__ == "__main__":
main()