hw2 done
This commit is contained in:
30
upload.py
Executable file
30
upload.py
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env -S python3
|
||||
from pwn import *
|
||||
from struct import pack
|
||||
from tqdm import tqdm
|
||||
|
||||
if len(sys.argv) < 2:
|
||||
print("no args for serial device")
|
||||
exit()
|
||||
|
||||
while True:
|
||||
kernel = open("kernel8.img", "rb").read()
|
||||
r = serialtube(sys.argv[1], convert_newlines=False)
|
||||
|
||||
# send size
|
||||
sz = len(kernel)
|
||||
print("size:", sz)
|
||||
r.send(pack("<I", sz))
|
||||
print(r.recvuntil(b"$").decode())
|
||||
|
||||
# send kernel
|
||||
splitsize = 1000
|
||||
for i in tqdm(range(len(kernel) // splitsize), unit="KB"):
|
||||
r.send(kernel[i * splitsize : (i + 1) * splitsize])
|
||||
|
||||
r.send(kernel[len(kernel) // splitsize * splitsize:])
|
||||
|
||||
r.interactive()
|
||||
|
||||
r.send(b"reboot\n")
|
||||
sleep(1)
|
||||
Reference in New Issue
Block a user